+#ifdef USE_IPHONE
+# import <Foundation/Foundation.h>
+# import <UIKit/UIKit.h>
+# import <OpenGLES/EAGL.h>
+# import <OpenGLES/ES1/gl.h>
+# import <OpenGLES/ES1/glext.h>
+# import <QuartzCore/QuartzCore.h>
+# define NSView UIView
+# define NSRect CGRect
+# define NSSize CGSize
+# define NSColor UIColor
+# define NSImage UIImage
+# define NSEvent UIEvent
+# define NSWindow UIWindow
+# define NSButton UIButton
+# define NSApplication UIApplication
+# define NSScreen UIScreen
+#else
+# import <Cocoa/Cocoa.h>
+# import <ScreenSaver/ScreenSaver.h>
+#endif
+
+#import <XScreenSaverView.h>
+
+#ifdef USE_IPHONE
+
+@class SaverRunner;
+
+@interface SaverViewController : UIViewController
+{
+ SaverRunner *_parent;
+ NSString *_saverName;
+ XScreenSaverView *_saverView;
+
+ /* When a the SaverViewController is presented, iOS automatically changes
+ the status bar orientation. (And, by extension, the notification center
+ orientation.) But there's no willPresentAsModal: event for a
+ UIViewController so that it knows when this is going to happen, and the
+ other event handlers occur after the status bar is changed. So save the
+ orientation just before the view controller is modal-presented, and
+ restore the proper status bar orientation just before the saverView is
+ created so it can pick it up in didRotate:. */
+ // UIInterfaceOrientation _storedOrientation;
+
+ BOOL _showAboutBox;
+ UIView *aboutBox;
+ NSTimer *splashTimer;
+}
+
+@property(nonatomic, retain) NSString *saverName;
+
+@end
+
+#endif