X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=macosx%2Fplugins%2FDFXVideo%2Fmacsrc%2FPluginWindowController.m;fp=macosx%2Fplugins%2FDFXVideo%2Fmacsrc%2FPluginWindowController.m;h=0000000000000000000000000000000000000000;hp=48262e5695c8f3497ad508054d35c4c529bb1510;hb=aa1fc44b4532dc68be2482730a275f8a3ba8a039;hpb=ef79bbde537d6b9c745a7d86cb9df1d04c35590d diff --git a/macosx/plugins/DFXVideo/macsrc/PluginWindowController.m b/macosx/plugins/DFXVideo/macsrc/PluginWindowController.m deleted file mode 100644 index 48262e56..00000000 --- a/macosx/plugins/DFXVideo/macsrc/PluginWindowController.m +++ /dev/null @@ -1,227 +0,0 @@ -/*************************************************************************** - PluginWindowController.m - PeopsSoftGPU - - Created by Gil Pedersen on Tue April 12 2004. - Copyright (c) 2004 Gil Pedersen. - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. See also the license.txt file for * - * additional informations. * - * * - ***************************************************************************/ - -#import "PluginWindowController.h" -#import "PluginWindow.h" -#import "Carbon/Carbon.h" -#include "externals.h" -#undef BOOL - -NSWindow *gameWindow; -PluginWindowController *gameController; -NSRect windowFrame; - -@implementation PluginWindowController - -+ (id)openGameView -{ - if (gameWindow == nil) { - if (gameController == nil) { - gameController = [[PluginWindowController alloc] initWithWindowNibName:@"NetSfPeopsSoftGPUInterface"]; - } - gameWindow = [gameController window]; - } - - if (windowFrame.size.width != 0) { - [gameWindow setFrame:windowFrame display:NO]; - } else { - [gameWindow center]; - } - - [gameWindow makeKeyAndOrderFront:nil]; - [gameController showWindow:nil]; - - CGDirectDisplayID display = (CGDirectDisplayID)[[[[gameWindow screen] deviceDescription] objectForKey:@"NSScreenNumber"] longValue]; - if (CGDisplayIsCaptured(display)) { - [gameController setFullscreen:YES]; - } - - return gameController; -} - -- (PluginGLView *)getOpenGLView -{ - return (PluginGLView *)glView; -} - -- (void)dealloc -{ - if (fullWindow) { - [fullWindow orderOut:self]; - [fullWindow autorelease]; - fullWindow = nil; - } - - windowFrame = [[self window] frame]; - - [super dealloc]; -} - -// forget keyDownEvents -- (void)keyDown:(NSEvent *)theEvent -{ - // Not required any more -} - -- (void)mouseDown:(NSEvent *)theEvent -{ - if ([self fullscreen]) { - [self setFullscreen:NO]; - } -} - -- (BOOL)fullscreen -{ - return (fullWindow!=nil); -} - -- (void)setFullscreen:(BOOL)flag -{ - NSWindow *window = [self window]; - NSScreen *screen = [window screen]; - CGDirectDisplayID display = (CGDirectDisplayID)[[[screen deviceDescription] objectForKey:@"NSScreenNumber"] longValue]; - - NSDisableScreenUpdates(); - - if (flag) { - if (!CGDisplayIsCaptured(display)) { - CGDisplayCapture(display); - - CGDisplayCount count = 10; - CGDirectDisplayID displays[10]; - CGGetActiveDisplayList(10, displays, &count); - if (count == 1) { - CGDisplayHideCursor(display); - CGAssociateMouseAndMouseCursorPosition(NO); - } - - //[window orderOut:self]; - } - - int width = CGDisplayPixelsWide(display); - int height = CGDisplayPixelsHigh(display); - - // assume square pixel ratio on the monitor - if ((width*3)/4 < height) { - height = (width*3)/4; - } else { - width = (height*4)/3; - } - - fullWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect((CGDisplayPixelsWide(display)-width)/2, - (CGDisplayPixelsHigh(display)-height)/2, - width, height) - styleMask:NSBorderlessWindowMask - backing:NSBackingStoreRetained - defer:NO - screen:screen]; - - //[[glView openGLContext] setFullScreen]; - [[glView openGLContext] setView:[fullWindow contentView]]; - [glView reshape]; - //[[glView openGLContext] update]; - //[fullWindow setContentView:glView]; - - [fullWindow setBackgroundColor:[NSColor blackColor]]; - [fullWindow setHasShadow:NO]; - [fullWindow setDelegate:self]; - - [fullWindow setLevel:CGShieldingWindowLevel()]; - [fullWindow makeKeyAndOrderFront:self]; - - [[self window] makeKeyAndOrderFront:self]; - } else { - CGDisplayRelease(display); - //CGReleaseAllDisplays(); - - CGAssociateMouseAndMouseCursorPosition(YES); - CGDisplayShowCursor(display); - - if (fullWindow) { - [fullWindow orderOut:self]; - [fullWindow autorelease]; - fullWindow = nil; - - [[glView openGLContext] setView:glView]; - [glView reshape]; - //[window setContentView:glView]; - } - - [[self window] makeKeyAndOrderFront:self]; - } - - NSEnableScreenUpdates(); -} - -- (BOOL)windowShouldZoom:(NSWindow *)sender toFrame:(NSRect)newFrame -{ - [self setFullscreen:YES]; - - return NO; -} - -- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)proposedFrameSize -{ - if (!(([sender resizeFlags] & NSShiftKeyMask) == NSShiftKeyMask)) { - NSRect oldSize = [sender frame]; - NSRect viewSize = [glView frame]; - - float xDiff = NSWidth(oldSize) - NSWidth(viewSize); - float yDiff = NSHeight(oldSize) - NSHeight(viewSize); - - //if ((proposedFrameSize.height / proposedFrameSize.width) < (3.0/4.0)) - // proposedFrameSize.height = ((proposedFrameSize.width - xDiff) * 3.0) / 4.0 + yDiff; - //else - proposedFrameSize.width = ((proposedFrameSize.height - yDiff) * 4.0) / 3.0 + xDiff; - } - - return proposedFrameSize; -} - -- (void)windowWillMiniaturize:(NSNotification *)aNotification -{ - [[NSNotificationCenter defaultCenter] postNotificationName:@"emuWindowWantPause" object:self]; -} - -- (void)windowDidDeminiaturize:(NSNotification *)aNotification -{ - [[NSNotificationCenter defaultCenter] postNotificationName:@"emuWindowWantResume" object:self]; -} - -//- (void)windowDidBecomeMain:(NSNotification *)aNotification -/*- (void)windowDidBecomeKey:(NSNotification *)aNotification -{ - if (iWindowMode==0) { - [self setFullscreen:YES]; - } -}*/ - -- (BOOL)windowShouldClose:(id)sender -{ - if (fullWindow) { - return NO; - } - [[NSNotificationCenter defaultCenter] postNotificationName:@"emuWindowDidClose" object:self]; - [gameController autorelease]; - gameController = nil; - gameWindow = nil; - - return YES; -} - -@end