Chromium Code Reviews| Index: mojo/converters/geometry/transform_converters.cc |
| diff --git a/mojo/converters/geometry/transform_converters.cc b/mojo/converters/geometry/transform_converters.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1fb0b4b4f58760944c74d80cdf3a17830b13fcb9 |
| --- /dev/null |
| +++ b/mojo/converters/geometry/transform_converters.cc |
| @@ -0,0 +1,31 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
|
jamesr
2015/02/13 01:06:46
2015
wtc
2015/02/13 03:04:19
Done.
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "mojo/converters/geometry/transform_converters.h" |
| + |
| +namespace mojo { |
| + |
| +// static |
| +TransformPtr TypeConverter<TransformPtr, gfx::Transform>::Convert( |
| + const gfx::Transform& input) { |
| + std::vector<float> storage(16); |
| + input.matrix().asRowMajorf(&storage[0]); |
| + mojo::Array<float> matrix; |
| + matrix.Swap(&storage); |
| + TransformPtr transform(Transform::New()); |
| + transform->matrix = matrix.Pass(); |
| + return transform.Pass(); |
| +} |
| + |
| +// static |
| +gfx::Transform TypeConverter<gfx::Transform, TransformPtr>::Convert( |
| + const TransformPtr& input) { |
| + if (input.is_null()) |
| + return gfx::Transform(); |
| + gfx::Transform transform(gfx::Transform::kSkipInitialization); |
| + transform.matrix().setRowMajorf(&input->matrix.storage()[0]); |
| + return transform; |
| +} |
| + |
| +} // namespace mojo |