nuclear@0: #import nuclear@0: #import nuclear@0: nuclear@0: #import nuclear@0: #import nuclear@0: nuclear@0: @interface GLView : UIView nuclear@0: { nuclear@0: @private nuclear@0: int xsz, ysz; nuclear@0: EAGLContext *context; nuclear@0: nuclear@0: unsigned int fbo, rbuf_color, rbuf_depth; nuclear@0: nuclear@0: BOOL animating; nuclear@0: BOOL display_link_supported; nuclear@0: NSInteger anim_frame_interval; nuclear@0: // Use of the CADisplayLink class is the preferred method for controlling your animation timing. nuclear@0: // CADisplayLink will link to the main display and fire every vsync when added to a given run-loop. nuclear@0: // The NSTimer class is used only as fallback when running on a pre 3.1 device where CADisplayLink nuclear@0: // isn't available. nuclear@0: id display_link; nuclear@0: NSTimer *anim_timer; nuclear@0: } nuclear@0: nuclear@0: @property (readonly, nonatomic, getter=isAnimating) BOOL animating; nuclear@0: @property (nonatomic) NSInteger anim_frame_interval; nuclear@0: nuclear@0: - (void)startAnimation; nuclear@0: - (void)stopAnimation; nuclear@0: - (void)drawView: (id)sender; nuclear@0: - (void)swap_buffers; nuclear@0: nuclear@0: @end