/* File: Drag.h Contains: Drag and Drop Interfaces. Version: Technology: Mac OS 9 Release: QuickTime 6.0.2 Copyright: (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__ #ifndef __MACTYPES__ #include #endif #ifndef __EVENTS__ #include #endif #ifndef __FILES__ #include #endif #ifndef __APPLEEVENTS__ #include #endif #ifndef __QUICKDRAW__ #include #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 /* _________________________________________________________________________________________________________ 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*/ }; /* _________________________________________________________________________________________________________ o SPECIAL FLAVORS _________________________________________________________________________________________________________ */ enum { flavorTypeHFS = FOUR_CHAR_CODE('hfs '), /* flavor type for HFS data*/ flavorTypePromiseHFS = FOUR_CHAR_CODE('phfs'), /* flavor type for promised HFS data*/ 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*/ 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 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; #if OPAQUE_UPP_TYPES EXTERN_API(DragTrackingHandlerUPP) NewDragTrackingHandlerUPP (DragTrackingHandlerProcPtr userRoutine); EXTERN_API(DragReceiveHandlerUPP) NewDragReceiveHandlerUPP (DragReceiveHandlerProcPtr userRoutine); EXTERN_API(void) DisposeDragTrackingHandlerUPP (DragTrackingHandlerUPP userUPP); EXTERN_API(void) DisposeDragReceiveHandlerUPP (DragReceiveHandlerUPP userUPP); EXTERN_API(OSErr) InvokeDragTrackingHandlerUPP (DragTrackingMessage message, WindowRef theWindow, void * handlerRefCon, DragRef theDrag, DragTrackingHandlerUPP userUPP); EXTERN_API(OSErr) InvokeDragReceiveHandlerUPP (WindowRef theWindow, void * handlerRefCon, DragRef theDrag, DragReceiveHandlerUPP userUPP); #else enum { uppDragTrackingHandlerProcInfo = 0x00003FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */ enum { uppDragReceiveHandlerProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */ #define NewDragTrackingHandlerUPP(userRoutine) (DragTrackingHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragTrackingHandlerProcInfo, GetCurrentArchitecture()) #define NewDragReceiveHandlerUPP(userRoutine) (DragReceiveHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragReceiveHandlerProcInfo, GetCurrentArchitecture()) #define DisposeDragTrackingHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP) #define DisposeDragReceiveHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP) #define InvokeDragTrackingHandlerUPP(message, theWindow, handlerRefCon, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragTrackingHandlerProcInfo, (message), (theWindow), (handlerRefCon), (theDrag)) #define InvokeDragReceiveHandlerUPP(theWindow, handlerRefCon, theDrag, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppDragReceiveHandlerProcInfo, (theWindow), (handlerRefCon), (theDrag)) #endif /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */ #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) /* _________________________________________________________________________________________________________ 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; #if OPAQUE_UPP_TYPES EXTERN_API(DragSendDataUPP) NewDragSendDataUPP (DragSendDataProcPtr userRoutine); EXTERN_API(DragInputUPP) NewDragInputUPP (DragInputProcPtr userRoutine); EXTERN_API(DragDrawingUPP) NewDragDrawingUPP (DragDrawingProcPtr userRoutine); EXTERN_API(void) DisposeDragSendDataUPP (DragSendDataUPP userUPP); EXTERN_API(void) DisposeDragInputUPP (DragInputUPP userUPP); EXTERN_API(void) DisposeDragDrawingUPP (DragDrawingUPP userUPP); EXTERN_API(OSErr) InvokeDragSendDataUPP (FlavorType theType, void * dragSendRefCon, DragItemRef theItemRef, DragRef theDrag, DragSendDataUPP userUPP); EXTERN_API(OSErr) InvokeDragInputUPP (Point * mouse, SInt16 * modifiers, void * dragInputRefCon, DragRef theDrag, DragInputUPP userUPP); EXTERN_API(OSErr) InvokeDragDrawingUPP (DragRegionMessage message, RgnHandle showRegion, Point showOrigin, RgnHandle hideRegion, Point hideOrigin, void * dragDrawingRefCon, DragRef theDrag, DragDrawingUPP userUPP); #else enum { uppDragSendDataProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ enum { uppDragInputProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ enum { uppDragDrawingProcInfo = 0x000FFFA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */ #define NewDragSendDataUPP(userRoutine) (DragSendDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragSendDataProcInfo, GetCurrentArchitecture()) #define NewDragInputUPP(userRoutine) (DragInputUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragInputProcInfo, GetCurrentArchitecture()) #define NewDragDrawingUPP(userRoutine) (DragDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragDrawingProcInfo, GetCurrentArchitecture()) #define DisposeDragSendDataUPP(userUPP) DisposeRoutineDescriptor(userUPP) #define DisposeDragInputUPP(userUPP) DisposeRoutineDescriptor(userUPP) #define DisposeDragDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP) #define InvokeDragSendDataUPP(theType, dragSendRefCon, theItemRef, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragSendDataProcInfo, (theType), (dragSendRefCon), (theItemRef), (theDrag)) #define InvokeDragInputUPP(mouse, modifiers, dragInputRefCon, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragInputProcInfo, (mouse), (modifiers), (dragInputRefCon), (theDrag)) #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 /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */ #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) /* _________________________________________________________________________________________________________ o INSTALLING AND REMOVING HANDLERS API'S _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) InstallTrackingHandler (DragTrackingHandlerUPP trackingHandler, WindowRef theWindow, void * handlerRefCon) TWOWORDINLINE(0x7001, 0xABED); EXTERN_API( OSErr ) InstallReceiveHandler (DragReceiveHandlerUPP receiveHandler, WindowRef theWindow, void * handlerRefCon) TWOWORDINLINE(0x7002, 0xABED); EXTERN_API( OSErr ) RemoveTrackingHandler (DragTrackingHandlerUPP trackingHandler, WindowRef theWindow) TWOWORDINLINE(0x7003, 0xABED); EXTERN_API( OSErr ) RemoveReceiveHandler (DragReceiveHandlerUPP receiveHandler, WindowRef theWindow) TWOWORDINLINE(0x7004, 0xABED); /* _________________________________________________________________________________________________________ o CREATING & DISPOSING _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) NewDrag (DragRef * theDrag) TWOWORDINLINE(0x7005, 0xABED); EXTERN_API( OSErr ) DisposeDrag (DragRef theDrag) TWOWORDINLINE(0x7006, 0xABED); /* _________________________________________________________________________________________________________ o ADDING DRAG ITEM FLAVORS _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) AddDragItemFlavor (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, const void * dataPtr, Size dataSize, FlavorFlags theFlags) TWOWORDINLINE(0x7007, 0xABED); EXTERN_API( OSErr ) SetDragItemFlavorData (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, const void * dataPtr, Size dataSize, UInt32 dataOffset) TWOWORDINLINE(0x7009, 0xABED); /* _________________________________________________________________________________________________________ o PROVIDING CALLBACK PROCEDURES _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) SetDragSendProc (DragRef theDrag, DragSendDataUPP sendProc, void * dragSendRefCon) TWOWORDINLINE(0x700A, 0xABED); EXTERN_API( OSErr ) SetDragInputProc (DragRef theDrag, DragInputUPP inputProc, void * dragInputRefCon) TWOWORDINLINE(0x700B, 0xABED); EXTERN_API( OSErr ) SetDragDrawingProc (DragRef theDrag, DragDrawingUPP drawingProc, void * dragDrawingRefCon) TWOWORDINLINE(0x700C, 0xABED); /* _________________________________________________________________________________________________________ o SETTING THE DRAG IMAGE _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) SetDragImage (DragRef theDrag, PixMapHandle imagePixMap, RgnHandle imageRgn, Point imageOffsetPt, DragImageFlags theImageFlags) TWOWORDINLINE(0x7027, 0xABED); /* _________________________________________________________________________________________________________ o ALTERING THE BEHAVIOR OF A DRAG _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) ChangeDragBehaviors (DragRef theDrag, DragBehaviors inBehaviorsToSet, DragBehaviors inBehaviorsToClear) TWOWORDINLINE(0x7028, 0xABED); /* _________________________________________________________________________________________________________ o PERFORMING A DRAG _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) TrackDrag (DragRef theDrag, const EventRecord * theEvent, RgnHandle theRegion) TWOWORDINLINE(0x700D, 0xABED); /* _________________________________________________________________________________________________________ o GETTING DRAG ITEM INFORMATION _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) CountDragItems (DragRef theDrag, UInt16 * numItems) TWOWORDINLINE(0x700E, 0xABED); EXTERN_API( OSErr ) GetDragItemReferenceNumber (DragRef theDrag, UInt16 index, DragItemRef * theItemRef) TWOWORDINLINE(0x700F, 0xABED); EXTERN_API( OSErr ) CountDragItemFlavors (DragRef theDrag, DragItemRef theItemRef, UInt16 * numFlavors) TWOWORDINLINE(0x7010, 0xABED); EXTERN_API( OSErr ) GetFlavorType (DragRef theDrag, DragItemRef theItemRef, UInt16 index, FlavorType * theType) TWOWORDINLINE(0x7011, 0xABED); EXTERN_API( OSErr ) GetFlavorFlags (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, FlavorFlags * theFlags) TWOWORDINLINE(0x7012, 0xABED); EXTERN_API( OSErr ) GetFlavorDataSize (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, Size * dataSize) TWOWORDINLINE(0x7013, 0xABED); EXTERN_API( OSErr ) GetFlavorData (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, void * dataPtr, Size * dataSize, UInt32 dataOffset) TWOWORDINLINE(0x7014, 0xABED); /* _________________________________________________________________________________________________________ o DRAG ITEM BOUNDS _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) GetDragItemBounds (DragRef theDrag, DragItemRef theItemRef, Rect * itemBounds) TWOWORDINLINE(0x7015, 0xABED); EXTERN_API( OSErr ) SetDragItemBounds (DragRef theDrag, DragItemRef theItemRef, const Rect * itemBounds) TWOWORDINLINE(0x7016, 0xABED); /* _________________________________________________________________________________________________________ o DROP LOCATIONS _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) GetDropLocation (DragRef theDrag, AEDesc * dropLocation) TWOWORDINLINE(0x7017, 0xABED); EXTERN_API( OSErr ) SetDropLocation (DragRef theDrag, const AEDesc * dropLocation) TWOWORDINLINE(0x7018, 0xABED); /* _________________________________________________________________________________________________________ o GETTING INFORMATION ABOUT A DRAG _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) GetDragAttributes (DragRef theDrag, DragAttributes * flags) TWOWORDINLINE(0x7019, 0xABED); EXTERN_API( OSErr ) GetDragMouse (DragRef theDrag, Point * mouse, Point * globalPinnedMouse) TWOWORDINLINE(0x701A, 0xABED); EXTERN_API( OSErr ) SetDragMouse (DragRef theDrag, Point globalPinnedMouse) TWOWORDINLINE(0x701B, 0xABED); EXTERN_API( OSErr ) GetDragOrigin (DragRef theDrag, Point * globalInitialMouse) TWOWORDINLINE(0x701C, 0xABED); EXTERN_API( OSErr ) GetDragModifiers (DragRef theDrag, SInt16 * modifiers, SInt16 * mouseDownModifiers, SInt16 * mouseUpModifiers) TWOWORDINLINE(0x701D, 0xABED); /* _________________________________________________________________________________________________________ o DRAG HIGHLIGHTING _________________________________________________________________________________________________________ */ EXTERN_API( OSErr ) ShowDragHilite (DragRef theDrag, RgnHandle hiliteFrame, Boolean inside) TWOWORDINLINE(0x701E, 0xABED); EXTERN_API( OSErr ) HideDragHilite (DragRef theDrag) TWOWORDINLINE(0x701F, 0xABED); EXTERN_API( OSErr ) DragPreScroll (DragRef theDrag, SInt16 dH, SInt16 dV) TWOWORDINLINE(0x7020, 0xABED); EXTERN_API( OSErr ) DragPostScroll (DragRef theDrag) TWOWORDINLINE(0x7021, 0xABED); EXTERN_API( OSErr ) UpdateDragHilite (DragRef theDrag, RgnHandle updateRgn) TWOWORDINLINE(0x7022, 0xABED); EXTERN_API( OSErr ) GetDragHiliteColor (WindowRef window, RGBColor * color) TWOWORDINLINE(0x7026, 0xABED); /* _________________________________________________________________________________________________________ o UTILITIES _________________________________________________________________________________________________________ */ EXTERN_API( Boolean ) WaitMouseMoved (Point initialMouse) TWOWORDINLINE(0x7023, 0xABED); EXTERN_API( OSErr ) ZoomRects (const Rect * fromRect, const Rect * toRect, SInt16 zoomSteps, ZoomAcceleration acceleration) TWOWORDINLINE(0x7024, 0xABED); 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)*/ }; #endif /* OLDROUTINENAMES */ #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 /* __DRAG__ */