#define GRAPHENE_END_DECLS
#define GRAPHENE_BEGIN_DECLS
#define GRAPHENE_PRIVATE_FIELD(type, name)
GRAPHENE_AVAILABLE_IN_1_0 bool graphene_matrix_is_2d(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_to_float(const graphene_matrix_t *m, float *v)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_matrix_project_rect(const graphene_matrix_t *m, const graphene_rect_t *r, graphene_quad_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_skew_xy(graphene_matrix_t *m, float factor)
GRAPHENE_AVAILABLE_IN_1_0 bool graphene_matrix_is_singular(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_scale(graphene_matrix_t *m, float x, float y, float z)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_skew_yz(graphene_matrix_t *m, float factor)
GRAPHENE_AVAILABLE_IN_1_10 bool graphene_matrix_equal_fast(const graphene_matrix_t *a, const graphene_matrix_t *b)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_matrix_transform_point3d(const graphene_matrix_t *m, const graphene_point3d_t *p, graphene_point3d_t *res)
GRAPHENE_AVAILABLE_IN_1_10 bool graphene_matrix_near(const graphene_matrix_t *a, const graphene_matrix_t *b, float epsilon)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_look_at(graphene_matrix_t *m, const graphene_vec3_t *eye, const graphene_vec3_t *center, const graphene_vec3_t *up)
GRAPHENE_AVAILABLE_IN_1_2 graphene_matrix_t * graphene_matrix_init_frustum(graphene_matrix_t *m, float left, float right, float bottom, float top, float z_near, float z_far)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_matrix_transform_sphere(const graphene_matrix_t *m, const graphene_sphere_t *s, graphene_sphere_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_interpolate(const graphene_matrix_t *a, const graphene_matrix_t *b, double factor, graphene_matrix_t *res)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_matrix_get_value(const graphene_matrix_t *m, unsigned int row, unsigned int col)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_matrix_transform_box(const graphene_matrix_t *m, const graphene_box_t *b, graphene_box_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_transform_point(const graphene_matrix_t *m, const graphene_point_t *p, graphene_point_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_perspective(const graphene_matrix_t *m, float depth, graphene_matrix_t *res)
GRAPHENE_AVAILABLE_IN_1_0 bool graphene_matrix_to_2d(const graphene_matrix_t *m, double *xx, double *yx, double *xy, double *yy, double *x_0, double *y_0)
GRAPHENE_AVAILABLE_IN_1_10 float graphene_matrix_get_z_translation(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_perspective(graphene_matrix_t *m, float fovy, float aspect, float z_near, float z_far)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_skew(graphene_matrix_t *m, float x_skew, float y_skew)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_matrix_get_x_scale(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 bool graphene_matrix_inverse(const graphene_matrix_t *m, graphene_matrix_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_untransform_bounds(const graphene_matrix_t *m, const graphene_rect_t *r, const graphene_rect_t *bounds, graphene_rect_t *res)
GRAPHENE_AVAILABLE_IN_1_10 bool graphene_matrix_equal(const graphene_matrix_t *a, const graphene_matrix_t *b)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_rotate(graphene_matrix_t *m, float angle, const graphene_vec3_t *axis)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_ortho(graphene_matrix_t *m, float left, float right, float top, float bottom, float z_near, float z_far)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_print(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_free(graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_get_row(const graphene_matrix_t *m, unsigned int index_, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_rotate_x(graphene_matrix_t *m, float angle)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_scale(graphene_matrix_t *m, float factor_x, float factor_y, float factor_z)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_rotate(graphene_matrix_t *m, float angle, const graphene_vec3_t *axis)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_project_rect_bounds(const graphene_matrix_t *m, const graphene_rect_t *r, graphene_rect_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_project_point(const graphene_matrix_t *m, const graphene_point_t *p, graphene_point_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_normalize(const graphene_matrix_t *m, graphene_matrix_t *res)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_matrix_get_y_scale(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_10 bool graphene_matrix_decompose(const graphene_matrix_t *m, graphene_vec3_t *translate, graphene_vec3_t *scale, graphene_quaternion_t *rotate, graphene_vec3_t *shear, graphene_vec4_t *perspective)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_matrix_determinant(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_translate(graphene_matrix_t *m, const graphene_point3d_t *pos)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_identity(graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_skew_xz(graphene_matrix_t *m, float factor)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_matrix_get_z_scale(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_from_float(graphene_matrix_t *m, const float *v)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_from_2d(graphene_matrix_t *m, double xx, double yx, double xy, double yy, double x_0, double y_0)
GRAPHENE_AVAILABLE_IN_1_10 float graphene_matrix_get_x_translation(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_multiply(const graphene_matrix_t *a, const graphene_matrix_t *b, graphene_matrix_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_rotate_y(graphene_matrix_t *m, float angle)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_rotate_z(graphene_matrix_t *m, float angle)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_matrix_unproject_point3d(const graphene_matrix_t *projection, const graphene_matrix_t *modelview, const graphene_point3d_t *point, graphene_point3d_t *res)
GRAPHENE_AVAILABLE_IN_1_10 float graphene_matrix_get_y_translation(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_from_vec4(graphene_matrix_t *m, const graphene_vec4_t *v0, const graphene_vec4_t *v1, const graphene_vec4_t *v2, const graphene_vec4_t *v3)
GRAPHENE_AVAILABLE_IN_1_0 bool graphene_matrix_is_identity(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_4 void graphene_matrix_transform_ray(const graphene_matrix_t *m, const graphene_ray_t *r, graphene_ray_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_transpose(const graphene_matrix_t *m, graphene_matrix_t *res)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_translate(graphene_matrix_t *m, const graphene_point3d_t *p)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_transform_bounds(const graphene_matrix_t *m, const graphene_rect_t *r, graphene_rect_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_transform_rect(const graphene_matrix_t *m, const graphene_rect_t *r, graphene_quad_t *res)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_init_from_matrix(graphene_matrix_t *m, const graphene_matrix_t *src)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_matrix_rotate_quaternion(graphene_matrix_t *m, const graphene_quaternion_t *q)
GRAPHENE_AVAILABLE_IN_1_0 graphene_matrix_t * graphene_matrix_alloc(void)
GRAPHENE_AVAILABLE_IN_1_0 bool graphene_matrix_is_backface_visible(const graphene_matrix_t *m)
GRAPHENE_AVAILABLE_IN_1_0 bool graphene_matrix_untransform_point(const graphene_matrix_t *m, const graphene_point_t *p, const graphene_rect_t *bounds, graphene_point_t *res)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_matrix_rotate_euler(graphene_matrix_t *m, const graphene_euler_t *e)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_transform_vec3(const graphene_matrix_t *m, const graphene_vec3_t *v, graphene_vec3_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_matrix_transform_vec4(const graphene_matrix_t *m, const graphene_vec4_t *v, graphene_vec4_t *res)
#define GRAPHENE_AVAILABLE_IN_1_4
#define GRAPHENE_AVAILABLE_IN_1_2
#define GRAPHENE_AVAILABLE_IN_1_10
#define GRAPHENE_AVAILABLE_IN_1_0
CURL_EXTERN CURLMcode curl_socket_t s
GRAPHENE_ALIGNED_DECL(GRAPHENE_PRIVATE_FIELD(graphene_simd4x4f_t, value), 16)