efl/src/lib/evas/canvas/evas_3d_camera.eo

109 lines
3.5 KiB
Plaintext
Executable File

class EO_Evas_3D_Camera (Eo_Base, Evas_Common_Interface)
{
legacy_prefix: evas_3d_camera;
data: Evas_3D_Camera_Data;
methods {
projection_matrix_set {
/*@
Set the projection matrix of the given camera.
@param camera The given camera.
@param matrix Pointer to the array of 16 Evas_Real values in column major order.
Default projection matrix is identity matrix.
@see evas_3d_camera_projection_perspective_set()
@see evas_3d_camera_projection_ortho_set()
@see evas_3d_camera_projection_frustum_set()
@ingroup Evas_3D_Camera
*/
params {
@in const Evas_Real *matrix; /*@ Projection Matrix */
}
}
projection_matrix_get {
/*@
Get the projection matrix of the given camera.
@param camera The given camera.
@param matrix Pointer to receive the 16 Evas_Real values in column major order.
@see evas_3d_camera_projection_matrix_set()
@ingroup Evas_3D_Camera
*/
const;
params {
@out Evas_Real matrix; /*@ Projection Matrix */
}
}
projection_perspective_set {
/*@
Set the projection matrix of the given camera with perspective projection.
@param camera The given camera.
@param fovy Field of view angle in Y direction.
@param aspect Aspect ratio.
@param near Distance to near clipping plane.
@param far Distance to far clipping plane.
@see evas_3d_camera_projection_matrix_set()
@ingroup Evas_3D_Camera
*/
params {
Evas_Real fovy; /*@ Field of view angle in Y direction. */
Evas_Real aspect; /*@ Aspect ratio.*/
Evas_Real near; /*@ Distance to near clipping plane. */
Evas_Real far; /*@ Distance to far clipping plane. */
}
}
projection_frustum_set {
/*@
Set the projection matrix of the given camera with frustum projection.
@see evas_3d_camera_projection_matrix_set()
@ingroup Evas_3D_Camera
*/
params {
Evas_Real left; /*@ Left X coordinate of the near clipping plane. */
Evas_Real right; /*@ Right X coordinate of the near clipping plane..*/
Evas_Real bottom; /*@ Bottom Y coordinate of the near clipping plane. */
Evas_Real top; /*@ Top Y coordinate of the near clipping plane */
Evas_Real near; /*@ Distance to near clipping plane. */
Evas_Real far; /*@ Distance to far clipping plane. */
}
}
projection_ortho_set {
/*@
Set the projection matrix of the given camera with orthogonal projection.
@see evas_3d_camera_projection_matrix_set()
@ingroup Evas_3D_Camera
*/
params {
Evas_Real left; /*@ Left X coordinate of the near clipping plane. */
Evas_Real right; /*@ Right X coordinate of the near clipping plane..*/
Evas_Real bottom; /*@ Bottom Y coordinate of the near clipping plane. */
Evas_Real top; /*@ Top Y coordinate of the near clipping plane */
Evas_Real near; /*@ Distance to near clipping plane. */
Evas_Real far; /*@ Distance to far clipping plane. */
}
}
}
implements {
Eo_Base::constructor;
Eo_Base::destructor;
Evas_Common_Interface::evas::get;
}
}