Source/SVDrag.h

/*
    File:       SVDrag.h
 
    Contains:   
 
    Written by: Original version by Jon Lansdell and Nigel Humphreys.
                            3.1 updates by Greg Sutton. 
 
    Copyright:  Copyright ©1995-1999 by Apple Computer, Inc., All Rights Reserved.
 
                You may incorporate this Apple sample source code into your program(s) without
                restriction. This Apple sample source code has been provided "AS IS" and the
                responsibility for its operation is yours. You are not permitted to redistribute
                this Apple sample source code as "Apple sample source code" after having made
                changes. If you're going to re-distribute the source, we require that you make
                it clear in the source that the code was descended from Apple sample source
                code, but that you've made changes.
 
    Change History (most recent first):
                7/19/1999   Karl Groethe    Updated for Metrowerks Codewarror Pro 2.1
                
 
*/
 
#pragma once
 
#include <Types.h>
#include <Drag.h>
 
#include "SVEditGlobals.h"
 
 
pascal OSErr MyTrackingHandler ( DragTrackingMessage theMessage, WindowPtr theWindow,
                                    void* handlerRefCon, DragReference theDrag );
 
pascal OSErr MyReceiveHandler  ( WindowPtr theWindow, void* handlerRefCon, 
                                DragReference theDrag );
 
OSErr InitDragHandlers ( void );
 
OSErr InstallDragHandlers ( WindowPtr theWindow );
 
void RemoveDragHandlers ( WindowPtr theWindow );
 
Boolean IsDragInWindowContent ( DragReference theDrag, WindowRef theWindow );
Boolean PtInWindow ( Point localPt, WindowRef theWindow );
Boolean PtInDocument ( Point localPt, DPtr theDocument );
 
Boolean IsMouseInContentRgn ( DragReference theDrag, WindowPtr theWindow );
 
Boolean CanAcceptDragItems ( DragReference theDrag );
 
OSErr GetSelectedText ( DPtr theDocument, Ptr dataPtr, short* dataSize );
 
void GetSelectedTextRgn ( DPtr theDocument, RgnHandle dataRgn );
 
Boolean IsMoving ( DragReference theDrag );
 
void OutlineRegion ( RgnHandle theRgn );
 
OSErr DoWindowContentDrag ( WindowPtr theWindow, EventRecord* theEvent );
 
static Boolean DragIsNotInSourceWindow ( DragReference theDrag );
 
Boolean UserWantsToDrag ( WindowRef theWindow, Point globalPt );
Boolean PointInWindowSelection ( Point localPt, WindowRef theWindow );
static Boolean IsDragMoving ( DragReference theDrag );
static Boolean IsDragWithOptionKey ( DragReference theDrag );
 
void LocalRgnToGlobalRgn ( RgnHandle theRgn, WindowRef theWindow );
void LocalRectToGlobalRect ( Rect* theRect, WindowRef theWindow );
 
short HitTest(Point theLoc, DPtr* theDoc);
void DrawCaret(short offset, TEHandle theTE);
char GetCharAtOffset(short offset, TEHandle theTE);
Boolean WhiteSpace(char theChar);
Boolean WhiteSpaceAtOffset(short offset, TEHandle theTE);
void InsertTextAtOffset(short offset, char *theBuf, long size, StScrpHandle theStyl, TEHandle theTE);
 
Boolean IsOffsetInSelection ( short theOffset, TEHandle theTE );
 
 
short TEIsFrontOfLine ( short offset, TEHandle theTE );
short TEGetLine ( short offset, TEHandle theTE );
 
void DeleteTextSelection ( TEHandle theTE, short* theInsertPosition );
 
Boolean DropLocationIsFinderTrash ( AEDesc* dropLocation );