OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #include "content/common/cursors/webcursor.h" | 5 #include "content/common/cursors/webcursor.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/pickle.h" | 8 #include "base/pickle.h" |
9 #include "third_party/WebKit/public/platform/WebImage.h" | 9 #include "third_party/WebKit/public/platform/WebImage.h" |
10 | 10 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 cursor_info->type = static_cast<WebCursorInfo::Type>(type_); | 73 cursor_info->type = static_cast<WebCursorInfo::Type>(type_); |
74 cursor_info->hotspot = hotspot_; | 74 cursor_info->hotspot = hotspot_; |
75 ImageFromCustomData(&cursor_info->custom_image); | 75 ImageFromCustomData(&cursor_info->custom_image); |
76 cursor_info->image_scale_factor = custom_scale_; | 76 cursor_info->image_scale_factor = custom_scale_; |
77 | 77 |
78 #if defined(OS_WIN) | 78 #if defined(OS_WIN) |
79 cursor_info->external_handle = external_cursor_; | 79 cursor_info->external_handle = external_cursor_; |
80 #endif | 80 #endif |
81 } | 81 } |
82 | 82 |
83 bool WebCursor::Deserialize(PickleIterator* iter) { | 83 bool WebCursor::Deserialize(base::PickleIterator* iter) { |
84 int type, hotspot_x, hotspot_y, size_x, size_y, data_len; | 84 int type, hotspot_x, hotspot_y, size_x, size_y, data_len; |
85 float scale; | 85 float scale; |
86 const char* data; | 86 const char* data; |
87 | 87 |
88 // Leave |this| unmodified unless we are going to return success. | 88 // Leave |this| unmodified unless we are going to return success. |
89 if (!iter->ReadInt(&type) || | 89 if (!iter->ReadInt(&type) || |
90 !iter->ReadInt(&hotspot_x) || | 90 !iter->ReadInt(&hotspot_x) || |
91 !iter->ReadInt(&hotspot_y) || | 91 !iter->ReadInt(&hotspot_y) || |
92 !iter->ReadLength(&size_x) || | 92 !iter->ReadLength(&size_x) || |
93 !iter->ReadLength(&size_y) || | 93 !iter->ReadLength(&size_y) || |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 custom_data_.clear(); | 125 custom_data_.clear(); |
126 if (data_len > 0) { | 126 if (data_len > 0) { |
127 custom_data_.resize(data_len); | 127 custom_data_.resize(data_len); |
128 memcpy(&custom_data_[0], data, data_len); | 128 memcpy(&custom_data_[0], data, data_len); |
129 } | 129 } |
130 } | 130 } |
131 } | 131 } |
132 return DeserializePlatformData(iter); | 132 return DeserializePlatformData(iter); |
133 } | 133 } |
134 | 134 |
135 bool WebCursor::Serialize(Pickle* pickle) const { | 135 bool WebCursor::Serialize(base::Pickle* pickle) const { |
136 if (!pickle->WriteInt(type_) || | 136 if (!pickle->WriteInt(type_) || |
137 !pickle->WriteInt(hotspot_.x()) || | 137 !pickle->WriteInt(hotspot_.x()) || |
138 !pickle->WriteInt(hotspot_.y()) || | 138 !pickle->WriteInt(hotspot_.y()) || |
139 !pickle->WriteInt(custom_size_.width()) || | 139 !pickle->WriteInt(custom_size_.width()) || |
140 !pickle->WriteInt(custom_size_.height()) || | 140 !pickle->WriteInt(custom_size_.height()) || |
141 !pickle->WriteFloat(custom_scale_)) | 141 !pickle->WriteFloat(custom_scale_)) |
142 return false; | 142 return false; |
143 | 143 |
144 const char* data = NULL; | 144 const char* data = NULL; |
145 if (!custom_data_.empty()) | 145 if (!custom_data_.empty()) |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 return; | 253 return; |
254 | 254 |
255 // Clamp the hotspot to the custom image's dimensions. | 255 // Clamp the hotspot to the custom image's dimensions. |
256 hotspot_.set_x(std::max(0, | 256 hotspot_.set_x(std::max(0, |
257 std::min(custom_size_.width() - 1, hotspot_.x()))); | 257 std::min(custom_size_.width() - 1, hotspot_.x()))); |
258 hotspot_.set_y(std::max(0, | 258 hotspot_.set_y(std::max(0, |
259 std::min(custom_size_.height() - 1, hotspot_.y()))); | 259 std::min(custom_size_.height() - 1, hotspot_.y()))); |
260 } | 260 } |
261 | 261 |
262 } // namespace content | 262 } // namespace content |
OLD | NEW |