void
pepper_view_surface_damage(pepper_view_t *view);
-void
-pepper_view_get_local_coordinate(pepper_view_t *view,
- double global_x, double global_y,
- double *local_x, double *local_y);
-
-void
-pepper_view_get_global_coordinate(pepper_view_t *view,
- double local_x, double local_y,
- double *global_x, double *global_y);
-
struct pepper_plane
{
pepper_object_t base;
}
}
-void
-pepper_view_get_local_coordinate(pepper_view_t *view,
- double global_x, double global_y,
- double *local_x, double *local_y)
-{
- pepper_vec4_t pos = { global_x, global_y, 0.0, 1.0 };
-
- pepper_mat4_transform_vec4(&view->global_transform_inverse, &pos);
-
- PEPPER_ASSERT(pos.w >= 1e-6);
-
- *local_x = pos.x / pos.w;
- *local_y = pos.y / pos.w;
-}
-
-void
-pepper_view_get_global_coordinate(pepper_view_t *view,
- double local_x, double local_y,
- double *global_x, double *global_y)
-{
- pepper_vec4_t pos = { local_x, local_y, 0.0, 1.0 };
-
- pepper_mat4_transform_vec4(&view->global_transform, &pos);
-
- PEPPER_ASSERT(pos.w >= 1e-6);
-
- *global_x = pos.x / pos.w;
- *global_y = pos.y / pos.w;
-}
-
static pepper_list_t *
view_insert(pepper_view_t *view, pepper_list_t *pos, pepper_bool_t subtree)
{
return PEPPER_FALSE;
}
+
+PEPPER_API void
+pepper_view_get_local_coordinate(pepper_view_t *view, double gx, double gy, double *lx, double *ly)
+{
+ pepper_vec4_t pos = { gx, gy, 0.0, 1.0 };
+
+ pepper_mat4_transform_vec4(&view->global_transform_inverse, &pos);
+
+ PEPPER_ASSERT(pos.w >= 1e-6);
+
+ *lx = pos.x / pos.w;
+ *ly = pos.y / pos.w;
+}
+
+PEPPER_API void
+pepper_view_get_global_coordinate(pepper_view_t *view, double lx, double ly, double *gx, double *gy)
+{
+ pepper_vec4_t pos = { lx, ly, 0.0, 1.0 };
+
+ pepper_mat4_transform_vec4(&view->global_transform, &pos);
+
+ PEPPER_ASSERT(pos.w >= 1e-6);
+
+ *gx = pos.x / pos.w;
+ *gy = pos.y / pos.w;
+}