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
16class SkPicture;
17
18namespace android_webview {
19
20class 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
37bool RegisterAwPicture(JNIEnv* env);
38
39}  // android_webview
40
41#endif  // ANDROID_WEBVIEW_NATIVE_AW_PICTURE_
42