Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Side by Side Diff: chrome/browser/android/vr_shell/ui_elements.h

Issue 2624243002: VrShell: Allow native control of UI element opacity. (Closed)
Patch Set: for (auto nit : nits) nit.fix(); Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 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 CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_H_ 5 #ifndef CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_H_
6 #define CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_H_ 6 #define CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 gvr::Vec3f GetNormal() const; 56 gvr::Vec3f GetNormal() const;
57 float GetRayDistance(gvr::Vec3f rayOrigin, gvr::Vec3f rayVector) const; 57 float GetRayDistance(gvr::Vec3f rayOrigin, gvr::Vec3f rayVector) const;
58 }; 58 };
59 59
60 struct ContentRectangle : public WorldRectangle { 60 struct ContentRectangle : public WorldRectangle {
61 ContentRectangle(); 61 ContentRectangle();
62 ~ContentRectangle(); 62 ~ContentRectangle();
63 63
64 void Animate(int64_t time); 64 void Animate(int64_t time);
65 65
66 // Indicates whether the element should be visually rendered.
67 bool IsVisible() const;
68
69 // Indicates whether the element should be tested for cursor input.
70 bool IsHitTestable() const;
71
66 // Valid IDs are non-negative. 72 // Valid IDs are non-negative.
67 int id = -1; 73 int id = -1;
68 74
69 // If a non-negative parent ID is specified, applicable tranformations 75 // If a non-negative parent ID is specified, applicable tranformations
70 // are applied relative to the parent, rather than absolutely. 76 // are applied relative to the parent, rather than absolutely.
71 int parent_id = -1; 77 int parent_id = -1;
72 78
73 // If true, this object will be visible. 79 // If true, this object will be visible.
74 bool visible = true; 80 bool visible = true;
75 81
(...skipping 17 matching lines...) Expand all
93 // The scale of the object, and its children. 99 // The scale of the object, and its children.
94 gvr::Vec3f scale = {1.0f, 1.0f, 1.0f}; 100 gvr::Vec3f scale = {1.0f, 1.0f, 1.0f};
95 101
96 // The rotation of the object, and its children. 102 // The rotation of the object, and its children.
97 RotationAxisAngle rotation = {1.0f, 0.0f, 0.0f, 0.0f}; 103 RotationAxisAngle rotation = {1.0f, 0.0f, 0.0f, 0.0f};
98 104
99 // The translation of the object, and its children. Translation is applied 105 // The translation of the object, and its children. Translation is applied
100 // after rotation and scaling. 106 // after rotation and scaling.
101 gvr::Vec3f translation = {0.0f, 0.0f, 0.0f}; 107 gvr::Vec3f translation = {0.0f, 0.0f, 0.0f};
102 108
109 // The opacity of the object (between 0.0 and 1.0).
110 float opacity = 1.0f;
111
112 // The computed opacity, incorporating opacity of parent objects.
113 float computed_opacity;
114
103 // If anchoring is specified, the translation will be relative to the 115 // If anchoring is specified, the translation will be relative to the
104 // specified edge(s) of the parent, rather than the center. A parent object 116 // specified edge(s) of the parent, rather than the center. A parent object
105 // must be specified when using anchoring. 117 // must be specified when using anchoring.
106 XAnchoring x_anchoring = XAnchoring::XNONE; 118 XAnchoring x_anchoring = XAnchoring::XNONE;
107 YAnchoring y_anchoring = YAnchoring::YNONE; 119 YAnchoring y_anchoring = YAnchoring::YNONE;
108 120
109 // Animations that affect the properties of the object over time. 121 // Animations that affect the properties of the object over time.
110 std::vector<std::unique_ptr<Animation>> animations; 122 std::vector<std::unique_ptr<Animation>> animations;
111 123
112 private: 124 private:
113 DISALLOW_COPY_AND_ASSIGN(ContentRectangle); 125 DISALLOW_COPY_AND_ASSIGN(ContentRectangle);
114 }; 126 };
115 127
116 } // namespace vr_shell 128 } // namespace vr_shell
117 129
118 #endif // CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_H_ 130 #endif // CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_H_
OLDNEW
« no previous file with comments | « chrome/browser/android/vr_shell/animation.h ('k') | chrome/browser/android/vr_shell/ui_elements.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698