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