skia2/tools/viewer/sk_app/android/RasterWindowContext_android.h
liyuqian 71491dc14c Support resize in Android Viewer App
Previously, we took out resize because Vulkan didn't support it in
Android. Now Android nyc-dev builds >= 2937079 and nyc-release builds >=
NRD66 supports it so we add it back.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050613003

Review-Url: https://codereview.chromium.org/2050613003
2016-06-09 12:02:34 -07:00

41 lines
1.1 KiB
C++

/*
* 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;
void setDisplayParams(const DisplayParams& params) override;
private:
RasterWindowContext_android(void* platformData, const DisplayParams& params);
void setBuffersGeometry();
sk_sp<SkSurface> fBackbufferSurface = nullptr;
ANativeWindow* fNativeWindow = nullptr;
ANativeWindow_Buffer fBuffer;
ARect fBounds;
};
} // namespace sk_app
#endif