Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 |
| OLD | NEW |