aw_picture.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright 2013 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef ANDROID_WEBVIEW_BROWSER_GFX_AW_PICTURE_H_
  5. #define ANDROID_WEBVIEW_BROWSER_GFX_AW_PICTURE_H_
  6. #include "base/android/jni_weak_ref.h"
  7. #include "third_party/skia/include/core/SkRefCnt.h"
  8. class SkPicture;
  9. namespace android_webview {
  10. class AwPicture {
  11. public:
  12. AwPicture(sk_sp<SkPicture> picture);
  13. AwPicture() = delete;
  14. AwPicture(const AwPicture&) = delete;
  15. AwPicture& operator=(const AwPicture&) = delete;
  16. ~AwPicture();
  17. // Methods called from Java.
  18. void Destroy(JNIEnv* env);
  19. jint GetWidth(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
  20. jint GetHeight(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
  21. void Draw(JNIEnv* env,
  22. const base::android::JavaParamRef<jobject>& obj,
  23. const base::android::JavaParamRef<jobject>& canvas);
  24. private:
  25. sk_sp<SkPicture> picture_;
  26. };
  27. } // android_webview
  28. #endif // ANDROID_WEBVIEW_BROWSER_GFX_AW_PICTURE_H_