diff options
Diffstat (limited to 'common/quicktime_win32/Balloons.h')
| -rw-r--r-- | common/quicktime_win32/Balloons.h | 593 |
1 files changed, 593 insertions, 0 deletions
diff --git a/common/quicktime_win32/Balloons.h b/common/quicktime_win32/Balloons.h new file mode 100644 index 0000000..3d25197 --- /dev/null +++ b/common/quicktime_win32/Balloons.h @@ -0,0 +1,593 @@ +/* + 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__ + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __MACERRORS__ +#include <MacErrors.h> +#endif + +#ifndef __QUICKDRAW__ +#include <Quickdraw.h> +#endif + +#ifndef __MENUS__ +#include <Menus.h> +#endif + +#ifndef __TEXTEDIT__ +#include <TextEdit.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 + +/* + 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 +}; + +#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; +#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); +#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 +#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); +#if !OPAQUE_UPP_TYPES + #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); +#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 +#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) +#endif /* CALL_NOT_IN_CARBON */ + +/* 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); + + +#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); + + +#endif /* CALL_NOT_IN_CARBON */ + + + + + +#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 /* __BALLOONS__ */ + |