diff options
Diffstat (limited to 'common/quicktime_win32/MacHelp.h')
| -rw-r--r-- | common/quicktime_win32/MacHelp.h | 911 |
1 files changed, 911 insertions, 0 deletions
diff --git a/common/quicktime_win32/MacHelp.h b/common/quicktime_win32/MacHelp.h new file mode 100644 index 0000000..e20cc6b --- /dev/null +++ b/common/quicktime_win32/MacHelp.h @@ -0,0 +1,911 @@ +/* + 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__ + +#ifndef __BALLOONS__ +#include <Balloons.h> +#endif + +#ifndef __CONTROLS__ +#include <Controls.h> +#endif + +#ifndef __DIALOGS__ +#include <Dialogs.h> +#endif + +#ifndef __EVENTS__ +#include <Events.h> +#endif + +#ifndef __MACWINDOWS__ +#include <MacWindows.h> +#endif + +#ifndef __MENUS__ +#include <Menus.h> +#endif + + + + +#if PRAGMA_ONCE +#pragma once +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_IMPORT +#pragma import on +#endif + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=mac68k +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 2) +#elif PRAGMA_STRUCT_PACK + #pragma pack(2) +#endif + +/*----------------------------------------------------------------------------------*/ +/* 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); +#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 +#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); +#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 +#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); +#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 +#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); +#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 +#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); +#if !OPAQUE_UPP_TYPES + #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); +#if !OPAQUE_UPP_TYPES + #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); +#if !OPAQUE_UPP_TYPES + #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); +#if !OPAQUE_UPP_TYPES + #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); +#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 +#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); +#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 +#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); +#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 +#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); +#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 +#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) +#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); + + + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=reset +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(pop) +#elif PRAGMA_STRUCT_PACK + #pragma pack() +#endif + +#ifdef PRAGMA_IMPORT_OFF +#pragma import off +#elif PRAGMA_IMPORT +#pragma import reset +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __MACHELP__ */ + |