1 
2 /*
3  * Copyright 2011 Google Inc.
4  *
5  * Use of this source code is governed by a BSD-style license that can be
6  * found in the LICENSE file.
7  */
8 #ifndef SkOSWindow_iOS_DEFINED
9 #define SkOSWindow_iOS_DEFINED
10 
11 #include "SkWindow.h"
12 
13 class SkOSWindow : public SkWindow {
14 public:
15     SkOSWindow(void* hwnd);
16     ~SkOSWindow();
getHWND()17     void*   getHWND() const { return fHWND; }
18 
19     enum SkBackEndTypes {
20         kNone_BackEndType,
21         kNativeGL_BackEndType,
22     };
23 
24     void    detach();
25     bool    attach(SkBackEndTypes attachType, int msaaSampleCount, AttachmentInfo*);
26     void    present();
27 
makeFullscreen()28     bool makeFullscreen() { return true; }
closeWindow()29     void closeWindow() { /* Not impl yet */ }
setVsync(bool)30     void setVsync(bool) { /* Can't turn off vsync? */ }
31 
32 protected:
33     // overrides from SkEventSink
34     virtual bool onEvent(const SkEvent& evt);
35     // overrides from SkWindow
36     virtual void onHandleInval(const SkIRect&);
37     // overrides from SkView
38     virtual void onAddMenu(const SkOSMenu*);
39     virtual void onUpdateMenu(SkOSMenu*);
40     virtual void onSetTitle(const char[]);
41 
42 private:
43     void*   fHWND;
44     bool    fInvalEventIsPending;
45     void*   fNotifier;
46     typedef SkWindow INHERITED;
47 };
48 
49 #endif
50