1// Copyright (c) 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_JAVA_BROWSER_VIEW_RENDERER_HELPER_H_ 6#define ANDROID_WEBVIEW_NATIVE_JAVA_BROWSER_VIEW_RENDERER_HELPER_H_ 7 8#include "android_webview/browser/browser_view_renderer.h" 9#include "base/android/scoped_java_ref.h" 10#include "base/compiler_specific.h" 11 12namespace android_webview { 13 14// Native side of java-class of same name. 15// Provides utility methods for rendering involving with Java objects. 16class JavaBrowserViewRendererHelper : public BrowserViewRenderer::JavaHelper { 17 public: 18 JavaBrowserViewRendererHelper(); 19 virtual ~JavaBrowserViewRendererHelper(); 20 21 static JavaBrowserViewRendererHelper* GetInstance(); 22 23 // BrowserViewRenderer::JavaHelper implementation. 24 virtual base::android::ScopedJavaLocalRef<jobject> CreateBitmap( 25 JNIEnv* env, 26 int width, 27 int height, 28 const base::android::JavaRef<jobject>& jcanvas, 29 void* owner_key) OVERRIDE; 30 virtual void DrawBitmapIntoCanvas( 31 JNIEnv* env, 32 const base::android::JavaRef<jobject>& jbitmap, 33 const base::android::JavaRef<jobject>& jcanvas, 34 int x, 35 int y) OVERRIDE; 36 virtual base::android::ScopedJavaLocalRef<jobject> RecordBitmapIntoPicture( 37 JNIEnv* env, 38 const base::android::JavaRef<jobject>& jbitmap) OVERRIDE; 39}; 40 41bool RegisterJavaBrowserViewRendererHelper(JNIEnv* env); 42 43} // namespace android_webview 44 45#endif // ANDROID_WEBVIEW_NATIVE_JAVA_BROWSER_VIEW_RENDERER_HELPER_H_ 46