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
13class SkOSWindow : public SkWindow {
14public:
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    void    detach();
25    bool    attach(SkBackEndTypes attachType, int msaaSampleCount, AttachmentInfo*);
26    void    present();
27
28    bool makeFullscreen() { return true; }
29    void closeWindow() { /* Not impl yet */ }
30    void setVsync(bool) { /* Can't turn off vsync? */ }
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(SkOSMenu*);
40    virtual void onSetTitle(const char[]);
41
42private:
43    void*   fHWND;
44    bool    fInvalEventIsPending;
45    void*   fNotifier;
46    typedef SkWindow INHERITED;
47};
48
49#endif
50