|
Mac OS 9
|
Drag and Drop Interfaces. More...
#include <MacTypes.h>#include <Events.h>#include <Files.h>#include <AppleEvents.h>#include <Quickdraw.h>Go to the source code of this file.
Data Structures | |
| struct | HFSFlavor |
| struct | PromiseHFSFlavor |
Macros | |
| #define | NewDragTrackingHandlerUPP(userRoutine) |
| #define | NewDragReceiveHandlerUPP(userRoutine) |
| #define | DisposeDragTrackingHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
| #define | DisposeDragReceiveHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
| #define | InvokeDragTrackingHandlerUPP(message, theWindow, handlerRefCon, theDrag, userUPP) |
| #define | InvokeDragReceiveHandlerUPP(theWindow, handlerRefCon, theDrag, userUPP) |
| #define | NewDragTrackingHandlerProc(userRoutine) NewDragTrackingHandlerUPP(userRoutine) |
| #define | NewDragReceiveHandlerProc(userRoutine) NewDragReceiveHandlerUPP(userRoutine) |
| #define | CallDragTrackingHandlerProc(userRoutine, message, theWindow, handlerRefCon, theDrag) |
| #define | CallDragReceiveHandlerProc(userRoutine, theWindow, handlerRefCon, theDrag) InvokeDragReceiveHandlerUPP(theWindow, handlerRefCon, theDrag, userRoutine) |
| #define | NewDragSendDataUPP(userRoutine) |
| #define | NewDragInputUPP(userRoutine) |
| #define | NewDragDrawingUPP(userRoutine) |
| #define | DisposeDragSendDataUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
| #define | DisposeDragInputUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
| #define | DisposeDragDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
| #define | InvokeDragSendDataUPP(theType, dragSendRefCon, theItemRef, theDrag, userUPP) |
| #define | InvokeDragInputUPP(mouse, modifiers, dragInputRefCon, theDrag, userUPP) |
| #define | InvokeDragDrawingUPP(message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag, userUPP) |
| #define | NewDragSendDataProc(userRoutine) NewDragSendDataUPP(userRoutine) |
| #define | NewDragInputProc(userRoutine) NewDragInputUPP(userRoutine) |
| #define | NewDragDrawingProc(userRoutine) NewDragDrawingUPP(userRoutine) |
| #define | CallDragSendDataProc(userRoutine, theType, dragSendRefCon, theItemRef, theDrag) |
| #define | CallDragInputProc(userRoutine, mouse, modifiers, dragInputRefCon, theDrag) InvokeDragInputUPP(mouse, modifiers, dragInputRefCon, theDrag, userRoutine) |
| #define | CallDragDrawingProc(userRoutine, message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag) |
Typedefs | |
| typedef struct OpaqueDragRef * | DragRef |
| typedef UInt32 | DragItemRef |
| typedef OSType | FlavorType |
| typedef UInt32 | DragAttributes |
| typedef UInt32 | DragBehaviors |
| typedef UInt32 | DragImageFlags |
| typedef SInt16 | DragRegionMessage |
| typedef SInt16 | ZoomAcceleration |
| typedef UInt32 | FlavorFlags |
| typedef SInt16 | DragTrackingMessage |
| typedef UInt32 | DragActions |
| typedef struct HFSFlavor | HFSFlavor |
| typedef struct PromiseHFSFlavor | PromiseHFSFlavor |
| typedef WindowRef | theWindow |
| typedef WindowRef void * | handlerRefCon |
| typedef WindowRef void DragRef | theDrag |
| typedef void * | dragSendRefCon |
| typedef void DragItemRef | theItemRef |
| typedef SInt16 * | modifiers |
| typedef SInt16 void * | dragInputRefCon |
| typedef RgnHandle | showRegion |
| typedef RgnHandle Point | showOrigin |
| typedef RgnHandle Point RgnHandle | hideRegion |
| typedef RgnHandle Point RgnHandle Point | hideOrigin |
| typedef RgnHandle Point RgnHandle Point void * | dragDrawingRefCon |
| typedef DragRef | DragReference |
| typedef DragItemRef | ItemReference |
Enumerations | |
| enum | { kDragHasLeftSenderWindow , kDragInsideSenderApplication , kDragInsideSenderWindow } |
| enum | { kDragBehaviorNone = 0 , kDragBehaviorZoomBackAnimation } |
| enum | { kDragRegionAndImage = (1L << 4) } |
| enum | { kDragStandardTranslucency = 0L , kDragDarkTranslucency = 1L , kDragDarkerTranslucency = 2L , kDragOpaqueTranslucency = 3L } |
| enum | { kDragRegionBegin = 1 , kDragRegionDraw = 2 , kDragRegionHide = 3 , kDragRegionIdle = 4 , kDragRegionEnd = 5 } |
| enum | { kZoomNoAcceleration = 0 , kZoomAccelerate = 1 , kZoomDecelerate = 2 } |
| enum | { flavorSenderOnly = (1 << 0) , flavorSenderTranslated = (1 << 1) , flavorNotSaved = (1 << 2) , flavorSystemTranslated = (1 << 8) , flavorDataPromised = (1 << 9) } |
| enum | { kDragFlavorTypeHFS = FOUR_CHAR_CODE('hfs ') , kDragFlavorTypePromiseHFS , flavorTypeHFS = kDragFlavorTypeHFS , flavorTypePromiseHFS = kDragFlavorTypePromiseHFS } |
| enum | { kDragPromisedFlavorFindFile , kDragPromisedFlavor } |
| enum | { kDragPseudoCreatorVolumeOrDirectory , kDragPseudoFileTypeVolume , kDragPseudoFileTypeDirectory } |
| enum | { flavorTypeDirectory } |
| enum | { kFlavorTypeClippingName , kFlavorTypeClippingFilename , kFlavorTypeDragToTrashOnly , kFlavorTypeFinderNoTrackingBehavior } |
| enum | { kDragTrackingEnterHandler = 1 , kDragTrackingEnterWindow = 2 , kDragTrackingInWindow = 3 , kDragTrackingLeaveWindow = 4 , kDragTrackingLeaveHandler = 5 } |
| enum | { kDragActionNothing = 0L , kDragActionCopy = 1L , kDragActionAlias = (1L << 1) , kDragActionGeneric = (1L << 2) , kDragActionPrivate = (1L << 3) , kDragActionMove = (1L << 4) , kDragActionDelete = (1L << 5) , kDragActionAll = (long)0xFFFFFFFF } |
| enum | { uppDragTrackingHandlerProcInfo = 0x00003FA0 } |
| enum | { uppDragReceiveHandlerProcInfo = 0x00000FE0 } |
| enum | { uppDragSendDataProcInfo = 0x00003FE0 } |
| enum | { uppDragInputProcInfo = 0x00003FE0 } |
| enum | { uppDragDrawingProcInfo = 0x000FFFA0 } |
Functions | |
| typedef | CALLBACK_API (OSErr, DragTrackingHandlerProcPtr)(DragTrackingMessage message |
| typedef | CALLBACK_API (OSErr, DragReceiveHandlerProcPtr)(WindowRef theWindow |
| typedef | STACK_UPP_TYPE (DragTrackingHandlerProcPtr) DragTrackingHandlerUPP |
| typedef | STACK_UPP_TYPE (DragReceiveHandlerProcPtr) DragReceiveHandlerUPP |
| DragTrackingHandlerUPP | NewDragTrackingHandlerUPP (DragTrackingHandlerProcPtr userRoutine) |
| DragReceiveHandlerUPP | NewDragReceiveHandlerUPP (DragReceiveHandlerProcPtr userRoutine) |
| void | DisposeDragTrackingHandlerUPP (DragTrackingHandlerUPP userUPP) |
| void | DisposeDragReceiveHandlerUPP (DragReceiveHandlerUPP userUPP) |
| OSErr | InvokeDragTrackingHandlerUPP (DragTrackingMessage message, WindowRef theWindow, void *handlerRefCon, DragRef theDrag, DragTrackingHandlerUPP userUPP) |
| OSErr | InvokeDragReceiveHandlerUPP (WindowRef theWindow, void *handlerRefCon, DragRef theDrag, DragReceiveHandlerUPP userUPP) |
| typedef | CALLBACK_API (OSErr, DragSendDataProcPtr)(FlavorType theType |
| typedef | CALLBACK_API (OSErr, DragInputProcPtr)(Point *mouse |
| typedef | CALLBACK_API (OSErr, DragDrawingProcPtr)(DragRegionMessage message |
| typedef | STACK_UPP_TYPE (DragSendDataProcPtr) DragSendDataUPP |
| typedef | STACK_UPP_TYPE (DragInputProcPtr) DragInputUPP |
| typedef | STACK_UPP_TYPE (DragDrawingProcPtr) DragDrawingUPP |
| DragSendDataUPP | NewDragSendDataUPP (DragSendDataProcPtr userRoutine) |
| DragInputUPP | NewDragInputUPP (DragInputProcPtr userRoutine) |
| DragDrawingUPP | NewDragDrawingUPP (DragDrawingProcPtr userRoutine) |
| void | DisposeDragSendDataUPP (DragSendDataUPP userUPP) |
| void | DisposeDragInputUPP (DragInputUPP userUPP) |
| void | DisposeDragDrawingUPP (DragDrawingUPP userUPP) |
| OSErr | InvokeDragSendDataUPP (FlavorType theType, void *dragSendRefCon, DragItemRef theItemRef, DragRef theDrag, DragSendDataUPP userUPP) |
| OSErr | InvokeDragInputUPP (Point *mouse, SInt16 *modifiers, void *dragInputRefCon, DragRef theDrag, DragInputUPP userUPP) |
| OSErr | InvokeDragDrawingUPP (DragRegionMessage message, RgnHandle showRegion, Point showOrigin, RgnHandle hideRegion, Point hideOrigin, void *dragDrawingRefCon, DragRef theDrag, DragDrawingUPP userUPP) |
| OSErr | InstallTrackingHandler (DragTrackingHandlerUPP trackingHandler, WindowRef theWindow, void *handlerRefCon) |
| OSErr | InstallReceiveHandler (DragReceiveHandlerUPP receiveHandler, WindowRef theWindow, void *handlerRefCon) |
| OSErr | RemoveTrackingHandler (DragTrackingHandlerUPP trackingHandler, WindowRef theWindow) |
| OSErr | RemoveReceiveHandler (DragReceiveHandlerUPP receiveHandler, WindowRef theWindow) |
| OSErr | NewDrag (DragRef *theDrag) |
| OSErr | DisposeDrag (DragRef theDrag) |
| OSErr | AddDragItemFlavor (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, const void *dataPtr, Size dataSize, FlavorFlags theFlags) |
| OSErr | SetDragItemFlavorData (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, const void *dataPtr, Size dataSize, UInt32 dataOffset) |
| OSErr | SetDragSendProc (DragRef theDrag, DragSendDataUPP sendProc, void *dragSendRefCon) |
| OSErr | SetDragInputProc (DragRef theDrag, DragInputUPP inputProc, void *dragInputRefCon) |
| OSErr | SetDragDrawingProc (DragRef theDrag, DragDrawingUPP drawingProc, void *dragDrawingRefCon) |
| OSErr | SetDragImage (DragRef theDrag, PixMapHandle imagePixMap, RgnHandle imageRgn, Point imageOffsetPt, DragImageFlags theImageFlags) |
| OSErr | ChangeDragBehaviors (DragRef theDrag, DragBehaviors inBehaviorsToSet, DragBehaviors inBehaviorsToClear) |
| OSErr | TrackDrag (DragRef theDrag, const EventRecord *theEvent, RgnHandle theRegion) |
| OSErr | CountDragItems (DragRef theDrag, UInt16 *numItems) |
| OSErr | GetDragItemReferenceNumber (DragRef theDrag, UInt16 index, DragItemRef *theItemRef) |
| OSErr | CountDragItemFlavors (DragRef theDrag, DragItemRef theItemRef, UInt16 *numFlavors) |
| OSErr | GetFlavorType (DragRef theDrag, DragItemRef theItemRef, UInt16 index, FlavorType *theType) |
| OSErr | GetFlavorFlags (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, FlavorFlags *theFlags) |
| OSErr | GetFlavorDataSize (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, Size *dataSize) |
| OSErr | GetFlavorData (DragRef theDrag, DragItemRef theItemRef, FlavorType theType, void *dataPtr, Size *dataSize, UInt32 dataOffset) |
| OSErr | GetDragItemBounds (DragRef theDrag, DragItemRef theItemRef, Rect *itemBounds) |
| OSErr | SetDragItemBounds (DragRef theDrag, DragItemRef theItemRef, const Rect *itemBounds) |
| OSErr | GetDropLocation (DragRef theDrag, AEDesc *dropLocation) |
| OSErr | SetDropLocation (DragRef theDrag, const AEDesc *dropLocation) |
| OSErr | GetDragAttributes (DragRef theDrag, DragAttributes *flags) |
| OSErr | GetDragMouse (DragRef theDrag, Point *mouse, Point *globalPinnedMouse) |
| OSErr | SetDragMouse (DragRef theDrag, Point globalPinnedMouse) |
| OSErr | GetDragOrigin (DragRef theDrag, Point *globalInitialMouse) |
| OSErr | GetDragModifiers (DragRef theDrag, SInt16 *modifiers, SInt16 *mouseDownModifiers, SInt16 *mouseUpModifiers) |
| OSStatus | GetDragAllowableActions (DragRef theDrag, DragActions *outActions) |
| OSStatus | SetDragAllowableActions (DragRef theDrag, DragActions inActions, Boolean isLocal) |
| OSStatus | GetDragDropAction (DragRef theDrag, DragActions *outAction) |
| OSStatus | SetDragDropAction (DragRef theDrag, DragActions inAction) |
| OSErr | ShowDragHilite (DragRef theDrag, RgnHandle hiliteFrame, Boolean inside) |
| OSErr | HideDragHilite (DragRef theDrag) |
| OSErr | DragPreScroll (DragRef theDrag, SInt16 dH, SInt16 dV) |
| OSErr | DragPostScroll (DragRef theDrag) |
| OSErr | UpdateDragHilite (DragRef theDrag, RgnHandle updateRgn) |
| OSErr | GetDragHiliteColor (WindowRef window, RGBColor *color) |
| Boolean | WaitMouseMoved (Point initialMouse) |
| OSErr | ZoomRects (const Rect *fromRect, const Rect *toRect, SInt16 zoomSteps, ZoomAcceleration acceleration) |
| OSErr | ZoomRegion (RgnHandle region, Point zoomDistance, SInt16 zoomSteps, ZoomAcceleration acceleration) |
Drag and Drop Interfaces.
For bug reports, consult the following page on the World Wide Web:
http://developer.apple.com/bugreporter/
| #define CallDragDrawingProc | ( | userRoutine, | |
| message, | |||
| showRegion, | |||
| showOrigin, | |||
| hideRegion, | |||
| hideOrigin, | |||
| dragDrawingRefCon, | |||
| theDrag | |||
| ) |
| #define CallDragSendDataProc | ( | userRoutine, | |
| theType, | |||
| dragSendRefCon, | |||
| theItemRef, | |||
| theDrag | |||
| ) |
| #define CallDragTrackingHandlerProc | ( | userRoutine, | |
| message, | |||
| theWindow, | |||
| handlerRefCon, | |||
| theDrag | |||
| ) |
| #define InvokeDragDrawingUPP | ( | message, | |
| showRegion, | |||
| showOrigin, | |||
| hideRegion, | |||
| hideOrigin, | |||
| dragDrawingRefCon, | |||
| theDrag, | |||
| userUPP | |||
| ) |
| #define InvokeDragInputUPP | ( | mouse, | |
| modifiers, | |||
| dragInputRefCon, | |||
| theDrag, | |||
| userUPP | |||
| ) |
| #define InvokeDragReceiveHandlerUPP | ( | theWindow, | |
| handlerRefCon, | |||
| theDrag, | |||
| userUPP | |||
| ) |
| #define InvokeDragSendDataUPP | ( | theType, | |
| dragSendRefCon, | |||
| theItemRef, | |||
| theDrag, | |||
| userUPP | |||
| ) |
| #define InvokeDragTrackingHandlerUPP | ( | message, | |
| theWindow, | |||
| handlerRefCon, | |||
| theDrag, | |||
| userUPP | |||
| ) |
| #define NewDragDrawingUPP | ( | userRoutine | ) |
pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes)
| #define NewDragInputUPP | ( | userRoutine | ) |
pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes)
| #define NewDragReceiveHandlerUPP | ( | userRoutine | ) |
pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes)
| #define NewDragSendDataProc | ( | userRoutine | ) | NewDragSendDataUPP(userRoutine) |
support for pre-Carbon UPP routines: New...Proc and Call...Proc
| #define NewDragSendDataUPP | ( | userRoutine | ) |
pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes)
| #define NewDragTrackingHandlerProc | ( | userRoutine | ) | NewDragTrackingHandlerUPP(userRoutine) |
support for pre-Carbon UPP routines: New...Proc and Call...Proc
| #define NewDragTrackingHandlerUPP | ( | userRoutine | ) |
pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes)
| typedef UInt32 DragAttributes |
© DRAG ATTRIBUTES
| typedef UInt32 DragBehaviors |
© DRAG BEHAVIORS
| typedef UInt32 DragImageFlags |
© DRAG IMAGE FLAGS
| typedef struct OpaqueDragRef* DragRef |
© DRAG MANAGER DATA TYPES
| typedef DragRef DragReference |
© 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 SInt16 DragRegionMessage |
© DRAG DRAWING PROCEDURE MESSAGES
| typedef SInt16 DragTrackingMessage |
© DRAG TRACKING HANDLER MESSAGES
| typedef UInt32 FlavorFlags |
© FLAVOR FLAGS
| typedef SInt16 ZoomAcceleration |
© ZOOM ACCELERATION
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
© SPECIAL FLAVORS
| anonymous enum |
| anonymous enum |
| anonymous enum |
© DRAG ACTIONS
| OSErr AddDragItemFlavor | ( | DragRef | theDrag, |
| DragItemRef | theItemRef, | ||
| FlavorType | theType, | ||
| const void * | dataPtr, | ||
| Size | dataSize, | ||
| FlavorFlags | theFlags | ||
| ) |
© 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()
| typedef CALLBACK_API | ( | OSErr | , |
| DragSendDataProcPtr | |||
| ) |
CALL_NOT_IN_CARBON
© APPLICATION-DEFINED ROUTINES
| typedef CALLBACK_API | ( | OSErr | , |
| DragTrackingHandlerProcPtr | |||
| ) |
© APPLICATION-DEFINED DRAG HANDLER ROUTINES
| OSErr ChangeDragBehaviors | ( | DragRef | theDrag, |
| DragBehaviors | inBehaviorsToSet, | ||
| DragBehaviors | inBehaviorsToClear | ||
| ) |
© ALTERING THE BEHAVIOR OF A DRAG
| OSErr CountDragItemFlavors | ( | DragRef | theDrag, |
| DragItemRef | theItemRef, | ||
| UInt16 * | numFlavors | ||
| ) |
| OSErr CountDragItems | ( | DragRef | theDrag, |
| UInt16 * | numItems | ||
| ) |
© GETTING DRAG ITEM INFORMATION
| OSErr DisposeDrag | ( | DragRef | theDrag | ) |
| void DisposeDragDrawingUPP | ( | DragDrawingUPP | userUPP | ) |
| void DisposeDragInputUPP | ( | DragInputUPP | userUPP | ) |
| void DisposeDragReceiveHandlerUPP | ( | DragReceiveHandlerUPP | userUPP | ) |
DisposeDragReceiveHandlerUPP()
| void DisposeDragSendDataUPP | ( | DragSendDataUPP | userUPP | ) |
| void DisposeDragTrackingHandlerUPP | ( | DragTrackingHandlerUPP | userUPP | ) |
DisposeDragTrackingHandlerUPP()
| OSErr DragPostScroll | ( | DragRef | theDrag | ) |
| OSErr DragPreScroll | ( | DragRef | theDrag, |
| SInt16 | dH, | ||
| SInt16 | dV | ||
| ) |
| OSStatus GetDragAllowableActions | ( | DragRef | theDrag, |
| DragActions * | outActions | ||
| ) |
© ACCESSING DRAG ACTIONS
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.
@par Non-Carbon CFM: not available @par Carbon Lib: not available in CarbonLib 1.x, is available on Mac OS
X version 10.1 and later
| OSErr GetDragAttributes | ( | DragRef | theDrag, |
| DragAttributes * | flags | ||
| ) |
© GETTING INFORMATION ABOUT A DRAG
| OSStatus GetDragDropAction | ( | DragRef | theDrag, |
| DragActions * | outAction | ||
| ) |
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.
@par Non-Carbon CFM: not available @par Carbon Lib: not available in CarbonLib 1.x, is available on Mac OS
X version 10.1 and later
© DRAG ITEM BOUNDS
| OSErr GetDragItemReferenceNumber | ( | DragRef | theDrag, |
| UInt16 | index, | ||
| DragItemRef * | theItemRef | ||
| ) |
| OSErr GetDragModifiers | ( | DragRef | theDrag, |
| SInt16 * | modifiers, | ||
| SInt16 * | mouseDownModifiers, | ||
| SInt16 * | mouseUpModifiers | ||
| ) |
© DROP LOCATIONS
| OSErr GetFlavorData | ( | DragRef | theDrag, |
| DragItemRef | theItemRef, | ||
| FlavorType | theType, | ||
| void * | dataPtr, | ||
| Size * | dataSize, | ||
| UInt32 | dataOffset | ||
| ) |
| OSErr GetFlavorDataSize | ( | DragRef | theDrag, |
| DragItemRef | theItemRef, | ||
| FlavorType | theType, | ||
| Size * | dataSize | ||
| ) |
| OSErr GetFlavorFlags | ( | DragRef | theDrag, |
| DragItemRef | theItemRef, | ||
| FlavorType | theType, | ||
| FlavorFlags * | theFlags | ||
| ) |
| OSErr GetFlavorType | ( | DragRef | theDrag, |
| DragItemRef | theItemRef, | ||
| UInt16 | index, | ||
| FlavorType * | theType | ||
| ) |
| OSErr HideDragHilite | ( | DragRef | theDrag | ) |
| OSErr InstallReceiveHandler | ( | DragReceiveHandlerUPP | receiveHandler, |
| WindowRef | theWindow, | ||
| void * | handlerRefCon | ||
| ) |
| OSErr InstallTrackingHandler | ( | DragTrackingHandlerUPP | trackingHandler, |
| WindowRef | theWindow, | ||
| void * | handlerRefCon | ||
| ) |
CALL_NOT_IN_CARBON
© INSTALLING AND REMOVING HANDLERS API'S
| OSErr InvokeDragDrawingUPP | ( | DragRegionMessage | message, |
| RgnHandle | showRegion, | ||
| Point | showOrigin, | ||
| RgnHandle | hideRegion, | ||
| Point | hideOrigin, | ||
| void * | dragDrawingRefCon, | ||
| DragRef | theDrag, | ||
| DragDrawingUPP | userUPP | ||
| ) |
| OSErr InvokeDragInputUPP | ( | Point * | mouse, |
| SInt16 * | modifiers, | ||
| void * | dragInputRefCon, | ||
| DragRef | theDrag, | ||
| DragInputUPP | userUPP | ||
| ) |
| OSErr InvokeDragReceiveHandlerUPP | ( | WindowRef | theWindow, |
| void * | handlerRefCon, | ||
| DragRef | theDrag, | ||
| DragReceiveHandlerUPP | userUPP | ||
| ) |
| OSErr InvokeDragSendDataUPP | ( | FlavorType | theType, |
| void * | dragSendRefCon, | ||
| DragItemRef | theItemRef, | ||
| DragRef | theDrag, | ||
| DragSendDataUPP | userUPP | ||
| ) |
| OSErr InvokeDragTrackingHandlerUPP | ( | DragTrackingMessage | message, |
| WindowRef | theWindow, | ||
| void * | handlerRefCon, | ||
| DragRef | theDrag, | ||
| DragTrackingHandlerUPP | userUPP | ||
| ) |
InvokeDragTrackingHandlerUPP()
| OSErr NewDrag | ( | DragRef * | theDrag | ) |
© CREATING & DISPOSING
| DragDrawingUPP NewDragDrawingUPP | ( | DragDrawingProcPtr | userRoutine | ) |
| DragInputUPP NewDragInputUPP | ( | DragInputProcPtr | userRoutine | ) |
| DragReceiveHandlerUPP NewDragReceiveHandlerUPP | ( | DragReceiveHandlerProcPtr | userRoutine | ) |
| DragSendDataUPP NewDragSendDataUPP | ( | DragSendDataProcPtr | userRoutine | ) |
| DragTrackingHandlerUPP NewDragTrackingHandlerUPP | ( | DragTrackingHandlerProcPtr | userRoutine | ) |
| OSErr RemoveReceiveHandler | ( | DragReceiveHandlerUPP | receiveHandler, |
| WindowRef | theWindow | ||
| ) |
| OSErr RemoveTrackingHandler | ( | DragTrackingHandlerUPP | trackingHandler, |
| WindowRef | theWindow | ||
| ) |
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.
@par Non-Carbon CFM: not available @par Carbon Lib: not available in CarbonLib 1.x, is available on Mac OS
X version 10.1 and later
| OSErr SetDragDrawingProc | ( | DragRef | theDrag, |
| DragDrawingUPP | drawingProc, | ||
| void * | dragDrawingRefCon | ||
| ) |
| OSStatus SetDragDropAction | ( | DragRef | theDrag, |
| DragActions | inAction | ||
| ) |
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.
@par Non-Carbon CFM: not available @par Carbon Lib: not available in CarbonLib 1.x, is available on Mac OS
X version 10.1 and later
| OSErr SetDragImage | ( | DragRef | theDrag, |
| PixMapHandle | imagePixMap, | ||
| RgnHandle | imageRgn, | ||
| Point | imageOffsetPt, | ||
| DragImageFlags | theImageFlags | ||
| ) |
© SETTING THE DRAG IMAGE
| OSErr SetDragInputProc | ( | DragRef | theDrag, |
| DragInputUPP | inputProc, | ||
| void * | dragInputRefCon | ||
| ) |
| OSErr SetDragItemFlavorData | ( | DragRef | theDrag, |
| DragItemRef | theItemRef, | ||
| FlavorType | theType, | ||
| const void * | dataPtr, | ||
| Size | dataSize, | ||
| UInt32 | dataOffset | ||
| ) |
| OSErr SetDragSendProc | ( | DragRef | theDrag, |
| DragSendDataUPP | sendProc, | ||
| void * | dragSendRefCon | ||
| ) |
© PROVIDING CALLBACK PROCEDURES
© DRAG HIGHLIGHTING
| OSErr TrackDrag | ( | DragRef | theDrag, |
| const EventRecord * | theEvent, | ||
| RgnHandle | theRegion | ||
| ) |
© PERFORMING A DRAG
© UTILITIES
| OSErr ZoomRects | ( | const Rect * | fromRect, |
| const Rect * | toRect, | ||
| SInt16 | zoomSteps, | ||
| ZoomAcceleration | acceleration | ||
| ) |
| OSErr ZoomRegion | ( | RgnHandle | region, |
| Point | zoomDistance, | ||
| SInt16 | zoomSteps, | ||
| ZoomAcceleration | acceleration | ||
| ) |