diff options
Diffstat (limited to 'tools/viewer/sk_app/android/RasterWindowContext_android.h')
-rw-r--r-- | tools/viewer/sk_app/android/RasterWindowContext_android.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/viewer/sk_app/android/RasterWindowContext_android.h b/tools/viewer/sk_app/android/RasterWindowContext_android.h new file mode 100644 index 0000000000..913b06c9dd --- /dev/null +++ b/tools/viewer/sk_app/android/RasterWindowContext_android.h @@ -0,0 +1,43 @@ + +/* + * Copyright 2016 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +#ifndef RasterWindowContext_android_DEFINED +#define RasterWindowContext_android_DEFINED + +#include <android/native_window_jni.h> + +#include "../RasterWindowContext.h" + +namespace sk_app { + +class RasterWindowContext_android : public RasterWindowContext { +public: + friend RasterWindowContext* RasterWindowContext::Create( + void* platformData, const DisplayParams&); + + sk_sp<SkSurface> getBackbufferSurface() override; + void swapBuffers() override; + + bool isValid() override { return SkToBool(fNativeWindow); } + void resize(uint32_t w, uint32_t h) override { + SkDEBUGFAIL("Resize is currently unsupported."); + } + void setDisplayParams(const DisplayParams& params) override { + SkDEBUGFAIL("setDisplayParams is currently unsupported."); + } + +private: + RasterWindowContext_android(void* platformData, const DisplayParams& params); + sk_sp<SkSurface> fBackbufferSurface = nullptr; + ANativeWindow* fNativeWindow = nullptr; + ANativeWindow_Buffer fBuffer; + ARect fBounds; +}; + +} // namespace sk_app + +#endif |