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
16class 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