< prev index next >

modules/javafx.graphics/src/main/native-glass/mac/GlassWindow+Java.m

Print this page




  25 
  26 #import "common.h"
  27 #import "com_sun_glass_events_ViewEvent.h"
  28 #import "com_sun_glass_events_WindowEvent.h"
  29 #import "com_sun_glass_ui_Window.h"
  30 #import "com_sun_glass_ui_Window_Level.h"
  31 #import "com_sun_glass_ui_mac_MacWindow.h"
  32 
  33 #import "GlassMacros.h"
  34 #import "GlassWindow+Java.h"
  35 #import "GlassScreen.h"
  36 
  37 //#define VERBOSE
  38 #ifndef VERBOSE
  39 #define LOG(MSG, ...)
  40 #else
  41 #define LOG(MSG, ...) GLASS_LOG(MSG, ## __VA_ARGS__);
  42 #endif
  43 
  44 static NSWindow *s_grabWindow = nil;

  45 
  46 @interface NSWindow (External)
  47 
  48 - (void)_startLiveResize;
  49 - (void)_endLiveResize;
  50 
  51 @end
  52 
  53 @implementation GlassWindow (Java)
  54 
  55 #pragma mark --- Callbacks
  56 
  57 - (void)_sendJavaWindowMoveToAnotherScreenEventIfNeeded
  58 {
  59     NSScreen *newScreen = [self->nsWindow screen];
  60 
  61     // Update only if the newScreen isn't nil
  62     if (self->currentScreen != newScreen && newScreen != nil)
  63     {
  64         self->currentScreen = newScreen;


 342     }
 343     if (screen == nil)
 344     {
 345         screen = [[NSScreen screens] objectAtIndex: 0];
 346     }
 347     return screen;
 348 }
 349 
 350 #pragma mark --- Flip
 351 
 352 - (void)_setFlipFrame:(NSRect)frameRect display:(BOOL)displayFlag animate:(BOOL)animateFlag
 353 {
 354     //NSLog(@"_setFlipFrame:   %.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 355     NSScreen * screen = [[NSScreen screens] objectAtIndex: 0];
 356     NSRect screenFrame = screen.frame;
 357     //NSLog(@"            screenFrame: %.2f,%.2f %.2fx%.2f", screenFrame.origin.x, screenFrame.origin.y, screenFrame.size.width, screenFrame.size.height);
 358 
 359     frameRect.origin.y = screenFrame.size.height - frameRect.size.height - frameRect.origin.y;
 360     //NSLog(@"            set to frameRect:%.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 361 








 362     [self->nsWindow setFrame:frameRect display:displayFlag animate:animateFlag];
 363 
 364     //frameRect = [self _flipFrame];
 365     //NSLog(@"            _flipFrame:%.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 366     //frameRect = [super frame];
 367     //NSLog(@"            frame:%.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 368 }
 369 
 370 - (NSRect)_flipFrame
 371 {
 372     NSScreen * screen = [[NSScreen screens] objectAtIndex: 0];
 373     NSRect screenFrame = screen.frame;
 374 
 375     NSRect frame = [self->nsWindow frame];
 376     //NSLog(@"_flipFrame: v.s.h=%.2f f.s.h=%.2f f.o.y=%.2f", screenFrame.size.height, frame.size.height, frame.origin.y);
 377     frame.origin.y = screenFrame.size.height - frame.size.height - frame.origin.y;
 378     //NSLog(@"                            result: f.o.y=%.2f", frame.origin.y);
 379 
 380     //NSLog(@"_flipFrame:   %.2f,%.2f %.2fx%.2f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);
 381     return frame;


  25 
  26 #import "common.h"
  27 #import "com_sun_glass_events_ViewEvent.h"
  28 #import "com_sun_glass_events_WindowEvent.h"
  29 #import "com_sun_glass_ui_Window.h"
  30 #import "com_sun_glass_ui_Window_Level.h"
  31 #import "com_sun_glass_ui_mac_MacWindow.h"
  32 
  33 #import "GlassMacros.h"
  34 #import "GlassWindow+Java.h"
  35 #import "GlassScreen.h"
  36 
  37 //#define VERBOSE
  38 #ifndef VERBOSE
  39 #define LOG(MSG, ...)
  40 #else
  41 #define LOG(MSG, ...) GLASS_LOG(MSG, ## __VA_ARGS__);
  42 #endif
  43 
  44 static NSWindow *s_grabWindow = nil;
  45 extern NSSize maxScreenDimensions;
  46 
  47 @interface NSWindow (External)
  48 
  49 - (void)_startLiveResize;
  50 - (void)_endLiveResize;
  51 
  52 @end
  53 
  54 @implementation GlassWindow (Java)
  55 
  56 #pragma mark --- Callbacks
  57 
  58 - (void)_sendJavaWindowMoveToAnotherScreenEventIfNeeded
  59 {
  60     NSScreen *newScreen = [self->nsWindow screen];
  61 
  62     // Update only if the newScreen isn't nil
  63     if (self->currentScreen != newScreen && newScreen != nil)
  64     {
  65         self->currentScreen = newScreen;


 343     }
 344     if (screen == nil)
 345     {
 346         screen = [[NSScreen screens] objectAtIndex: 0];
 347     }
 348     return screen;
 349 }
 350 
 351 #pragma mark --- Flip
 352 
 353 - (void)_setFlipFrame:(NSRect)frameRect display:(BOOL)displayFlag animate:(BOOL)animateFlag
 354 {
 355     //NSLog(@"_setFlipFrame:   %.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 356     NSScreen * screen = [[NSScreen screens] objectAtIndex: 0];
 357     NSRect screenFrame = screen.frame;
 358     //NSLog(@"            screenFrame: %.2f,%.2f %.2fx%.2f", screenFrame.origin.x, screenFrame.origin.y, screenFrame.size.width, screenFrame.size.height);
 359 
 360     frameRect.origin.y = screenFrame.size.height - frameRect.size.height - frameRect.origin.y;
 361     //NSLog(@"            set to frameRect:%.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 362 
 363     if (frameRect.size.width > maxScreenDimensions.width) {
 364         frameRect.size.width = maxScreenDimensions.width;
 365     }
 366 
 367     if (frameRect.size.height > maxScreenDimensions.height) {
 368         frameRect.size.height = maxScreenDimensions.height;
 369     }
 370 
 371     [self->nsWindow setFrame:frameRect display:displayFlag animate:animateFlag];
 372 
 373     //frameRect = [self _flipFrame];
 374     //NSLog(@"            _flipFrame:%.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 375     //frameRect = [super frame];
 376     //NSLog(@"            frame:%.2f,%.2f %.2fx%.2f", frameRect.origin.x, frameRect.origin.y, frameRect.size.width, frameRect.size.height);
 377 }
 378 
 379 - (NSRect)_flipFrame
 380 {
 381     NSScreen * screen = [[NSScreen screens] objectAtIndex: 0];
 382     NSRect screenFrame = screen.frame;
 383 
 384     NSRect frame = [self->nsWindow frame];
 385     //NSLog(@"_flipFrame: v.s.h=%.2f f.s.h=%.2f f.o.y=%.2f", screenFrame.size.height, frame.size.height, frame.origin.y);
 386     frame.origin.y = screenFrame.size.height - frame.size.height - frame.origin.y;
 387     //NSLog(@"                            result: f.o.y=%.2f", frame.origin.y);
 388 
 389     //NSLog(@"_flipFrame:   %.2f,%.2f %.2fx%.2f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);
 390     return frame;
< prev index next >