aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/viewer/sk_app/android/RasterWindowContext_android.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/viewer/sk_app/android/RasterWindowContext_android.h')
-rw-r--r--tools/viewer/sk_app/android/RasterWindowContext_android.h43
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