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

Side by Side Diff: cc/layers/solid_color_scrollbar_layer.cc

Issue 2397843003: cc/blimp: Add (de)-serialization for PictureLayer and ScrollbarLayer. (Closed)
Patch Set: Created 4 years, 2 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "cc/layers/solid_color_scrollbar_layer.h" 5 #include "cc/layers/solid_color_scrollbar_layer.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "cc/layers/layer_impl.h" 9 #include "cc/layers/layer_impl.h"
10 #include "cc/layers/solid_color_scrollbar_layer_impl.h" 10 #include "cc/layers/solid_color_scrollbar_layer_impl.h"
(...skipping 29 matching lines...) Expand all
40 int thumb_thickness, 40 int thumb_thickness,
41 int track_start, 41 int track_start,
42 bool is_left_side_vertical_scrollbar, 42 bool is_left_side_vertical_scrollbar,
43 int scroll_layer_id) 43 int scroll_layer_id)
44 : scroll_layer_id(Layer::INVALID_ID), 44 : scroll_layer_id(Layer::INVALID_ID),
45 orientation(orientation), 45 orientation(orientation),
46 thumb_thickness(thumb_thickness), 46 thumb_thickness(thumb_thickness),
47 track_start(track_start), 47 track_start(track_start),
48 is_left_side_vertical_scrollbar(is_left_side_vertical_scrollbar) {} 48 is_left_side_vertical_scrollbar(is_left_side_vertical_scrollbar) {}
49 49
50 SolidColorScrollbarLayer::SolidColorScrollbarLayer(
51 int engine_layer_id,
52 ScrollbarOrientation orientation,
53 int thumb_thickness,
54 int track_start,
55 bool is_left_side_vertical_scrollbar,
56 int scroll_layer_id)
57 : Layer(engine_layer_id),
58 solid_color_scrollbar_layer_inputs_(orientation,
59 thumb_thickness,
60 track_start,
61 is_left_side_vertical_scrollbar,
62 scroll_layer_id) {}
63
50 SolidColorScrollbarLayer::SolidColorScrollbarLayerInputs:: 64 SolidColorScrollbarLayer::SolidColorScrollbarLayerInputs::
51 ~SolidColorScrollbarLayerInputs() = default; 65 ~SolidColorScrollbarLayerInputs() = default;
52 66
53 SolidColorScrollbarLayer::SolidColorScrollbarLayer( 67 SolidColorScrollbarLayer::SolidColorScrollbarLayer(
54 ScrollbarOrientation orientation, 68 ScrollbarOrientation orientation,
55 int thumb_thickness, 69 int thumb_thickness,
56 int track_start, 70 int track_start,
57 bool is_left_side_vertical_scrollbar, 71 bool is_left_side_vertical_scrollbar,
58 int scroll_layer_id) 72 int scroll_layer_id)
59 : solid_color_scrollbar_layer_inputs_(orientation, 73 : solid_color_scrollbar_layer_inputs_(orientation,
60 thumb_thickness, 74 thumb_thickness,
61 track_start, 75 track_start,
62 is_left_side_vertical_scrollbar, 76 is_left_side_vertical_scrollbar,
63 scroll_layer_id) { 77 scroll_layer_id) {
64 Layer::SetOpacity(0.f); 78 Layer::SetOpacity(0.f);
65 } 79 }
66 80
67 SolidColorScrollbarLayer::~SolidColorScrollbarLayer() {} 81 SolidColorScrollbarLayer::~SolidColorScrollbarLayer() {}
68 82
69 ScrollbarLayerInterface* SolidColorScrollbarLayer::ToScrollbarLayer() { 83 ScrollbarLayerInterface* SolidColorScrollbarLayer::ToScrollbarLayer() {
70 return this; 84 return this;
71 } 85 }
72 86
87 void SolidColorScrollbarLayer::ToLayerNodeProto(proto::LayerNode* proto) const {
88 Layer::ToLayerNodeProto(proto);
89
90 proto::SolidColorScrollbarLayerProperties* scrollbar =
91 proto->mutable_solid_scrollbar();
92 scrollbar->set_scroll_layer_id(
93 solid_color_scrollbar_layer_inputs_.scroll_layer_id);
94 scrollbar->set_thumb_thickness(
95 solid_color_scrollbar_layer_inputs_.thumb_thickness);
96 scrollbar->set_track_start(solid_color_scrollbar_layer_inputs_.track_start);
97 scrollbar->set_is_left_side_vertical_scrollbar(
98 solid_color_scrollbar_layer_inputs_.is_left_side_vertical_scrollbar);
99 scrollbar->set_orientation(ScrollbarOrientationToProto(
100 solid_color_scrollbar_layer_inputs_.orientation));
101 }
102
103 void SolidColorScrollbarLayer::FromLayerNodeProto(
104 const proto::LayerNode& proto,
105 const LayerIdMap& layer_map,
106 LayerTreeHost* layer_tree_host) {
107 Layer::FromLayerNodeProto(proto, layer_map, layer_tree_host);
108
109 const proto::SolidColorScrollbarLayerProperties& scrollbar =
110 proto.solid_scrollbar();
111 solid_color_scrollbar_layer_inputs_.scroll_layer_id =
112 scrollbar.scroll_layer_id();
113 solid_color_scrollbar_layer_inputs_.thumb_thickness =
114 scrollbar.thumb_thickness();
115 solid_color_scrollbar_layer_inputs_.track_start = scrollbar.track_start();
116 solid_color_scrollbar_layer_inputs_.is_left_side_vertical_scrollbar =
117 scrollbar.is_left_side_vertical_scrollbar();
118 solid_color_scrollbar_layer_inputs_.orientation =
119 ScrollbarOrientationFromProto(scrollbar.orientation());
120 }
121
73 void SolidColorScrollbarLayer::SetOpacity(float opacity) { 122 void SolidColorScrollbarLayer::SetOpacity(float opacity) {
74 // The opacity of a solid color scrollbar layer is always 0 on main thread. 123 // The opacity of a solid color scrollbar layer is always 0 on main thread.
75 DCHECK_EQ(opacity, 0.f); 124 DCHECK_EQ(opacity, 0.f);
76 Layer::SetOpacity(opacity); 125 Layer::SetOpacity(opacity);
77 } 126 }
78 127
79 void SolidColorScrollbarLayer::PushPropertiesTo(LayerImpl* layer) { 128 void SolidColorScrollbarLayer::PushPropertiesTo(LayerImpl* layer) {
Khushal 2016/10/06 20:05:40 While we are it, how does this work? When I read t
80 Layer::PushPropertiesTo(layer); 129 Layer::PushPropertiesTo(layer);
81 SolidColorScrollbarLayerImpl* scrollbar_layer = 130 SolidColorScrollbarLayerImpl* scrollbar_layer =
82 static_cast<SolidColorScrollbarLayerImpl*>(layer); 131 static_cast<SolidColorScrollbarLayerImpl*>(layer);
83 132
84 scrollbar_layer->SetScrollLayerId( 133 scrollbar_layer->SetScrollLayerId(
85 solid_color_scrollbar_layer_inputs_.scroll_layer_id); 134 solid_color_scrollbar_layer_inputs_.scroll_layer_id);
86 } 135 }
87 136
88 void SolidColorScrollbarLayer::SetNeedsDisplayRect(const gfx::Rect& rect) { 137 void SolidColorScrollbarLayer::SetNeedsDisplayRect(const gfx::Rect& rect) {
89 // Never needs repaint. 138 // Never needs repaint.
(...skipping 21 matching lines...) Expand all
111 160
112 ScrollbarOrientation SolidColorScrollbarLayer::orientation() const { 161 ScrollbarOrientation SolidColorScrollbarLayer::orientation() const {
113 return solid_color_scrollbar_layer_inputs_.orientation; 162 return solid_color_scrollbar_layer_inputs_.orientation;
114 } 163 }
115 164
116 void SolidColorScrollbarLayer::SetTypeForProtoSerialization( 165 void SolidColorScrollbarLayer::SetTypeForProtoSerialization(
117 proto::LayerNode* proto) const { 166 proto::LayerNode* proto) const {
118 proto->set_type(proto::LayerNode::SOLID_COLOR_SCROLLBAR_LAYER); 167 proto->set_type(proto::LayerNode::SOLID_COLOR_SCROLLBAR_LAYER);
119 } 168 }
120 169
121 void SolidColorScrollbarLayer::LayerSpecificPropertiesToProto(
122 proto::LayerProperties* proto,
123 bool inputs_only) {
124 Layer::LayerSpecificPropertiesToProto(proto, inputs_only);
125
126 proto::SolidColorScrollbarLayerProperties* scrollbar =
127 proto->mutable_solid_scrollbar();
128 scrollbar->set_scroll_layer_id(
129 solid_color_scrollbar_layer_inputs_.scroll_layer_id);
130 scrollbar->set_thumb_thickness(
131 solid_color_scrollbar_layer_inputs_.thumb_thickness);
132 scrollbar->set_track_start(solid_color_scrollbar_layer_inputs_.track_start);
133 scrollbar->set_is_left_side_vertical_scrollbar(
134 solid_color_scrollbar_layer_inputs_.is_left_side_vertical_scrollbar);
135 scrollbar->set_orientation(ScrollbarOrientationToProto(
136 solid_color_scrollbar_layer_inputs_.orientation));
137 }
138
139 void SolidColorScrollbarLayer::FromLayerSpecificPropertiesProto(
140 const proto::LayerProperties& proto) {
141 Layer::FromLayerSpecificPropertiesProto(proto);
142
143 const proto::SolidColorScrollbarLayerProperties& scrollbar =
144 proto.solid_scrollbar();
145 solid_color_scrollbar_layer_inputs_.scroll_layer_id =
146 scrollbar.scroll_layer_id();
147 solid_color_scrollbar_layer_inputs_.thumb_thickness =
148 scrollbar.thumb_thickness();
149 solid_color_scrollbar_layer_inputs_.track_start = scrollbar.track_start();
150 solid_color_scrollbar_layer_inputs_.is_left_side_vertical_scrollbar =
151 scrollbar.is_left_side_vertical_scrollbar();
152 solid_color_scrollbar_layer_inputs_.orientation =
153 ScrollbarOrientationFromProto(scrollbar.orientation());
154 }
155
156 } // namespace cc 170 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698