OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ui/gfx/ipc/gfx_param_traits.h" | 5 #include "ui/gfx/ipc/gfx_param_traits.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
249 const float* values = reinterpret_cast<const float*>(char_values); | 249 const float* values = reinterpret_cast<const float*>(char_values); |
250 r->SetRect(values[0], values[1], values[2], values[3]); | 250 r->SetRect(values[0], values[1], values[2], values[3]); |
251 return true; | 251 return true; |
252 } | 252 } |
253 | 253 |
254 void ParamTraits<gfx::RectF>::Log(const gfx::RectF& p, std::string* l) { | 254 void ParamTraits<gfx::RectF>::Log(const gfx::RectF& p, std::string* l) { |
255 l->append(base::StringPrintf("(%f, %f, %f, %f)", p.x(), p.y(), | 255 l->append(base::StringPrintf("(%f, %f, %f, %f)", p.x(), p.y(), |
256 p.width(), p.height())); | 256 p.width(), p.height())); |
257 } | 257 } |
258 | 258 |
259 void ParamTraits<SkBitmap>::Write(Message* m, const SkBitmap& p) { | 259 size_t ParamTraits<SkBitmap>::GetSize(const SkBitmap& p) { |
Ken Rockot(use gerrit already)
2016/02/01 17:57:01
NOTE to tsepez@: Defining a GetSize() trait is a p
Tom Sepez
2016/02/01 18:31:58
I prefer the first approach, I wouldn't be fond of
| |
260 return sizeof(int32_t) * 2 + sizeof(SkBitmap_Data) + p.getSize(); | |
jam
2016/02/01 17:53:48
I'd expect this to match the Write method below, w
| |
261 } | |
262 | |
263 void ParamTraits<SkBitmap>::Write(base::Pickle* m, const SkBitmap& p) { | |
260 size_t fixed_size = sizeof(SkBitmap_Data); | 264 size_t fixed_size = sizeof(SkBitmap_Data); |
261 SkBitmap_Data bmp_data; | 265 SkBitmap_Data bmp_data; |
262 bmp_data.InitSkBitmapDataForTransfer(p); | 266 bmp_data.InitSkBitmapDataForTransfer(p); |
263 m->WriteData(reinterpret_cast<const char*>(&bmp_data), | 267 m->WriteData(reinterpret_cast<const char*>(&bmp_data), |
264 static_cast<int>(fixed_size)); | 268 static_cast<int>(fixed_size)); |
265 size_t pixel_size = p.getSize(); | 269 size_t pixel_size = p.getSize(); |
266 SkAutoLockPixels p_lock(p); | 270 SkAutoLockPixels p_lock(p); |
267 m->WriteData(reinterpret_cast<const char*>(p.getPixels()), | 271 m->WriteData(reinterpret_cast<const char*>(p.getPixels()), |
268 static_cast<int>(pixel_size)); | 272 static_cast<int>(pixel_size)); |
269 } | 273 } |
270 | 274 |
271 bool ParamTraits<SkBitmap>::Read(const Message* m, | 275 bool ParamTraits<SkBitmap>::Read(const base::Pickle* m, |
272 base::PickleIterator* iter, | 276 base::PickleIterator* iter, |
273 SkBitmap* r) { | 277 SkBitmap* r) { |
274 const char* fixed_data; | 278 const char* fixed_data; |
275 int fixed_data_size = 0; | 279 int fixed_data_size = 0; |
276 if (!iter->ReadData(&fixed_data, &fixed_data_size) || | 280 if (!iter->ReadData(&fixed_data, &fixed_data_size) || |
277 (fixed_data_size <= 0)) { | 281 (fixed_data_size <= 0)) { |
278 NOTREACHED(); | 282 NOTREACHED(); |
279 return false; | 283 return false; |
280 } | 284 } |
281 if (fixed_data_size != sizeof(SkBitmap_Data)) | 285 if (fixed_data_size != sizeof(SkBitmap_Data)) |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
386 #undef UI_GFX_IPC_GFX_PARAM_TRAITS_MACROS_H_ | 390 #undef UI_GFX_IPC_GFX_PARAM_TRAITS_MACROS_H_ |
387 #include "ui/gfx/ipc/gfx_param_traits_macros.h" | 391 #include "ui/gfx/ipc/gfx_param_traits_macros.h" |
388 } // namespace IPC | 392 } // namespace IPC |
389 | 393 |
390 // Generate param traits log methods. | 394 // Generate param traits log methods. |
391 #include "ipc/param_traits_log_macros.h" | 395 #include "ipc/param_traits_log_macros.h" |
392 namespace IPC { | 396 namespace IPC { |
393 #undef UI_GFX_IPC_GFX_PARAM_TRAITS_MACROS_H_ | 397 #undef UI_GFX_IPC_GFX_PARAM_TRAITS_MACROS_H_ |
394 #include "ui/gfx/ipc/gfx_param_traits_macros.h" | 398 #include "ui/gfx/ipc/gfx_param_traits_macros.h" |
395 } // namespace IPC | 399 } // namespace IPC |
OLD | NEW |