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.
5 #ifndef ANDROID_WEBVIEW_NATIVE_JAVA_BROWSER_VIEW_RENDERER_HELPER_H_
6 #define ANDROID_WEBVIEW_NATIVE_JAVA_BROWSER_VIEW_RENDERER_HELPER_H_
8 #include "android_webview/browser/browser_view_renderer.h"
9 #include "base/android/scoped_java_ref.h"
10 #include "base/compiler_specific.h"
12 namespace android_webview
{
14 // Native side of java-class of same name.
15 // Provides utility methods for rendering involving with Java objects.
16 // TODO(boliu): Rename this class to JavaRasterHelper.
17 class JavaBrowserViewRendererHelper
: public BrowserViewRendererJavaHelper
{
19 JavaBrowserViewRendererHelper();
20 virtual ~JavaBrowserViewRendererHelper();
22 static void SetAwDrawSWFunctionTable(AwDrawSWFunctionTable
* table
);
23 static JavaBrowserViewRendererHelper
* GetInstance();
25 // BrowserViewRendererJavaHelper implementation.
26 virtual bool RenderViaAuxilaryBitmapIfNeeded(
28 const gfx::Vector2d
& scroll_correction
,
29 const gfx::Rect
& auxiliary_bitmap_rect
,
30 RenderMethod render_source
) OVERRIDE
;
33 bool RenderViaAuxilaryBitmap(JNIEnv
* env
,
35 const gfx::Vector2d
& scroll_correction
,
36 const gfx::Rect
& auxiliary_bitmap_rect
,
37 const RenderMethod
& render_source
);
38 bool RasterizeIntoBitmap(
40 const base::android::JavaRef
<jobject
>& jbitmap
,
43 const JavaBrowserViewRendererHelper::RenderMethod
& renderer
);
46 bool RegisterJavaBrowserViewRendererHelper(JNIEnv
* env
);
48 } // namespace android_webview
50 #endif // ANDROID_WEBVIEW_NATIVE_JAVA_BROWSER_VIEW_RENDERER_HELPER_H_