1688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com/*
2688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com * Copyright 2011 Google Inc.
3688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com *
4688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com * Use of this source code is governed by a BSD-style license that can be
5688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com * found in the LICENSE file.
6688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com */
7688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com
8688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com#include "SampleApp.h"
9688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com#import "SkUIView.h"
10688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com
11688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.comclass SkiOSDeviceManager;
12688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.comclass SkOSWindow;
13688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.comclass SkEvent;
14688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.comstruct FPSState;
15688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com
16688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com@interface SkSampleUIView : SkUIView  {
17688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    BOOL fRedrawRequestPending;
18d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com
19688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    struct {
20688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com        EAGLContext*    fContext;
21688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com        GLuint          fRenderbuffer;
22688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com        GLuint          fStencilbuffer;
23688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com        GLuint          fFramebuffer;
24688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com        GLint           fWidth;
25688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com        GLint           fHeight;
26688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    } fGL;
27d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com
28688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    NSString* fTitle;
29688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    CALayer* fRasterLayer;
30688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    CAEAGLLayer* fGLLayer;
31d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com
32688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    FPSState* fFPSState;
33688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com    SkiOSDeviceManager* fDevManager;
34688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com}
35688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com
36688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com@property (nonatomic, copy) NSString* fTitle;
37688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com@property (nonatomic, retain) CALayer* fRasterLayer;
38688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com@property (nonatomic, retain) CAEAGLLayer* fGLLayer;
39688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com
40688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com- (id)initWithDefaults;
41688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com- (void)drawInRaster;
42688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com- (void)forceRedraw;
43688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com
44688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com- (void)setSkTitle:(const char*)title;
45688823f5d3d30f6f97862adec940ac3e2caee889yangsu@google.com- (void)postInvalWithRect:(const SkIRect*)rectOrNil;
4664cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com- (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info;
4764cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com
48bda03db28935eef7f9a3aae05fdedca57cd984adrmistry@google.com@end
49