SkOSWindow_Mac.h revision 3c4d032aeb2831a64fd6eff570667d590e3ed209
1 2/* 3 * Copyright 2006 The Android Open Source Project 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 9#ifndef SkOSWindow_MacCocoa_DEFINED 10#define SkOSWindow_MacCocoa_DEFINED 11 12#include "SkWindow.h" 13 14class SkOSWindow : public SkWindow { 15public: 16 SkOSWindow(void* hwnd); 17 ~SkOSWindow(); 18 void* getHWND() const { return fHWND; } 19 20 virtual bool onDispatchClick(int x, int y, Click::State state, 21 void* owner); 22 23 enum SkBackEndTypes { 24 kNone_BackEndType, 25 kNativeGL_BackEndType, 26 }; 27 28 void detach(); 29 bool attach(SkBackEndTypes attachType); 30 void present(); 31 32protected: 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(const SkOSMenu*); 40 virtual void onSetTitle(const char[]); 41 42private: 43 void* fHWND; 44 bool fInvalEventIsPending; 45 void* fNotifier; 46 void* fGLContext; 47 typedef SkWindow INHERITED; 48}; 49 50#endif 51