matrix.h is a public installed header and even used by libweston.h.
See "Rename compositor.h to libweston/libweston.h" for rationale.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
#include "window.h"
#include "shared/helpers.h"
-#include "shared/matrix.h"
+#include <libweston/matrix.h>
/* Our points for the calibration must be not be on a line */
static const struct {
break;
}
}
-
+
display = display_create(&argc, argv);
if (display == NULL) {
#include "clients/window.h"
#include "shared/helpers.h"
-#include "shared/matrix.h"
+#include <libweston/matrix.h>
#include "weston-touch-calibration-client-protocol.h"
#define WL_HIDE_DEPRECATED
#include <wayland-server.h>
-#include "matrix.h"
+#include <libweston/matrix.h>
#include "config-parser.h"
#include "zalloc.h"
#include <libweston/timeline-object.h>
--- /dev/null
+/*
+ * Copyright © 2008-2011 Kristian Høgsberg
+ * Copyright © 2012 Collabora, Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#ifndef WESTON_MATRIX_H
+#define WESTON_MATRIX_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum weston_matrix_transform_type {
+ WESTON_MATRIX_TRANSFORM_TRANSLATE = (1 << 0),
+ WESTON_MATRIX_TRANSFORM_SCALE = (1 << 1),
+ WESTON_MATRIX_TRANSFORM_ROTATE = (1 << 2),
+ WESTON_MATRIX_TRANSFORM_OTHER = (1 << 3),
+};
+
+struct weston_matrix {
+ float d[16];
+ unsigned int type;
+};
+
+struct weston_vector {
+ float f[4];
+};
+
+void
+weston_matrix_init(struct weston_matrix *matrix);
+void
+weston_matrix_multiply(struct weston_matrix *m, const struct weston_matrix *n);
+void
+weston_matrix_scale(struct weston_matrix *matrix, float x, float y, float z);
+void
+weston_matrix_translate(struct weston_matrix *matrix,
+ float x, float y, float z);
+void
+weston_matrix_rotate_xy(struct weston_matrix *matrix, float cos, float sin);
+void
+weston_matrix_transform(struct weston_matrix *matrix, struct weston_vector *v);
+
+int
+weston_matrix_invert(struct weston_matrix *inverse,
+ const struct weston_matrix *matrix);
+
+#ifdef UNIT_TEST
+# define MATRIX_TEST_EXPORT WL_EXPORT
+
+int
+matrix_invert(double *A, unsigned *p, const struct weston_matrix *matrix);
+
+void
+inverse_transform(const double *LU, const unsigned *p, float *v);
+
+#else
+# define MATRIX_TEST_EXPORT static
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* WESTON_MATRIX_H */
install_headers(
'libweston.h',
+ 'matrix.h',
'plugin-registry.h',
'timeline-object.h',
'windowed-output-api.h',
install_headers(
'../shared/config-parser.h',
- '../shared/matrix.h',
'../shared/zalloc.h',
subdir: dir_include_libweston
)
#include <wayland-server.h>
#endif
-#include "matrix.h"
+#include <libweston/matrix.h>
/*
+++ /dev/null
-/*
- * Copyright © 2008-2011 Kristian Høgsberg
- * Copyright © 2012 Collabora, Ltd.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial
- * portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef WESTON_MATRIX_H
-#define WESTON_MATRIX_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum weston_matrix_transform_type {
- WESTON_MATRIX_TRANSFORM_TRANSLATE = (1 << 0),
- WESTON_MATRIX_TRANSFORM_SCALE = (1 << 1),
- WESTON_MATRIX_TRANSFORM_ROTATE = (1 << 2),
- WESTON_MATRIX_TRANSFORM_OTHER = (1 << 3),
-};
-
-struct weston_matrix {
- float d[16];
- unsigned int type;
-};
-
-struct weston_vector {
- float f[4];
-};
-
-void
-weston_matrix_init(struct weston_matrix *matrix);
-void
-weston_matrix_multiply(struct weston_matrix *m, const struct weston_matrix *n);
-void
-weston_matrix_scale(struct weston_matrix *matrix, float x, float y, float z);
-void
-weston_matrix_translate(struct weston_matrix *matrix,
- float x, float y, float z);
-void
-weston_matrix_rotate_xy(struct weston_matrix *matrix, float cos, float sin);
-void
-weston_matrix_transform(struct weston_matrix *matrix, struct weston_vector *v);
-
-int
-weston_matrix_invert(struct weston_matrix *inverse,
- const struct weston_matrix *matrix);
-
-#ifdef UNIT_TEST
-# define MATRIX_TEST_EXPORT WL_EXPORT
-
-int
-matrix_invert(double *A, unsigned *p, const struct weston_matrix *matrix);
-
-void
-inverse_transform(const double *LU, const unsigned *p, float *v);
-
-#else
-# define MATRIX_TEST_EXPORT static
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* WESTON_MATRIX_H */
)
dep_libshared = declare_dependency(
link_with: lib_libshared,
+ include_directories: public_inc,
dependencies: deps_libshared
)
#include <signal.h>
#include <time.h>
-#include "shared/matrix.h"
+#include <libweston/matrix.h>
struct inverse_matrix {
double LU[16]; /* column-major */
tests_standalone = [
['config-parser', [], [ dep_zucmain ]],
- ['matrix', [ '../shared/matrix.c' ], [ dep_libm ]],
+ ['matrix', [ '../shared/matrix.c' ], [ dep_libm, dep_libshared.partial_dependency(includes: true) ]],
['string'],
[
'vertex-clip',