2014-06-27 14:13:09 -07:00
|
|
|
class Evas_3D_Scene (Evas_3D_Object, Evas.Common_Interface)
|
2014-04-14 03:03:47 -07:00
|
|
|
{
|
2014-04-26 00:10:06 -07:00
|
|
|
legacy_prefix: null;
|
2014-04-14 03:03:47 -07:00
|
|
|
data: Evas_3D_Scene_Data;
|
|
|
|
methods {
|
|
|
|
size_set {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
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 {
|
2015-05-18 08:13:08 -07:00
|
|
|
@in w: int; /*@ Width of the resolution. */
|
|
|
|
@in h: int; /*@ Height of the resolution. */
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-22 09:13:24 -07:00
|
|
|
size_get @const {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
Get the internal resolution of a scene.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
params {
|
2015-05-18 08:13:08 -07:00
|
|
|
@out w: int; /*@ Pointer to receive width of the resolution. */
|
|
|
|
@out h: int; /*@ Pointer to receive height of the resolution. */
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
background_color_set {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
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 {
|
2015-05-18 08:13:08 -07:00
|
|
|
@in r: Evas_Real; /*@ Red component of the background color. */
|
|
|
|
@in g: Evas_Real; /*@ Green component of the background color. */
|
|
|
|
@in b: Evas_Real; /*@ Blue component of the background color. */
|
|
|
|
@in a: Evas_Real; /*@ Alpha component of the background color. */
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-22 09:13:24 -07:00
|
|
|
background_color_get @const {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
Get the background color of a scene.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
params {
|
2015-05-18 08:13:08 -07:00
|
|
|
@out r: Evas_Real; /*@ Pointer to receive red component of the background color.*/
|
|
|
|
@out g: Evas_Real; /*@ Pointer to receive green component of the background color. */
|
|
|
|
@out b: Evas_Real; /*@ Pointer to receive blue component of the background color. */
|
|
|
|
@out a: Evas_Real; /*@ Pointer to receive alpha component of the background color. */
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-22 09:13:24 -07:00
|
|
|
pick @const {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
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
|
|
|
|
*/
|
2014-08-07 08:58:45 -07:00
|
|
|
return: bool;
|
2014-04-14 03:03:47 -07:00
|
|
|
params {
|
2015-05-18 08:13:08 -07:00
|
|
|
@in x: Evas_Real; /*@ X coordinate of the picking position. */
|
|
|
|
@in y: Evas_Real; /*@ Y coordinate of the picking position. */
|
|
|
|
@out node: Evas_3D_Node *; /*@ Pointer to receive the node contains the picked mesh. */
|
|
|
|
@out mesh: Evas_3D_Mesh *; /*@ Pointer to receive the picked mesh. */
|
|
|
|
@out s: Evas_Real; /*@ Pointer to receive the texture "s" coordinate. */
|
|
|
|
@out t: Evas_Real; /*@ Pointer to receive the texture "t" coordinate. */
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-22 09:13:24 -07:00
|
|
|
exist @const {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-05-28 02:24:58 -07:00
|
|
|
Search given node in the given position.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
2014-08-07 08:58:45 -07:00
|
|
|
return: Evas_3D_Node *;
|
2014-05-28 02:24:58 -07:00
|
|
|
params {
|
2015-05-18 08:13:08 -07:00
|
|
|
@in x: Evas_Real; /*@ X coordinate of the picking position. */
|
|
|
|
@in y: Evas_Real; /*@ Y coordinate of the picking position. */
|
|
|
|
@in node: Evas_3D_Node *; /*@ Node for search. */
|
2014-05-28 02:24:58 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-22 09:13:24 -07:00
|
|
|
pick_member_list_get @const {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-05-28 02:24:58 -07:00
|
|
|
Get list of the all root members from scene in the given position.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
2014-09-09 06:21:39 -07:00
|
|
|
return: list<Evas_3D_Node *> *;
|
2014-05-28 02:24:58 -07:00
|
|
|
params {
|
2015-05-18 08:13:08 -07:00
|
|
|
@in x: Evas_Real; /*@ X coordinate of the picking position. */
|
|
|
|
@in y: Evas_Real; /*@ Y coordinate of the picking position. */
|
2014-05-28 02:24:58 -07:00
|
|
|
}
|
|
|
|
}
|
2014-09-03 05:06:03 -07:00
|
|
|
shadows_enable_set {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-09-03 05:06:03 -07:00
|
|
|
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 {
|
2015-05-18 08:13:08 -07:00
|
|
|
@in shadows_enabled: bool; /*@ shadows enabled status. */
|
2014-09-03 05:06:03 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
shadows_enable_get @const {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-09-03 05:06:03 -07:00
|
|
|
Get shadows enabled status for given scene.
|
|
|
|
@return The shadows enabled status.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
2014-09-09 06:21:39 -07:00
|
|
|
return: bool;
|
2014-09-03 05:06:03 -07:00
|
|
|
params {
|
|
|
|
}
|
|
|
|
}
|
2015-02-11 08:44:42 -08:00
|
|
|
color_pick_enable_get @const {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2015-02-11 08:44:42 -08:00
|
|
|
Get status of color picking of the scene.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
return: bool;
|
|
|
|
params {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
color_pick_enable_set {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2015-02-11 08:44:42 -08:00
|
|
|
Set posibility color picking.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
return: bool;
|
|
|
|
params {
|
2015-05-18 08:13:08 -07:00
|
|
|
@in color_pick: bool; /*@ Posibility flag */
|
2015-02-11 08:44:42 -08:00
|
|
|
}
|
|
|
|
}
|
2014-04-14 03:03:47 -07:00
|
|
|
|
2015-05-07 08:36:45 -07:00
|
|
|
@property root_node {
|
2014-04-14 03:03:47 -07:00
|
|
|
set {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
Set the root node of a scene.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
get {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
Get the root node of a scene.
|
|
|
|
|
|
|
|
@return The root node of the given scene.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:13:08 -07:00
|
|
|
node: Evas_3D_Node *; /*@ A node which will be used as a root node for the scene. */
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-05-07 08:36:45 -07:00
|
|
|
@property camera_node {
|
2014-04-14 03:03:47 -07:00
|
|
|
set {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
Set the camera node of a scene.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
get {
|
2015-05-11 07:37:19 -07:00
|
|
|
/*@
|
2014-04-14 03:03:47 -07:00
|
|
|
Get the camera node of a scene.
|
|
|
|
|
|
|
|
@return The camera node of the given scene.
|
|
|
|
|
|
|
|
@ingroup Evas_3D_Scene
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:13:08 -07:00
|
|
|
node: Evas_3D_Node *; /*@ A node which will be used as a camera node for the scene. */
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
2014-06-20 03:14:59 -07:00
|
|
|
Eo.Base.constructor;
|
2014-06-20 02:45:55 -07:00
|
|
|
Evas_3D_Object.update_notify;
|
|
|
|
Evas_3D_Object.change_notify;
|
2014-04-14 03:03:47 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|