summaryrefslogtreecommitdiff
path: root/src/lib/eina/eina_matrix.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/eina/eina_matrix.h')
-rw-r--r--src/lib/eina/eina_matrix.h181
1 files changed, 121 insertions, 60 deletions
diff --git a/src/lib/eina/eina_matrix.h b/src/lib/eina/eina_matrix.h
index ed12f6f0db..a4dfb3c609 100644
--- a/src/lib/eina/eina_matrix.h
+++ b/src/lib/eina/eina_matrix.h
@@ -22,9 +22,6 @@
/**
* @file
- * @ender_group{Eina_Matrix_Type}
- * @ender_group{Eina_Matrix3_F16p16}
- * @ender_group{Eina_Matrix3}
*/
/**
@@ -57,6 +54,17 @@ typedef enum _Eina_Matrix_Type
} Eina_Matrix_Type;
/**
+ * @typedef Eina_Matrix_Axis
+ * Matrix Axes
+ */
+typedef enum _Eina_Matrix_Axis
+ {
+ EINA_MATRIX_AXIS_X, /**< X-Axis */
+ EINA_MATRIX_AXIS_Y, /**< Y-Axis */
+ EINA_MATRIX_AXIS_Z, /**< Z-Axis */
+ } Eina_Matrix_Axis;
+
+/**
* @defgroup Eina_Matrix3_Group 3x3 floating point matrices
*
* @brief Definition and operations for 3x3 matrices.
@@ -180,7 +188,7 @@ struct _Eina_Matrix3_F16p16
*
* @since 1.14
*/
-EAPI void eina_matrix3_f16p16_identity(Eina_Matrix3_F16p16 *m);
+EINA_API void eina_matrix3_f16p16_identity(Eina_Matrix3_F16p16 *m);
/**
* @brief Sets dst as the matrix multiplication (composition) of two
@@ -197,7 +205,7 @@ EAPI void eina_matrix3_f16p16_identity(Eina_Matrix3_F16p16 *m);
*
* @since 1.14
*/
-EAPI void eina_matrix3_f16p16_compose(const Eina_Matrix3_F16p16 *m1,
+EINA_API void eina_matrix3_f16p16_compose(const Eina_Matrix3_F16p16 *m1,
const Eina_Matrix3_F16p16 *m2,
Eina_Matrix3_F16p16 *dst);
@@ -212,7 +220,7 @@ EAPI void eina_matrix3_f16p16_compose(const Eina_Matrix3_F16p16 *m1,
*
* @since 1.14
*/
-EAPI Eina_Matrix_Type eina_matrix3_f16p16_type_get(const Eina_Matrix3_F16p16 *m);
+EINA_API Eina_Matrix_Type eina_matrix3_f16p16_type_get(const Eina_Matrix3_F16p16 *m);
/**
* @}
@@ -244,7 +252,7 @@ EAPI Eina_Matrix_Type eina_matrix3_f16p16_type_get(const Eina_Matrix3_F16p16 *m)
*
* @since 1.14
*/
-EAPI Eina_Matrix_Type eina_matrix3_type_get(const Eina_Matrix3 *m);
+EINA_API Eina_Matrix_Type eina_matrix3_type_get(const Eina_Matrix3 *m);
/**
* @brief Sets the values of the coefficients of the given floating
@@ -268,7 +276,7 @@ EAPI Eina_Matrix_Type eina_matrix3_type_get(const Eina_Matrix3 *m);
*
* @since 1.14
*/
-EAPI void eina_matrix3_values_set(Eina_Matrix3 *m,
+EINA_API void eina_matrix3_values_set(Eina_Matrix3 *m,
double xx, double xy, double xz,
double yx, double yy, double yz,
double zx, double zy, double zz);
@@ -295,7 +303,7 @@ EAPI void eina_matrix3_values_set(Eina_Matrix3 *m,
*
* @since 1.14
*/
-EAPI void eina_matrix3_values_get(const Eina_Matrix3 *m,
+EINA_API void eina_matrix3_values_get(const Eina_Matrix3 *m,
double *xx, double *xy, double *xz,
double *yx, double *yy, double *yz,
double *zx, double *zy, double *zz);
@@ -322,7 +330,7 @@ EAPI void eina_matrix3_values_get(const Eina_Matrix3 *m,
*
* @since 1.14
*/
-EAPI void eina_matrix3_fixed_values_get(const Eina_Matrix3 *m,
+EINA_API void eina_matrix3_fixed_values_get(const Eina_Matrix3 *m,
Eina_F16p16 *xx, Eina_F16p16 *xy, Eina_F16p16 *xz,
Eina_F16p16 *yx, Eina_F16p16 *yy, Eina_F16p16 *yz,
Eina_F16p16 *zx, Eina_F16p16 *zy, Eina_F16p16 *zz);
@@ -340,7 +348,7 @@ EAPI void eina_matrix3_fixed_values_get(const Eina_Matrix3 *m,
*
* @since 1.14
*/
-EAPI void eina_matrix3_matrix3_f16p16_to(const Eina_Matrix3 *m,
+EINA_API void eina_matrix3_matrix3_f16p16_to(const Eina_Matrix3 *m,
Eina_Matrix3_F16p16 *fm);
/**
@@ -355,7 +363,7 @@ EAPI void eina_matrix3_matrix3_f16p16_to(const Eina_Matrix3 *m,
*
* @since 1.14
*/
-EAPI Eina_Bool eina_matrix3_equal(const Eina_Matrix3 *m1, const Eina_Matrix3 *m2);
+EINA_API Eina_Bool eina_matrix3_equal(const Eina_Matrix3 *m1, const Eina_Matrix3 *m2);
/**
* @brief Sets dst as the matrix multiplication (composition) of two matrices.
@@ -371,7 +379,7 @@ EAPI Eina_Bool eina_matrix3_equal(const Eina_Matrix3 *m1, const Eina_Matrix3 *m2
*
* @since 1.14
*/
-EAPI void eina_matrix3_compose(const Eina_Matrix3 *m1,
+EINA_API void eina_matrix3_compose(const Eina_Matrix3 *m1,
const Eina_Matrix3 *m2,
Eina_Matrix3 *dst);
@@ -384,7 +392,7 @@ EAPI void eina_matrix3_compose(const Eina_Matrix3 *m1,
*
* @since 1.14
*/
-EAPI void eina_matrix3_translate(Eina_Matrix3 *t, double tx, double ty);
+EINA_API void eina_matrix3_translate(Eina_Matrix3 *m, double tx, double ty);
/**
* @brief Sets the matrix values for a scaling operation.
@@ -395,16 +403,16 @@ EAPI void eina_matrix3_translate(Eina_Matrix3 *t, double tx, double ty);
*
* @since 1.14
*/
-EAPI void eina_matrix3_scale(Eina_Matrix3 *t, double sx, double sy);
+EINA_API void eina_matrix3_scale(Eina_Matrix3 *m, double sx, double sy);
/**
* @brief Sets the matrix values for a rotation operation.
- * @param[out] t The matrix.
+ * @param[out] m The matrix.
* @param[in] rad The number of radians to rotate.
*
* @since 1.14
*/
-EAPI void eina_matrix3_rotate(Eina_Matrix3 *t, double rad);
+EINA_API void eina_matrix3_rotate(Eina_Matrix3 *m, double rad);
/**
* @brief Sets the given floating point matrix to the identity matrix.
@@ -416,7 +424,7 @@ EAPI void eina_matrix3_rotate(Eina_Matrix3 *t, double rad);
*
* @since 1.14
*/
-EAPI void eina_matrix3_identity(Eina_Matrix3 *t);
+EINA_API void eina_matrix3_identity(Eina_Matrix3 *m);
/**
* @brief Calculates the determinant of the given matrix.
@@ -429,7 +437,7 @@ EAPI void eina_matrix3_identity(Eina_Matrix3 *t);
*
* @since 1.14
*/
-EAPI double eina_matrix3_determinant(const Eina_Matrix3 *m);
+EINA_API double eina_matrix3_determinant(const Eina_Matrix3 *m);
/**
* @brief Divides the given matrix by a scalar number.
@@ -442,7 +450,7 @@ EAPI double eina_matrix3_determinant(const Eina_Matrix3 *m);
*
* @since 1.14
*/
-EAPI void eina_matrix3_divide(Eina_Matrix3 *m, double scalar);
+EINA_API void eina_matrix3_divide(Eina_Matrix3 *m, double scalar);
/**
* @brief Computes the inverse of the given matrix.
@@ -456,7 +464,7 @@ EAPI void eina_matrix3_divide(Eina_Matrix3 *m, double scalar);
*
* @since 1.14
*/
-EAPI void eina_matrix3_inverse(const Eina_Matrix3 *m, Eina_Matrix3 *m2);
+EINA_API void eina_matrix3_inverse(const Eina_Matrix3 *m, Eina_Matrix3 *m2);
/**
* @brief Computes the transpose of the given matrix.
@@ -470,7 +478,7 @@ EAPI void eina_matrix3_inverse(const Eina_Matrix3 *m, Eina_Matrix3 *m2);
*
* @since 1.14
*/
-EAPI void eina_matrix3_transpose(const Eina_Matrix3 *m, Eina_Matrix3 *a);
+EINA_API void eina_matrix3_transpose(const Eina_Matrix3 *m, Eina_Matrix3 *a);
/**
* @brief Computes the cofactor of the given matrix.
@@ -486,7 +494,7 @@ EAPI void eina_matrix3_transpose(const Eina_Matrix3 *m, Eina_Matrix3 *a);
*
* @since 1.14
*/
-EAPI void eina_matrix3_cofactor(const Eina_Matrix3 *m, Eina_Matrix3 *a);
+EINA_API void eina_matrix3_cofactor(const Eina_Matrix3 *m, Eina_Matrix3 *a);
/**
* @brief Computes the adjoint of the given matrix.
@@ -500,7 +508,7 @@ EAPI void eina_matrix3_cofactor(const Eina_Matrix3 *m, Eina_Matrix3 *a);
*
* @since 1.14
*/
-EAPI void eina_matrix3_adjoint(const Eina_Matrix3 *m, Eina_Matrix3 *a);
+EINA_API void eina_matrix3_adjoint(const Eina_Matrix3 *m, Eina_Matrix3 *a);
/**
* @brief Computes the transform of a 2D point using the given matrix.
@@ -518,7 +526,7 @@ EAPI void eina_matrix3_adjoint(const Eina_Matrix3 *m, Eina_Matrix3 *a);
*
* @since 1.14
*/
-EAPI void eina_matrix3_point_transform(const Eina_Matrix3 *m,
+EINA_API void eina_matrix3_point_transform(const Eina_Matrix3 *m,
double x, double y,
double *xr, double *yr);
/**
@@ -534,7 +542,7 @@ EAPI void eina_matrix3_point_transform(const Eina_Matrix3 *m,
*
* @since 1.14
*/
-EAPI void eina_matrix3_rectangle_transform(const Eina_Matrix3 *m,
+EINA_API void eina_matrix3_rectangle_transform(const Eina_Matrix3 *m,
const Eina_Rectangle *r,
const Eina_Quad *q);
@@ -549,7 +557,7 @@ EAPI void eina_matrix3_rectangle_transform(const Eina_Matrix3 *m,
* Calculates a matrix @p m that can be used to transform from an arbitrary
* source quadrangle @p src to another arbitrary quadrangle @p dst.
*/
-EAPI Eina_Bool eina_matrix3_quad_quad_map(Eina_Matrix3 *m,
+EINA_API Eina_Bool eina_matrix3_quad_quad_map(Eina_Matrix3 *m,
const Eina_Quad *src,
const Eina_Quad *dst);
@@ -568,7 +576,7 @@ EAPI Eina_Bool eina_matrix3_quad_quad_map(Eina_Matrix3 *m,
*
* @since 1.14
*/
-EAPI Eina_Bool eina_matrix3_square_quad_map(Eina_Matrix3 *m,
+EINA_API Eina_Bool eina_matrix3_square_quad_map(Eina_Matrix3 *m,
const Eina_Quad *q);
/**
@@ -585,7 +593,7 @@ EAPI Eina_Bool eina_matrix3_square_quad_map(Eina_Matrix3 *m,
*
* @since 1.14
*/
-EAPI Eina_Bool eina_matrix3_quad_square_map(Eina_Matrix3 *m,
+EINA_API Eina_Bool eina_matrix3_quad_square_map(Eina_Matrix3 *m,
const Eina_Quad *q);
/**
@@ -600,7 +608,7 @@ EAPI Eina_Bool eina_matrix3_quad_square_map(Eina_Matrix3 *m,
*
* @since 1.17
*/
-EAPI void eina_matrix3_array_set(Eina_Matrix3 *m, const double *v);
+EINA_API void eina_matrix3_array_set(Eina_Matrix3 *m, const double *v);
/**
* @brief Copies a matrix.
@@ -610,7 +618,7 @@ EAPI void eina_matrix3_array_set(Eina_Matrix3 *m, const double *v);
*
* @since 1.16
*/
-EAPI void eina_matrix3_copy(Eina_Matrix3 *dst, const Eina_Matrix3 *src);
+EINA_API void eina_matrix3_copy(Eina_Matrix3 *dst, const Eina_Matrix3 *src);
/**
* @brief Multiplies two matrices.
@@ -625,7 +633,7 @@ EAPI void eina_matrix3_copy(Eina_Matrix3 *dst, const Eina_Matrix3 *src);
*
* @since 1.17
*/
-EAPI void eina_matrix3_multiply(Eina_Matrix3 *out, const Eina_Matrix3 *mat_a,
+EINA_API void eina_matrix3_multiply(Eina_Matrix3 *out, const Eina_Matrix3 *mat_a,
const Eina_Matrix3 *mat_b);
/**
@@ -641,7 +649,7 @@ EAPI void eina_matrix3_multiply(Eina_Matrix3 *out, const Eina_Matrix3 *mat_a,
*
* @since 1.17
*/
-EAPI void eina_matrix3_multiply_copy(Eina_Matrix3 *out, const Eina_Matrix3 *mat_a,
+EINA_API void eina_matrix3_multiply_copy(Eina_Matrix3 *out, const Eina_Matrix3 *mat_a,
const Eina_Matrix3 *mat_b);
/**
@@ -656,7 +664,7 @@ EAPI void eina_matrix3_multiply_copy(Eina_Matrix3 *out, const Eina_Matrix3 *mat_
*
* @since 1.17
*/
-EAPI void eina_matrix3_scale_transform_set(Eina_Matrix3 *out, double s_x, double s_y);
+EINA_API void eina_matrix3_scale_transform_set(Eina_Matrix3 *out, double s_x, double s_y);
/**
* @brief Sets the positional parameters (XZ, YZ) of a matrix.
@@ -670,7 +678,7 @@ EAPI void eina_matrix3_scale_transform_set(Eina_Matrix3 *out, double s_x, double
* @since 1.17
*/
-EAPI void eina_matrix3_position_transform_set(Eina_Matrix3 *out, const double p_x,
+EINA_API void eina_matrix3_position_transform_set(Eina_Matrix3 *out, const double p_x,
const double p_y);
/**
@@ -681,7 +689,7 @@ EAPI void eina_matrix3_position_transform_set(Eina_Matrix3 *out, const double p_
*
* @since 1.17
*/
-EAPI void eina_normal3_matrix_get(Eina_Matrix3 *out, const Eina_Matrix4 *m);
+EINA_API void eina_normal3_matrix_get(Eina_Matrix3 *out, const Eina_Matrix4 *m);
/**
* @brief Converts an Eina_Matrix3 into an Eina_Matrix4.
@@ -691,7 +699,7 @@ EAPI void eina_normal3_matrix_get(Eina_Matrix3 *out, const Eina_Matrix4 *m);
*
* @since 1.15
*/
-EAPI void eina_matrix3_matrix4_to(Eina_Matrix4 *m4, const Eina_Matrix3 *m3);
+EINA_API void eina_matrix3_matrix4_to(Eina_Matrix4 *m4, const Eina_Matrix3 *m3);
/**
* @}
@@ -714,7 +722,7 @@ EAPI void eina_matrix3_matrix4_to(Eina_Matrix4 *m4, const Eina_Matrix3 *m3);
*
* @since 1.15
*/
-EAPI Eina_Matrix_Type eina_matrix4_type_get(const Eina_Matrix4 *m);
+EINA_API Eina_Matrix_Type eina_matrix4_type_get(const Eina_Matrix4 *m);
/**
* @brief Sets the values of the coefficients of the given floating
@@ -745,7 +753,7 @@ EAPI Eina_Matrix_Type eina_matrix4_type_get(const Eina_Matrix4 *m);
*
* @since 1.15
*/
-EAPI void eina_matrix4_values_set(Eina_Matrix4 *m,
+EINA_API void eina_matrix4_values_set(Eina_Matrix4 *m,
double xx, double xy, double xz, double xw,
double yx, double yy, double yz, double yw,
double zx, double zy, double zz, double zw,
@@ -780,7 +788,7 @@ EAPI void eina_matrix4_values_set(Eina_Matrix4 *m,
*
* @since 1.15
*/
-EAPI void eina_matrix4_values_get(const Eina_Matrix4 *m,
+EINA_API void eina_matrix4_values_get(const Eina_Matrix4 *m,
double *xx, double *xy, double *xz, double *xw,
double *yx, double *yy, double *yz, double *yw,
double *zx, double *zy, double *zz, double *zw,
@@ -797,7 +805,7 @@ EAPI void eina_matrix4_values_get(const Eina_Matrix4 *m,
*
* @since 1.16
*/
-EAPI double eina_matrix4_determinant(const Eina_Matrix4 *m);
+EINA_API double eina_matrix4_determinant(const Eina_Matrix4 *m);
/**
* @brief Normalizes the given matrix.
@@ -812,7 +820,7 @@ EAPI double eina_matrix4_determinant(const Eina_Matrix4 *m);
*
* @since 1.16
*/
-EAPI Eina_Bool eina_matrix4_normalized(Eina_Matrix4 *out,
+EINA_API Eina_Bool eina_matrix4_normalized(Eina_Matrix4 *out,
const Eina_Matrix4 *in);
/**
@@ -828,7 +836,7 @@ EAPI Eina_Bool eina_matrix4_normalized(Eina_Matrix4 *out,
*
* @since 1.16
*/
-EAPI Eina_Bool eina_matrix4_inverse(Eina_Matrix4 *out, const Eina_Matrix4 *in);
+EINA_API Eina_Bool eina_matrix4_inverse(Eina_Matrix4 *out, const Eina_Matrix4 *in);
/**
* @brief Computes the transpose of the given matrix.
@@ -842,7 +850,7 @@ EAPI Eina_Bool eina_matrix4_inverse(Eina_Matrix4 *out, const Eina_Matrix4 *in);
*
* @since 1.16
*/
-EAPI void eina_matrix4_transpose(Eina_Matrix4 *out, const Eina_Matrix4 *in);
+EINA_API void eina_matrix4_transpose(Eina_Matrix4 *out, const Eina_Matrix4 *in);
/**
* @brief Converts an Eina_Matrix4 into an Eina_Matrix3.
@@ -852,7 +860,7 @@ EAPI void eina_matrix4_transpose(Eina_Matrix4 *out, const Eina_Matrix4 *in);
*
* @since 1.15
*/
-EAPI void eina_matrix4_matrix3_to(Eina_Matrix3 *m3, const Eina_Matrix4 *m4);
+EINA_API void eina_matrix4_matrix3_to(Eina_Matrix3 *m3, const Eina_Matrix4 *m4);
/**
* @brief Sets the given matrix to identity.
@@ -861,7 +869,7 @@ EAPI void eina_matrix4_matrix3_to(Eina_Matrix3 *m3, const Eina_Matrix4 *m4);
*
* @since 1.16
*/
-EAPI void eina_matrix4_identity(Eina_Matrix4 *out);
+EINA_API void eina_matrix4_identity(Eina_Matrix4 *out);
/**
* @brief Multiplies two matrix.
@@ -876,7 +884,7 @@ EAPI void eina_matrix4_identity(Eina_Matrix4 *out);
*
* @since 1.17
*/
-EAPI void eina_matrix4_multiply_copy(Eina_Matrix4 *out,
+EINA_API void eina_matrix4_multiply_copy(Eina_Matrix4 *out,
const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b);
/**
@@ -891,7 +899,7 @@ EAPI void eina_matrix4_multiply_copy(Eina_Matrix4 *out,
*
* @since 1.17
*/
-EAPI void eina_matrix4_array_set(Eina_Matrix4 *m, const double *v);
+EINA_API void eina_matrix4_array_set(Eina_Matrix4 *m, const double *v);
/**
* @brief Copies matrix.
@@ -901,7 +909,7 @@ EAPI void eina_matrix4_array_set(Eina_Matrix4 *m, const double *v);
*
* @since 1.17
*/
-EAPI void eina_matrix4_copy(Eina_Matrix4 *dst, const Eina_Matrix4 *src);
+EINA_API void eina_matrix4_copy(Eina_Matrix4 *dst, const Eina_Matrix4 *src);
/**
* @brief Multiplies two matrices with check.
@@ -912,7 +920,7 @@ EAPI void eina_matrix4_copy(Eina_Matrix4 *dst, const Eina_Matrix4 *src);
*
* @since 1.17
*/
-EAPI void eina_matrix4_multiply(Eina_Matrix4 *out, const Eina_Matrix4 *mat_a,
+EINA_API void eina_matrix4_multiply(Eina_Matrix4 *out, const Eina_Matrix4 *mat_a,
const Eina_Matrix4 *mat_b);
/**
@@ -928,10 +936,63 @@ EAPI void eina_matrix4_multiply(Eina_Matrix4 *out, const Eina_Matrix4 *mat_a,
*
* @since 1.17
*/
-EAPI void eina_matrix4_ortho_set(Eina_Matrix4 *m,
+EINA_API void eina_matrix4_ortho_set(Eina_Matrix4 *m,
double left, double right, double bottom, double top,
double dnear, double dfar);
+
+/**
+ * @brief Sets out as the matrix multiplication (composition) of two matrices.
+ *
+ * @param[in] mat_a The first matrix. Must be non-NULL.
+ * @param[in] mat_b The second matrix. Must be non-NULL.
+ * @param[out] out The results matrix.
+ *
+ * In matrix multiplication, AB, the resultant matrix is created from
+ * the rows of A multiplied against the columns of B and summed. This
+ * is not commutative; i.e. AB != BA, so the ordering of arguments
+ * @p m1 and @p m2 matters.
+ *
+ * @since 1.24
+ */
+EINA_API void eina_matrix4_compose(const Eina_Matrix4 *mat_a,
+ const Eina_Matrix4 *mat_b,
+ Eina_Matrix4 *out);
+
+/**
+ * @brief Sets the matrix values for a translation operation.
+ *
+ * @param[out] t Where to store the resulting matrix.
+ * @param[in] tx The X coordinate translation.
+ * @param[in] ty The Y coordinate translation.
+ * @param[in] tz The Z coordinate translation.
+ *
+ * @since 1.24
+ */
+EINA_API void eina_matrix4_translate(Eina_Matrix4 *t, double tx, double ty, double tz);
+
+/**
+ * @brief Sets the matrix values for a scaling operation.
+ *
+ * @param[out] t Where to store the resulting matrix.
+ * @param[in] sx The X coordinate scaling factor.
+ * @param[in] sy The Y coordinate scaling factor.
+ * @param[in] sz The Z coordinate scaling factor.
+ *
+ * @since 1.24
+ */
+EINA_API void eina_matrix4_scale(Eina_Matrix4 *t, double sx, double sy, double sz);
+
+/**
+ * @brief Sets the matrix values for a rotation operation.
+ * @param[out] t Where to store the resulting matrix.
+ * @param[in] rad The number of radians to rotate.
+ * @param[in] axis The Axis of rotation.
+ *
+ * @since 1.24
+ */
+EINA_API void eina_matrix4_rotate(Eina_Matrix4 *t, double rad, Eina_Matrix_Axis axis);
+
/**
* @}
*/
@@ -980,7 +1041,7 @@ struct _Eina_Matrix2
*
* @since 1.17
*/
-EAPI void eina_matrix2_values_set(Eina_Matrix2 *m, double xx, double xy,
+EINA_API void eina_matrix2_values_set(Eina_Matrix2 *m, double xx, double xy,
double yx, double yy);
/**
@@ -1000,7 +1061,7 @@ EAPI void eina_matrix2_values_set(Eina_Matrix2 *m, double xx, double xy,
*
* @since 1.17
*/
-EAPI void eina_matrix2_values_get(const Eina_Matrix2 *m, double *xx, double *xy,
+EINA_API void eina_matrix2_values_get(const Eina_Matrix2 *m, double *xx, double *xy,
double *yx, double *yy);
/**
@@ -1015,7 +1076,7 @@ EAPI void eina_matrix2_values_get(const Eina_Matrix2 *m, double *xx, double *xy,
*
* @since 1.17
*/
-EAPI void eina_matrix2_inverse(Eina_Matrix2 *out, const Eina_Matrix2 *mat);
+EINA_API void eina_matrix2_inverse(Eina_Matrix2 *out, const Eina_Matrix2 *mat);
/**
* @brief Sets the given floating point matrix to the identity matrix.
@@ -1027,7 +1088,7 @@ EAPI void eina_matrix2_inverse(Eina_Matrix2 *out, const Eina_Matrix2 *mat);
*
* @since 1.17
*/
-EAPI void eina_matrix2_identity(Eina_Matrix2 *m);
+EINA_API void eina_matrix2_identity(Eina_Matrix2 *m);
/**
* @brief Sets array to matrix.
@@ -1039,7 +1100,7 @@ EAPI void eina_matrix2_identity(Eina_Matrix2 *m);
*
* @since 1.17
*/
-EAPI void eina_matrix2_array_set(Eina_Matrix2 *m, const double *v);
+EINA_API void eina_matrix2_array_set(Eina_Matrix2 *m, const double *v);
/**
* @brief Copies matrix.
@@ -1049,7 +1110,7 @@ EAPI void eina_matrix2_array_set(Eina_Matrix2 *m, const double *v);
*
* @since 1.17
*/
-EAPI void eina_matrix2_copy(Eina_Matrix2 *dst, const Eina_Matrix2 *src);
+EINA_API void eina_matrix2_copy(Eina_Matrix2 *dst, const Eina_Matrix2 *src);
/**
* @brief Multiplies two matrices.
@@ -1060,7 +1121,7 @@ EAPI void eina_matrix2_copy(Eina_Matrix2 *dst, const Eina_Matrix2 *src);
*
* @since 1.17
*/
-EAPI void eina_matrix2_multiply(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a,
+EINA_API void eina_matrix2_multiply(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a,
const Eina_Matrix2 *mat_b);
/**
@@ -1072,7 +1133,7 @@ EAPI void eina_matrix2_multiply(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a,
*
* @since 1.17
*/
-EAPI void eina_matrix2_multiply_copy(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a,
+EINA_API void eina_matrix2_multiply_copy(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a,
const Eina_Matrix2 *mat_b);
/**
@@ -1086,7 +1147,7 @@ EAPI void eina_matrix2_multiply_copy(Eina_Matrix2 *out, const Eina_Matrix2 *mat_
*
* @since 1.17
*/
-EAPI Eina_Matrix_Type eina_matrix2_type_get(const Eina_Matrix2 *m);
+EINA_API Eina_Matrix_Type eina_matrix2_type_get(const Eina_Matrix2 *m);
/**
* @}