OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 CHROME_BROWSER_ANDROID_COMPOSITOR_SCENE_LAYER_READER_MODE_SCENE_LAYER_H_ | |
6 #define CHROME_BROWSER_ANDROID_COMPOSITOR_SCENE_LAYER_READER_MODE_SCENE_LAYER_H_ | |
7 | |
8 #include <memory> | |
9 #include <vector> | |
10 | |
11 #include "base/android/jni_android.h" | |
12 #include "base/android/jni_weak_ref.h" | |
13 #include "base/android/scoped_java_ref.h" | |
14 #include "base/macros.h" | |
15 #include "chrome/browser/android/compositor/scene_layer/scene_layer.h" | |
16 #include "ui/android/resources/resource_manager_impl.h" | |
17 | |
18 namespace cc { | |
19 class Layer; | |
20 class SolidColorLayer; | |
21 } | |
22 | |
23 namespace android { | |
24 | |
25 class ReaderModeLayer; | |
26 | |
27 class ReaderModeSceneLayer : public SceneLayer { | |
28 public: | |
29 ReaderModeSceneLayer(JNIEnv* env, jobject jobj); | |
30 ~ReaderModeSceneLayer() override; | |
31 | |
32 void CreateReaderModeLayer( | |
33 JNIEnv* env, | |
34 const base::android::JavaParamRef<jobject>& object, | |
35 const base::android::JavaParamRef<jobject>& jresource_manager); | |
36 | |
37 void SetResourceIds( | |
38 JNIEnv* env, | |
39 const base::android::JavaParamRef<jobject>& object, | |
40 jint text_resource_id, | |
41 jint bar_background_resource_id, | |
42 jint bar_shadow_resource_id, | |
43 jint panel_icon_resource_id, | |
44 jint close_icon_resource_id); | |
45 | |
46 void Update( | |
47 JNIEnv* env, | |
48 const base::android::JavaParamRef<jobject>& object, | |
49 jfloat dp_to_px, | |
50 jfloat base_page_brightness, | |
51 jfloat base_page_offset, | |
52 const base::android::JavaParamRef<jobject>& jcontent_view_core, | |
53 jfloat panel_X, | |
54 jfloat panel_y, | |
55 jfloat panel_width, | |
56 jfloat panel_height, | |
57 jfloat bar_margin_side, | |
58 jfloat bar_height, | |
59 jfloat text_opacity, | |
60 jboolean bar_border_visible, | |
61 jfloat bar_border_height, | |
62 jboolean bar_shadow_visible, | |
63 jfloat bar_shadow_opacity); | |
64 | |
65 void SetContentTree( | |
66 JNIEnv* env, | |
67 const base::android::JavaParamRef<jobject>& jobj, | |
68 const base::android::JavaParamRef<jobject>& jcontent_tree); | |
69 | |
70 void HideTree( | |
71 JNIEnv* env, | |
72 const base::android::JavaParamRef<jobject>& jobj); | |
73 | |
74 private: | |
75 float base_page_brightness_; | |
76 | |
77 scoped_refptr<cc::Layer> content_layer_; | |
78 scoped_refptr<ReaderModeLayer> reader_mode_layer_; | |
79 scoped_refptr<cc::SolidColorLayer> color_overlay_; | |
80 scoped_refptr<cc::Layer> content_container_; | |
81 | |
82 DISALLOW_COPY_AND_ASSIGN(ReaderModeSceneLayer); | |
83 }; | |
84 | |
85 bool RegisterReaderModeSceneLayer(JNIEnv* env); | |
86 | |
87 } // namespace android | |
88 | |
89 #endif // CHROME_BROWSER_ANDROID_COMPOSITOR_SCENE_LAYER_READER_MODE_SCENE_LAYER
_H_ | |
OLD | NEW |