#import <UIKit/UIKit.h>
#include "SkMatrix.h"
#include "FlingState.h"
#import <OpenGLES/EAGL.h>
#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
class SkOSWindow;
class SkEvent;
@interface SkUIView : UIView <UIAccelerometerDelegate> {
BOOL fRedrawRequestPending;
SkOSWindow* fWind;
SkMatrix fMatrix, fLocalMatrix;
bool fNeedGestureEnded;
SkMatrix fRotateMatrix;
float fFirstPinchX, fFirstPinchY;
bool fNeedFirstPinch;
float fZoomAroundX, fZoomAroundY;
bool fZoomAround;
FlingState fFlingState;
GrAnimateFloat fWarpState;
bool fUseWarp;
struct {
EAGLContext* fContext;
GLuint fRenderbuffer;
GLuint fStencilbuffer;
GLuint fFramebuffer;
GLint fWidth;
GLint fHeight;
} fGL;
UILabel* fTitleLabel;
enum Backend {
kGL_Backend,
kRaster_Backend,
};
// these are visible to DetailViewController
Backend fBackend;
bool fComplexClip;
}
@property (nonatomic, assign) SkOSWindow *fWind;
@property (nonatomic, retain) UILabel* fTitleLabel;
@property (nonatomic, assign) Backend fBackend;
@property (nonatomic, assign) bool fComplexClip;
@property (nonatomic, assign, setter=setWarpState) bool fUseWarp;
- (void)setSkTitle:(const char*)title;
- (void)postInvalWithRect:(const SkIRect*)rectOrNil;
- (BOOL)onHandleEvent:(const SkEvent&)event;
@end