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_helper.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 jint left, jint top, jint right, jint bottom); 31 32 private: 33 skia::RefPtr<SkPicture> picture_; 34 35 DISALLOW_IMPLICIT_CONSTRUCTORS(AwPicture); 36 }; 37 38 bool RegisterAwPicture(JNIEnv* env); 39 40 } // android_webview 41 42 #endif // ANDROID_WEBVIEW_NATIVE_AW_PICTURE_ 43