Advertisement
Guest User

Untitled

a guest
May 24th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. - (void) drawBezelWithFrame:(NSRect) frame inView:(NSView *) controlView {
  2.     NSEvent * currentEvent = [NSApp currentEvent];
  3.    
  4.     BOOL isMouseUp = true;
  5.     BOOL isLeftMouseDown = ([currentEvent type] == NSLeftMouseDown);
  6.    
  7.     if(isLeftMouseDown) {
  8.         isMouseUp = false;
  9.         NSPoint localPoint;
  10.         BOOL coordsAreScreen = ([currentEvent window]==nil);
  11.         NSPoint windowPoint = [currentEvent locationInWindow];
  12.         if(coordsAreScreen) {
  13.             NSLog(@"coords are screen");
  14.             windowPoint = [[[self controlView] window] convertScreenToBase:windowPoint];
  15.         }
  16.         if(windowPoint.x < 0 || windowPoint.y < 0) {
  17.             isLeftMouseDown = false;
  18.             isMouseUp = true;
  19.         } else { //in this block is where I can't get "localPoint" to correctly convert.
  20.             NSLog(@"windowPoint: %@",GDPrintGetPrintedNSPoint(windowPoint));
  21.            
  22.             localPoint = [[self controlView] convertPoint:windowPoint toView:nil];
  23.             NSLog(@"localPoint: %@",GDPrintGetPrintedNSPoint(localPoint));
  24.            
  25.             localPoint = [[[[self controlView] window] contentView] convertPoint:windowPoint fromView:[self controlView]];
  26.             NSLog(@"localPoint2: %@",GDPrintGetPrintedNSPoint(localPoint));
  27.            
  28.             localPoint = [[self controlView] convertPoint:windowPoint fromView:[self controlView]];
  29.             NSLog(@"localPoint3: %@",GDPrintGetPrintedNSPoint(localPoint));
  30.            
  31.             NSLog(@"is in rect: %i",NSPointInRect(localPoint,frame));
  32.             NSLog(@"frame: %@",GDPrintGetPrintedNSRect(frame));
  33.             if(!NSPointInRect(localPoint,frame)) isLeftMouseDown = false;
  34.         }
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement