497 { 498 window->owner = getGlassWindow(env, jOwnerPtr)->nsWindow; // not retained (use weak reference?) 499 } 500 } 501 else 502 { 503 if ((jOwnerPtr != 0L) && (jOwnerPtr != BROWSER_PARENT_ID)) 504 { 505 GlassEmbeddedWindow *parent = getGlassEmbeddedWindow(env, jOwnerPtr); 506 GlassEmbeddedWindow *ewindow = (GlassEmbeddedWindow*)window->nsWindow; 507 parent->child = ewindow; // not retained (use weak reference?) 508 509 ewindow->parent = parent; // not retained (use weak reference?) 510 } 511 } 512 window->isResizable = NO; 513 window->isDecorated = (jStyleMask&com_sun_glass_ui_Window_TITLED) != 0; 514 /* 10.7 full screen window support */ 515 if ([NSWindow instancesRespondToSelector:@selector(toggleFullScreen:)]) { 516 NSWindowCollectionBehavior behavior = [window->nsWindow collectionBehavior]; 517 if (window->isDecorated && !window->owner) 518 { 519 // Only titled ownerless windows should have the Full Screen Toggle control 520 behavior |= (1 << 7) /* NSWindowCollectionBehaviorFullScreenPrimary */; 521 } 522 else 523 { 524 // Other windows are only allowed to be shown together with a primary 525 // full screen window 526 behavior |= (1 << 8) /* NSWindowCollectionBehaviorFullScreenAuxiliary */; 527 } 528 [window->nsWindow setCollectionBehavior: behavior]; 529 } 530 531 window->isTransparent = (jStyleMask & com_sun_glass_ui_Window_TRANSPARENT) != 0; 532 if (window->isTransparent == YES) 533 { 534 [window->nsWindow setBackgroundColor:[NSColor clearColor]]; 535 [window->nsWindow setHasShadow:NO]; 536 [window->nsWindow setOpaque:NO]; 537 } 538 else 539 { | 497 { 498 window->owner = getGlassWindow(env, jOwnerPtr)->nsWindow; // not retained (use weak reference?) 499 } 500 } 501 else 502 { 503 if ((jOwnerPtr != 0L) && (jOwnerPtr != BROWSER_PARENT_ID)) 504 { 505 GlassEmbeddedWindow *parent = getGlassEmbeddedWindow(env, jOwnerPtr); 506 GlassEmbeddedWindow *ewindow = (GlassEmbeddedWindow*)window->nsWindow; 507 parent->child = ewindow; // not retained (use weak reference?) 508 509 ewindow->parent = parent; // not retained (use weak reference?) 510 } 511 } 512 window->isResizable = NO; 513 window->isDecorated = (jStyleMask&com_sun_glass_ui_Window_TITLED) != 0; 514 /* 10.7 full screen window support */ 515 if ([NSWindow instancesRespondToSelector:@selector(toggleFullScreen:)]) { 516 NSWindowCollectionBehavior behavior = [window->nsWindow collectionBehavior]; 517 if ((jStyleMask&com_sun_glass_ui_Window_POPUP) == 0 && !window->owner) 518 { 519 // Only ownerless windows should have the Full Screen Toggle control 520 behavior |= (1 << 7) /* NSWindowCollectionBehaviorFullScreenPrimary */; 521 } 522 else 523 { 524 // Other windows are only allowed to be shown together with a primary 525 // full screen window 526 behavior |= (1 << 8) /* NSWindowCollectionBehaviorFullScreenAuxiliary */; 527 } 528 [window->nsWindow setCollectionBehavior: behavior]; 529 } 530 531 window->isTransparent = (jStyleMask & com_sun_glass_ui_Window_TRANSPARENT) != 0; 532 if (window->isTransparent == YES) 533 { 534 [window->nsWindow setBackgroundColor:[NSColor clearColor]]; 535 [window->nsWindow setHasShadow:NO]; 536 [window->nsWindow setOpaque:NO]; 537 } 538 else 539 { |