aboutsummaryrefslogtreecommitdiff
path: root/src/platform/graphics/cairo/Base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/graphics/cairo/Base.cpp')
-rw-r--r--src/platform/graphics/cairo/Base.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/platform/graphics/cairo/Base.cpp b/src/platform/graphics/cairo/Base.cpp
new file mode 100644
index 00000000..3e24efc9
--- /dev/null
+++ b/src/platform/graphics/cairo/Base.cpp
@@ -0,0 +1,18 @@
+#include "cru/platform/graphics/cairo/Base.h"
+#include <cairo/cairo.h>
+
+namespace cru::platform::graphics::cairo {
+cairo_matrix_t Convert(const Matrix& matrix) {
+ cairo_matrix_t m;
+ cairo_matrix_init(&m, matrix.m11, matrix.m12, matrix.m21, matrix.m22,
+ matrix.m31, matrix.m32);
+ return m;
+}
+
+Matrix Convert(const cairo_matrix_t* matrix) {
+ return Matrix(matrix->xx, matrix->yx, matrix->xy, matrix->yy, matrix->x0,
+ matrix->y0);
+}
+
+Matrix Convert(const cairo_matrix_t& matrix) { return Convert(&matrix); }
+} // namespace cru::platform::graphics::cairo