17158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
27158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com/*
37158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com * Copyright 2012 Skia
47158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com *
57158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com * Use of this source code is governed by a BSD-style license that can be
67158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com * found in the LICENSE file.
77158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com */
87158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
97158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
107158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com#ifndef SkOSWindow_NaCl_DEFINED
117158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com#define SkOSWindow_NaCl_DEFINED
127158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
137158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com#include "SkWindow.h"
147158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
157158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.comclass SkIRect;
167158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
177158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.comclass SkOSWindow : public SkWindow {
187158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.compublic:
197158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    SkOSWindow(void*) {}
207158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    ~SkOSWindow() {}
217158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
227158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    enum SkBackEndTypes {
237158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com        kNone_BackEndType,
247158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com        kNativeGL_BackEndType,
257158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    };
267158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
2764cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com    struct AttachmentInfo {
2864cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com        int fSampleCount;
2964cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com        int fStencilBits;
3064cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com    };
3164cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com
3264cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com    bool attach(SkBackEndTypes /* attachType */, int /* msaaSampleCount */, AttachmentInfo* info) {
3364cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com        info->fSampleCount = 0;
3464cc810ad165724f9c666a75bd52e41c67f13564bsalomon@google.com        info->fStencilBits = 0;
357158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com        return true;
367158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    }
377158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    void detach() {}
387158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    void present() {}
397158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
407158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    virtual void onPDFSaved(const char title[], const char desc[],
417158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com        const char path[]);
427158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
437158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.comprotected:
447158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    // overrides from SkWindow
457158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    virtual void onHandleInval(const SkIRect&);
467158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    virtual void onSetTitle(const char title[]);
477158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
487158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.comprivate:
497158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com    typedef SkWindow INHERITED;
507158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com};
517158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com
527158e6acca1b1ecc321d4d514a31cba11b5ead60borenet@google.com#endif
53