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(); 17 void* getHWND() const { return fHWND; } 18 19 enum SkBackEndTypes { 20 kNone_BackEndType, 21 kNativeGL_BackEndType, 22 }; 23 24 struct AttachmentInfo { 25 int fSampleCount; 26 int fStencilBits; 27 }; 28 29 void detach(); 30 bool attach(SkBackEndTypes attachType, int msaaSampleCount, AttachmentInfo*); 31 void present(); 32 33 protected: 34 // overrides from SkEventSink 35 virtual bool onEvent(const SkEvent& evt); 36 // overrides from SkWindow 37 virtual void onHandleInval(const SkIRect&); 38 // overrides from SkView 39 virtual void onAddMenu(const SkOSMenu*); 40 virtual void onUpdateMenu(SkOSMenu*); 41 virtual void onSetTitle(const char[]); 42 43 private: 44 void* fHWND; 45 bool fInvalEventIsPending; 46 void* fNotifier; 47 typedef SkWindow INHERITED; 48 }; 49 50 #endif 51