1363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
2363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger/*
3363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger * Copyright 2012 Skia
4363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger *
5363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger * Use of this source code is governed by a BSD-style license that can be
6363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger * found in the LICENSE file.
7363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger */
8363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
9363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
10363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger#ifndef SkOSWindow_NaCl_DEFINED
11363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger#define SkOSWindow_NaCl_DEFINED
12363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
13363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger#include "SkWindow.h"
14363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
15363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenbergerclass SkIRect;
16363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
17363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenbergerclass SkOSWindow : public SkWindow {
18363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenbergerpublic:
19363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    SkOSWindow(void*) {}
20363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    ~SkOSWindow() {}
21363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
22363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    enum SkBackEndTypes {
23363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger        kNone_BackEndType,
24363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger        kNativeGL_BackEndType,
25363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    };
26363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
27096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger    struct AttachmentInfo {
28096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger        int fSampleCount;
29096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger        int fStencilBits;
30096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger    };
31096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger
32096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger    bool attach(SkBackEndTypes /* attachType */, int /* msaaSampleCount */, AttachmentInfo* info) {
33096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger        info->fSampleCount = 0;
34096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger        info->fStencilBits = 0;
35363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger        return true;
36363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    }
37363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    void detach() {}
38363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    void present() {}
39363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
40363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    virtual void onPDFSaved(const char title[], const char desc[],
41363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger        const char path[]);
42363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
43363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenbergerprotected:
44363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    // overrides from SkWindow
45363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    virtual void onHandleInval(const SkIRect&);
46363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    virtual void onSetTitle(const char title[]);
47363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
48363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenbergerprivate:
49363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger    typedef SkWindow INHERITED;
50363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger};
51363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger
52363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger#endif
53