X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=OSX%2FXScreenSaverView.h;h=eb241b39863c61214df6002cf40889ac3d7a87eb;hp=1c384ffa56916046828789e9bdd60a86dda9d092;hb=f8cf5ac7b2f53510f80a0eaf286a25298be17bfe;hpb=ec8d2b32b63649e6d32bdfb306eda062769af823 diff --git a/OSX/XScreenSaverView.h b/OSX/XScreenSaverView.h index 1c384ffa..eb241b39 100644 --- a/OSX/XScreenSaverView.h +++ b/OSX/XScreenSaverView.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 2006-2011 Jamie Zawinski +/* xscreensaver, Copyright (c) 2006-2012 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -15,11 +15,43 @@ the "screenhack.c" module. */ -#import -#import +#ifdef USE_IPHONE +# import +# import +# define NSView UIView +# define NSRect CGRect +# define NSSize CGSize +# define NSColor UIColor +# define NSImage UIImage +# define NSEvent UIEvent +# define NSWindow UIWindow +#else +# import +# import +#endif + + #import "screenhackI.h" #import "PrefsReader.h" +#ifdef USE_IPHONE +@interface ScreenSaverView : NSView +- (id)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview; +- (NSTimeInterval)animationTimeInterval; +- (void)setAnimationTimeInterval:(NSTimeInterval)timeInterval; +- (void)startAnimation; +- (void)stopAnimation; +- (BOOL)isAnimating; +- (void)animateOneFrame; +- (BOOL)hasConfigureSheet; +//- (NSWindow*)configureSheet; +- (UIViewController*)configureView; +- (BOOL)isPreview; +@end + +#endif // USE_IPHONE + + @interface XScreenSaverView : ScreenSaverView { struct xscreensaver_function_table *xsft; @@ -35,10 +67,40 @@ Window xwindow; void *xdata; fps_state *fpst; + +# ifdef USE_IPHONE + UIDeviceOrientation orientation, new_orientation; + NSTimer *orientation_Timer; + BOOL screenLocked; + + GLfloat rotation_ratio; // ratio thru rotation anim, or -1 + NSSize rot_from, rot_to; // start size rect, end size rect + GLfloat angle_from, angle_to; // start angle, end angle + double rot_start_time; + + NSSize rot_current_size; + GLfloat rot_current_angle; + + CGContextRef backbuffer; + NSSize backbuffer_size; + + NSTimer *crash_timer; + +# endif // USE_IPHONE + } +- (id)initWithFrame:(NSRect)frame saverName:(NSString*)n isPreview:(BOOL)p; + +- (void) render_x11; - (void) prepareContext; - (void) resizeContext; - (NSUserDefaultsController *) userDefaultsController; +#ifdef USE_IPHONE +- (void)didRotate:(NSNotification *)notification; +- (void)setScreenLocked:(BOOL)locked; +- (void)createBackbuffer; +#endif // USE_IPHONE + @end