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

214 lines
6.3 KiB
Plaintext

class Evas_3D_Scene (Evas_3D_Object, Evas.Common_Interface)
{
legacy_prefix: null;
data: Evas_3D_Scene_Data;
methods {
size_set {
/*
Set the resolution of a scene.
A scene should be rendered to be displayed through an image objects. The
resolution defines size of the internal surface holding the rendered result.
@ingroup Evas_3D_Scene
*/
params {
@in int w; /*@ Width of the resolution. */
@in int h; /*@ Height of the resolution. */
}
}
size_get @const {
/*
Get the internal resolution of a scene.
@ingroup Evas_3D_Scene
*/
params {
@out int w; /*@ Pointer to receive width of the resolution. */
@out int h; /*@ Pointer to receive height of the resolution. */
}
}
background_color_set {
/*
Set the background color of a scene.
Background color defines initial color of pixels before a scene is rendered.
If you want to display a scene with background evas objects are still
remaining as if it was the background, set the alpha term to 0.0.
Default background color is (0.0, 0.0, 0.0, 0.0).
@ingroup Evas_3D_Scene
*/
params {
@in Evas_Real r; /*@ Red component of the background color. */
@in Evas_Real g; /*@ Green component of the background color. */
@in Evas_Real b; /*@ Blue component of the background color. */
@in Evas_Real a; /*@ Alpha component of the background color. */
}
}
background_color_get @const {
/*
Get the background color of a scene.
@ingroup Evas_3D_Scene
*/
params {
@out Evas_Real r; /*@ Pointer to receive red component of the background color.*/
@out Evas_Real g; /*@ Pointer to receive green component of the background color. */
@out Evas_Real b; /*@ Pointer to receive blue component of the background color. */
@out Evas_Real a; /*@ Pointer to receive alpha component of the background color. */
}
}
pick @const {
/*
Get information on the most front visible mesh for the given position.
(x, y) is the screen coordinate of the given scene. That is, left-top is
(0, 0) and right-bottom is (w, h) where (w, h) is the size of the scene.
The texture coordinate is useful when using proxy texture source.
@ingroup Evas_3D_Scene
*/
return: bool;
params {
@in Evas_Real x; /*@ X coordinate of the picking position. */
@in Evas_Real y; /*@ Y coordinate of the picking position. */
@out Evas_3D_Node *node; /*@ Pointer to receive the node contains the picked mesh. */
@out Evas_3D_Mesh *mesh; /*@ Pointer to receive the picked mesh. */
@out Evas_Real s; /*@ Pointer to receive the texture "s" coordinate. */
@out Evas_Real t; /*@ Pointer to receive the texture "t" coordinate. */
}
}
exist @const {
/*
Search given node in the given position.
@ingroup Evas_3D_Scene
*/
return: Evas_3D_Node *;
params {
@in Evas_Real x; /*@ X coordinate of the picking position. */
@in Evas_Real y; /*@ Y coordinate of the picking position. */
@in Evas_3D_Node *node; /*@ Node for search. */
}
}
pick_member_list_get @const {
/*
Get list of the all root members from scene in the given position.
@ingroup Evas_3D_Scene
*/
return: list<Evas_3D_Node *> *;
params {
@in Evas_Real x; /*@ X coordinate of the picking position. */
@in Evas_Real y; /*@ Y coordinate of the picking position. */
}
}
shadows_enable_set {
/*
Enable or disable shadows on given scene
If shadows_enabled @c EINA_TRUE, the objects in the scene can throw shadow to another objects located behind them.
The depth map used for shading. Directed and projective light sources are supported.
@ingroup Evas_3D_Scene
*/
params {
@in bool shadows_enabled; /*@ shadows enabled status. */
}
}
shadows_enable_get @const {
/*
Get shadows enabled status for given scene.
@return The shadows enabled status.
@ingroup Evas_3D_Scene
*/
return: bool;
params {
}
}
color_pick_enable_get @const {
/*
Get status of color picking of the scene.
@ingroup Evas_3D_Scene
*/
return: bool;
params {
}
}
color_pick_enable_set {
/*
Set posibility color picking.
@ingroup Evas_3D_Scene
*/
return: bool;
params {
@in bool color_pick; /*@ Posibility flag */
}
}
}
properties {
root_node {
set {
/*
Set the root node of a scene.
@ingroup Evas_3D_Scene
*/
}
get {
/*
Get the root node of a scene.
@return The root node of the given scene.
@ingroup Evas_3D_Scene
*/
}
values {
Evas_3D_Node *node; /*@ A node which will be used as a root node for the scene. */
}
}
camera_node {
set {
/*
Set the camera node of a scene.
@ingroup Evas_3D_Scene
*/
}
get {
/*
Get the camera node of a scene.
@return The camera node of the given scene.
@ingroup Evas_3D_Scene
*/
}
values {
Evas_3D_Node *node; /*@ A node which will be used as a camera node for the scene. */
}
}
}
implements {
Eo.Base.constructor;
Evas_3D_Object.update_notify;
Evas_3D_Object.change_notify;
}
}