http://www.jwz.org/xscreensaver/xscreensaver-5.07.tar.gz
[xscreensaver] / OSX / AppController.m
diff --git a/OSX/AppController.m b/OSX/AppController.m
deleted file mode 100644 (file)
index 76911b3..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/* xscreensaver, Copyright (c) 2006 Jamie Zawinski <jwz@jwz.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation.  No representations are made about the suitability of this
- * software for any purpose.  It is provided "as is" without express or 
- * implied warranty.
- */
-
-/* This is just a test harness, really -- it makes a window with an
-   XScreenSaverGLView in it and a Preferences button, because I don't want
-   to have to debug these programs by installing them as screen savers
-   first!
- */
-
-#import "AppController.h"
-#import "XScreenSaverGLView.h"
-
-@implementation AppController
-
-- (ScreenSaverView *) makeSaverView
-{
-  const char *var = "SCREENSAVER_MODULE";
-  const char *s = getenv (var);
-  if (!s || !*s) {
-    NSAssert1 (0, @"set $%s to the name of the module to run", var);
-    exit(1);
-  }
-  NSString *module = [NSString stringWithCString:s
-                                        encoding:NSUTF8StringEncoding];
-  NSString *dir = [[[NSBundle mainBundle] bundlePath]
-                   stringByDeletingLastPathComponent];
-  NSString *name = [module stringByAppendingPathExtension:@"saver"];
-  NSString *path = [dir stringByAppendingPathComponent:name];
-  NSBundle *bundleToLoad = [NSBundle bundleWithPath:path];
-  Class new_class = [bundleToLoad principalClass];
-  NSAssert1 (new_class, @"unable to load \"%@\"", path);
-
-  NSRect rect;
-  rect.origin.x = rect.origin.y = 0;
-  rect.size.width = 320;
-  rect.size.height = 240;
-
-  id instance = [[new_class alloc] initWithFrame:rect isPreview:YES];
-  NSAssert1 (instance, @"unable to instantiate %@", new_class);
-  return (ScreenSaverView *) instance;
-}
-
-
-- (void) openPreferences: (int) which
-{
-  ScreenSaverView *sv = (which ? saverView1 : saverView0);
-  NSAssert (sv, @"no saver view");
-  NSWindow *prefs = [sv configureSheet];
-
-  [NSApp beginSheet:prefs
-     modalForWindow:[sv window]
-      modalDelegate:self
-     didEndSelector:@selector(preferencesClosed:returnCode:contextInfo:)
-        contextInfo:nil];
-  int code = [NSApp runModalForWindow:prefs];
-  
-  /* Restart the animation if the "OK" button was hit, but not if "Cancel".
-     We have to restart *both* animations, because the xlockmore-style
-     ones will blow up if one re-inits but the other doesn't.
-   */
-  if (code != NSCancelButton) {
-    if (saverView0) [saverView0 stopAnimation];
-    if (saverView1) [saverView1 stopAnimation];
-    if (saverView0) [saverView0 startAnimation];
-    if (saverView1) [saverView1 startAnimation];
-  }
-}
-
-- (void) openPreferences0: (NSObject *) button
-{
-  [self openPreferences:0];
-}
-
-- (void) openPreferences1: (NSObject *) button
-{
-  [self openPreferences:1];
-}
-
-- (void) preferencesClosed: (NSWindow *) sheet
-                returnCode: (int) returnCode
-               contextInfo: (void  *) contextInfo
-{
-  [NSApp stopModalWithCode:returnCode];
-}
-
-
-- (void) makeWindow: (ScreenSaverView *)sv which:(int)which
-{
-  NSRect rect;
-  
-  if (which)
-    saverView1 = sv;
-  else
-    saverView0 = sv;
-  
-  // make a "Preferences" button
-  //
-  rect.origin.x = rect.origin.y = 0;
-  rect.size.width = rect.size.height = 10;
-  NSButton *pb = [[NSButton alloc] initWithFrame:rect];
-  [pb setTitle:@"Preferences"];
-  [pb setBezelStyle:NSRoundedBezelStyle];
-  [pb sizeToFit];
-  rect.origin.x = ([sv frame].size.width -
-                   [pb frame].size.width) / 2;
-  [pb setFrameOrigin:rect.origin];
-  
-  // grab the click
-  //
-  [pb setTarget:self];
-  if (which)
-    [pb setAction:@selector(openPreferences1:)];
-  else
-    [pb setAction:@selector(openPreferences0:)];
-      
-  // make a box to wrap the saverView
-  //
-  rect = [sv frame];
-  rect.origin.x = 0;
-  rect.origin.y = [pb frame].origin.y + [pb frame].size.height;
-  NSBox *gbox = [[NSBox alloc] initWithFrame:rect];
-  rect.size.width = rect.size.height = 10;
-  [gbox setContentViewMargins:rect.size];
-  [gbox setTitlePosition:NSNoTitle];
-  [gbox addSubview:sv];
-  [gbox sizeToFit];
-
-  // make a box to wrap the other two boxes
-  //
-  rect.origin.x = rect.origin.y = 0;
-  rect.size.width  = [gbox frame].size.width;
-  rect.size.height = [gbox frame].size.height + [gbox frame].origin.y;
-  NSBox *pbox = [[NSBox alloc] initWithFrame:rect];
-  [pbox setTitlePosition:NSNoTitle];
-  [pbox setBorderType:NSNoBorder];
-  [pbox addSubview:gbox];
-  [pbox addSubview:pb];
-  [pbox sizeToFit];
-
-  // and make a window to hold that.
-  //
-  NSScreen *screen = [NSScreen mainScreen];
-  rect = [pbox frame];
-  rect.origin.x = ([screen frame].size.width  - rect.size.width)  / 2;
-  rect.origin.y = ([screen frame].size.height - rect.size.height) / 2;
-  
-  rect.origin.x += rect.size.width * (which ? 0.55 : -0.55);
-  
-  NSWindow *window = [[NSWindow alloc]
-                      initWithContentRect:rect
-                                styleMask:(NSTitledWindowMask |
-                                           NSClosableWindowMask |
-                                           NSMiniaturizableWindowMask |
-                                           NSResizableWindowMask)
-                                  backing:NSBackingStoreBuffered
-                                    defer:YES
-                                   screen:screen];
-  [window setTitle:@"XScreenSaver"];
-  [window setMinSize:[window frameRectForContentRect:rect].size];
-
-  [[window contentView] addSubview:pbox];
-
-  [sv setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
-  [pb setAutoresizingMask:NSViewMinXMargin|NSViewMaxXMargin];
-  [gbox setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
-  [pbox setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
-    
-  [window setFrameAutosaveName:(which
-                                ? @"SaverDebugWindow1"
-                                : @"SaverDebugWindow0")];
-  [window setFrameUsingName:[window frameAutosaveName]];
-  
-  [window makeKeyAndOrderFront:window];
-  
-  [sv startAnimation];
-}
-
-
-- (void)applicationDidFinishLaunching: (NSNotification *) n
-{
-  [self makeWindow:[self makeSaverView] which:0];
-  [self makeWindow:[self makeSaverView] which:1];
-}
-
-/* When the window closes, exit (even if prefs still open.)
-*/
-- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) n
-{
-  return YES;
-}
-
-@end