OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ANDROID_WEBVIEW_PUBLIC_BROWSER_DRAW_GL_H_ | 5 #ifndef ANDROID_WEBVIEW_PUBLIC_BROWSER_DRAW_GL_H_ |
6 #define ANDROID_WEBVIEW_PUBLIC_BROWSER_DRAW_GL_H_ | 6 #define ANDROID_WEBVIEW_PUBLIC_BROWSER_DRAW_GL_H_ |
7 | 7 |
8 #ifdef __cplusplus | 8 #ifdef __cplusplus |
9 extern "C" { | 9 extern "C" { |
10 #endif | 10 #endif |
11 | 11 |
12 static const int kAwDrawGLInfoVersion = 1; | 12 |
| 13 // 1 is L/L MR1 |
| 14 // |
| 15 // 2 starts at M, and added an imperfect workaround for complex clipping by |
| 16 // elevating the WebView into an FBO layer. If any transform, clip, or outline |
| 17 // clip occurs that would either likely use the stencil buffer for clipping, or |
| 18 // require shader based clipping in HWUI, the WebView is drawn into an FBO (if |
| 19 // it fits). |
| 20 // This is a temporary workaround for a lack of WebView support for stencil/ |
| 21 // shader based round rect clipping, and should be removed when webview is |
| 22 // capable of supporting these clips internally when drawing. |
| 23 static const int kAwDrawGLInfoVersion = 2; |
13 | 24 |
14 // Holds the information required to trigger an OpenGL drawing operation. | 25 // Holds the information required to trigger an OpenGL drawing operation. |
15 struct AwDrawGLInfo { | 26 struct AwDrawGLInfo { |
16 int version; // The AwDrawGLInfo this struct was built with. | 27 int version; // The AwDrawGLInfo this struct was built with. |
17 | 28 |
18 // Input: tells the draw function what action to perform. | 29 // Input: tells the draw function what action to perform. |
19 enum Mode { | 30 enum Mode { |
20 kModeDraw = 0, | 31 kModeDraw = 0, |
21 kModeProcess, | 32 kModeProcess, |
22 kModeProcessNoContext, | 33 kModeProcessNoContext, |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 AwUnmapFunction* unmap; | 108 AwUnmapFunction* unmap; |
98 AwGetNativeBufferFunction* get_native_buffer; | 109 AwGetNativeBufferFunction* get_native_buffer; |
99 AwGetStrideFunction* get_stride; | 110 AwGetStrideFunction* get_stride; |
100 }; | 111 }; |
101 | 112 |
102 #ifdef __cplusplus | 113 #ifdef __cplusplus |
103 } // extern "C" | 114 } // extern "C" |
104 #endif | 115 #endif |
105 | 116 |
106 #endif // ANDROID_WEBVIEW_PUBLIC_BROWSER_DRAW_GL_H_ | 117 #endif // ANDROID_WEBVIEW_PUBLIC_BROWSER_DRAW_GL_H_ |
OLD | NEW |