src/macosx/native/sun/awt/CDragSource.m
Print this page
*** 441,452 ****
NSInteger windowNumber = [window windowNumber];
NSGraphicsContext* graphicsContext = [NSGraphicsContext graphicsContextWithWindow:window];
// Convert mouse coordinates to NS:
! NSPoint location = NSMakePoint(fDragPos.x, fDragPos.y);
! NSPoint eventLocation = [fView convertPoint:location toView:nil];
// Convert fTriggerEventTimeStamp to NS - AWTEvent.h defines UTC(nsEvent) as ((jlong)[event timestamp] * 1000):
NSTimeInterval timeStamp = fTriggerEventTimeStamp / 1000;
// Convert fModifiers (extModifiers) to NS:
--- 441,452 ----
NSInteger windowNumber = [window windowNumber];
NSGraphicsContext* graphicsContext = [NSGraphicsContext graphicsContextWithWindow:window];
// Convert mouse coordinates to NS:
! NSPoint eventLocation = [fView convertPoint:NSMakePoint(fDragPos.x, fDragPos.y) toView:nil];
! eventLocation.y = [[fView window] frame].size.height - eventLocation.y;
// Convert fTriggerEventTimeStamp to NS - AWTEvent.h defines UTC(nsEvent) as ((jlong)[event timestamp] * 1000):
NSTimeInterval timeStamp = fTriggerEventTimeStamp / 1000;
// Convert fModifiers (extModifiers) to NS:
*** 495,510 ****
// Make sure we have a valid drag image:
[self validateDragImage];
NSImage* dragImage = fDragImage;
// Get drag origin and offset:
! NSPoint dragOrigin;
! dragOrigin.x = fDragPos.x;
! dragOrigin.y = fDragPos.y;
! dragOrigin = [view convertPoint:[dragEvent locationInWindow] fromView:nil];
dragOrigin.x += fDragImageOffset.x;
! dragOrigin.y += [dragImage size].height + fDragImageOffset.y;
// Drag offset values don't seem to matter:
NSSize dragOffset = NSMakeSize(0, 0);
// These variables should be set based on the transferable:
--- 495,507 ----
// Make sure we have a valid drag image:
[self validateDragImage];
NSImage* dragImage = fDragImage;
// Get drag origin and offset:
! NSPoint dragOrigin = [dragEvent locationInWindow];
dragOrigin.x += fDragImageOffset.x;
! dragOrigin.y -= fDragImageOffset.y + [dragImage size].height;
// Drag offset values don't seem to matter:
NSSize dragOffset = NSMakeSize(0, 0);
// These variables should be set based on the transferable:
*** 514,524 ****
DLog(@"[CDragSource drag]: calling dragImage/File:");
DLog3(@" - drag origin: %f, %f", fDragPos.x, fDragPos.y);
DLog5(@" - drag image: %f, %f (%f x %f)", fDragImageOffset.x, fDragImageOffset.y, [dragImage size].width, [dragImage size].height);
DLog3(@" - event point (window) %f, %f", [dragEvent locationInWindow].x, [dragEvent locationInWindow].y);
DLog3(@" - drag point (view) %f, %f", dragOrigin.x, dragOrigin.y);
-
// Set up the fDragKeyModifier, so we know if the operation has changed
// Set up the fDragMouseModifier, so we can |= it later (since CoreDrag doesn't tell us mouse states during a drag)
fDragKeyModifiers = [DnDUtilities extractJavaExtKeyModifiersFromJavaExtModifiers:fModifiers];
fDragMouseModifiers = [DnDUtilities extractJavaExtMouseModifiersFromJavaExtModifiers:fModifiers];
--- 511,520 ----