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 |