+
+# ifdef USE_IPHONE
+ UIDeviceOrientation orientation, new_orientation;
+ BOOL screenLocked;
+
+ CGSize initial_bounds; // portrait-mode size (pixels, not points).
+
+ GLfloat rotation_ratio; // ratio [0-1] thru rotation anim, or -1
+ NSSize rot_current_size; // intermediate or at-rest orientation.
+ NSSize rot_from, rot_to; // start/end size rect (pixels, not points)
+ GLfloat rot_current_angle; // only right angles when rotation complete.
+ GLfloat angle_from, angle_to; // start angle, end angle (degrees)
+ double rot_start_time;
+
+ BOOL ignore_rotation_p; // whether hack requested "always portrait".
+ // some want this, some do not.
+
+ NSTimer *crash_timer;
+
+ NSDictionary *function_tables;
+
+ id<XScreenSaverViewDelegate> _delegate;
+
+# endif // USE_IPHONE
+
+# ifdef USE_BACKBUFFER
+ CGContextRef backbuffer;
+ CGSize backbuffer_size; // pixels, not points.
+ CGColorSpaceRef colorspace;
+
+# ifdef BACKBUFFER_OPENGL
+ void *backbuffer_data;
+ size_t backbuffer_len;
+
+ GLsizei gl_texture_w, gl_texture_h;
+
+ NSOpenGLContext *ogl_ctx; // OpenGL rendering context
+ GLuint backbuffer_texture;
+ GLenum gl_texture_target;
+ GLenum gl_pixel_format, gl_pixel_type;
+# ifndef USE_IPHONE
+ BOOL double_buffered_p, gl_apple_client_storage_p;
+# else // USE_IPHONE
+ BOOL gl_limited_npot_p;
+ GLuint gl_framebuffer, gl_renderbuffer;
+# endif // USE_IPHONE
+# endif
+
+# endif // USE_BACKBUFFER