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 5 #ifndef ANDROID_WEBVIEW_NATIVE_AW_PICTURE_H_ 6 #define ANDROID_WEBVIEW_NATIVE_AW_PICTURE_H_ 7 8 #include <jni.h> 9 10 #include "base/android/jni_weak_ref.h" 11 #include "base/android/scoped_java_ref.h" 12 #include "base/memory/scoped_ptr.h" 13 #include "content/public/browser/web_contents_observer.h" 14 #include "skia/ext/refptr.h" 15 16 class SkPicture; 17 18 namespace android_webview { 19 20 class AwPicture { 21 public: 22 AwPicture(skia::RefPtr<SkPicture> picture); 23 ~AwPicture(); 24 25 // Methods called from Java. 26 void Destroy(JNIEnv* env, jobject obj); 27 jint GetWidth(JNIEnv* env, jobject obj); 28 jint GetHeight(JNIEnv* env, jobject obj); 29 void Draw(JNIEnv* env, jobject obj, jobject canvas); 30 31 private: 32 skia::RefPtr<SkPicture> picture_; 33 34 DISALLOW_IMPLICIT_CONSTRUCTORS(AwPicture); 35 }; 36 37 bool RegisterAwPicture(JNIEnv* env); 38 39 } // android_webview 40 41 #endif // ANDROID_WEBVIEW_NATIVE_AW_PICTURE_ 42