| OLD | NEW |
| 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 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" | 5 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/pickle.h" | 9 #include "base/pickle.h" |
| 10 #include "third_party/skia/include/core/SkBitmap.h" | 10 #include "third_party/skia/include/core/SkBitmap.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 return false; | 45 return false; |
| 46 memcpy(bitmap->getPixels(), pixels, pixels_size); | 46 memcpy(bitmap->getPixels(), pixels, pixels_size); |
| 47 return true; | 47 return true; |
| 48 } | 48 } |
| 49 }; | 49 }; |
| 50 | 50 |
| 51 } // namespace | 51 } // namespace |
| 52 | 52 |
| 53 namespace IPC { | 53 namespace IPC { |
| 54 | 54 |
| 55 void ParamTraits<SkBitmap>::GetSize(base::PickleSizer* s, const param_type& p) { |
| 56 s->AddData(sizeof(SkBitmap_Data)); |
| 57 s->AddData(static_cast<int>(p.getSize())); |
| 58 } |
| 59 |
| 55 void ParamTraits<SkBitmap>::Write(base::Pickle* m, const SkBitmap& p) { | 60 void ParamTraits<SkBitmap>::Write(base::Pickle* m, const SkBitmap& p) { |
| 56 size_t fixed_size = sizeof(SkBitmap_Data); | 61 size_t fixed_size = sizeof(SkBitmap_Data); |
| 57 SkBitmap_Data bmp_data; | 62 SkBitmap_Data bmp_data; |
| 58 bmp_data.InitSkBitmapDataForTransfer(p); | 63 bmp_data.InitSkBitmapDataForTransfer(p); |
| 59 m->WriteData(reinterpret_cast<const char*>(&bmp_data), | 64 m->WriteData(reinterpret_cast<const char*>(&bmp_data), |
| 60 static_cast<int>(fixed_size)); | 65 static_cast<int>(fixed_size)); |
| 61 size_t pixel_size = p.getSize(); | 66 size_t pixel_size = p.getSize(); |
| 62 SkAutoLockPixels p_lock(p); | 67 SkAutoLockPixels p_lock(p); |
| 63 m->WriteData(reinterpret_cast<const char*>(p.getPixels()), | 68 m->WriteData(reinterpret_cast<const char*>(p.getPixels()), |
| 64 static_cast<int>(pixel_size)); | 69 static_cast<int>(pixel_size)); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 84 } | 89 } |
| 85 const SkBitmap_Data* bmp_data = | 90 const SkBitmap_Data* bmp_data = |
| 86 reinterpret_cast<const SkBitmap_Data*>(fixed_data); | 91 reinterpret_cast<const SkBitmap_Data*>(fixed_data); |
| 87 return bmp_data->InitSkBitmapFromData(r, variable_data, variable_data_size); | 92 return bmp_data->InitSkBitmapFromData(r, variable_data, variable_data_size); |
| 88 } | 93 } |
| 89 | 94 |
| 90 void ParamTraits<SkBitmap>::Log(const SkBitmap& p, std::string* l) { | 95 void ParamTraits<SkBitmap>::Log(const SkBitmap& p, std::string* l) { |
| 91 l->append("<SkBitmap>"); | 96 l->append("<SkBitmap>"); |
| 92 } | 97 } |
| 93 | 98 |
| 99 void ParamTraits<gfx::Transform>::GetSize(base::PickleSizer* s, |
| 100 const param_type& p) { |
| 101 s->AddBytes(sizeof(SkMScalar) * 16); |
| 102 } |
| 103 |
| 94 void ParamTraits<gfx::Transform>::Write(base::Pickle* m, const param_type& p) { | 104 void ParamTraits<gfx::Transform>::Write(base::Pickle* m, const param_type& p) { |
| 95 #ifdef SK_MSCALAR_IS_FLOAT | 105 #ifdef SK_MSCALAR_IS_FLOAT |
| 96 float column_major_data[16]; | 106 float column_major_data[16]; |
| 97 p.matrix().asColMajorf(column_major_data); | 107 p.matrix().asColMajorf(column_major_data); |
| 98 #else | 108 #else |
| 99 double column_major_data[16]; | 109 double column_major_data[16]; |
| 100 p.matrix().asColMajord(column_major_data); | 110 p.matrix().asColMajord(column_major_data); |
| 101 #endif | 111 #endif |
| 102 // We do this in a single write for performance reasons. | 112 // We do this in a single write for performance reasons. |
| 103 m->WriteBytes(&column_major_data, sizeof(SkMScalar) * 16); | 113 m->WriteBytes(&column_major_data, sizeof(SkMScalar) * 16); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 126 l->append("("); | 136 l->append("("); |
| 127 for (int i = 0; i < 16; ++i) { | 137 for (int i = 0; i < 16; ++i) { |
| 128 if (i > 0) | 138 if (i > 0) |
| 129 l->append(", "); | 139 l->append(", "); |
| 130 LogParam(row_major_data[i], l); | 140 LogParam(row_major_data[i], l); |
| 131 } | 141 } |
| 132 l->append(") "); | 142 l->append(") "); |
| 133 } | 143 } |
| 134 | 144 |
| 135 } // namespace IPC | 145 } // namespace IPC |
| OLD | NEW |