1 /* 2 * Copyright 2011 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #import <OpenGLES/EAGL.h> 8 #import <OpenGLES/ES1/gl.h> 9 #import <OpenGLES/ES1/glext.h> 10 #import <OpenGLES/ES2/gl.h> 11 #import <OpenGLES/ES2/glext.h> 12 #import <QuartzCore/QuartzCore.h> 13 #import <UIKit/UIKit.h> 14 #include "SkOSWindow_ios.h" 15 16 class SkEvent; 17 @class SkUIView; 18 19 @protocol SkUIViewOptionsDelegate <NSObject> 20 @optional 21 // Called when the view needs to handle adding an SkOSMenu 22 - (void) view:(SkUIView*)view didAddMenu:(const SkOSMenu*)menu; 23 - (void) view:(SkUIView*)view didUpdateMenu:(SkOSMenu*)menu; 24 @end 25 26 @interface SkUIView : UIView { 27 UINavigationItem* fTitleItem; 28 SkOSWindow* fWind; 29 id<SkUIViewOptionsDelegate> fOptionsDelegate; 30 } 31 32 @property (nonatomic, readonly) SkOSWindow *fWind; 33 @property (nonatomic, retain) UINavigationItem* fTitleItem; 34 @property (nonatomic, assign) id<SkUIViewOptionsDelegate> fOptionsDelegate; 35 36 - (id)initWithDefaults; 37 - (void)setUpWindow; 38 - (void)forceRedraw; 39 - (void)drawInRaster; 40 41 - (void)setSkTitle:(const char*)title; 42 - (void)onAddMenu:(const SkOSMenu*)menu; 43 - (void)onUpdateMenu:(SkOSMenu*)menu; 44 - (void)postInvalWithRect:(const SkIRect*)rectOrNil; 45 - (BOOL)onHandleEvent:(const SkEvent&)event; 46 - (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info; 47 48 @end 49