class Evas.Canvas3D.Scene (Evas.Canvas3D.Object, Evas.Common_Interface) { legacy_prefix: null; data: Evas_Canvas3D_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. ]] params { @in w: int; [[Width of the resolution.]] @in h: int; [[Height of the resolution.]] } } size_get @const { [[Get the internal resolution of a scene.]] params { @out w: int; [[Pointer to receive width of the resolution.]] @out h: int; [[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). ]] params { @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.]] } } background_color_get @const { [[Get the background color of a scene.]] params { @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.]] } } 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. ]] return: bool; params { @in x: Evas_Real; [[X coordinate of the picking position.]] @in y: Evas_Real; [[Y coordinate of the picking position.]] @out node: Evas.Canvas3D.Node *; [[Pointer to receive the node contains the picked mesh.]] @out mesh: Evas.Canvas3D.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.]] } } exist @const { [[Search given node in the given position.]] return: Evas.Canvas3D.Node *; params { @in x: Evas_Real; [[X coordinate of the picking position.]] @in y: Evas_Real; [[Y coordinate of the picking position.]] @in node: Evas.Canvas3D.Node *; [[Node for search.]] } } pick_member_list_get @const { [[Get list of the all root members from scene in the given position.]] return: list *; params { @in x: Evas_Real; [[X coordinate of the picking position.]] @in y: Evas_Real; [[Y coordinate of the picking position.]] } } shadows_enable_set { [[Enable or disable shadows on given scene If shadows_enabled is $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. ]] params { @in shadows_enabled: bool; [[Shadows enabled status.]] } } shadows_enable_get @const { [[Get shadows enabled status for given scene.]] return: bool; [[The shadows enabled status.]] } color_pick_enable_get @const { [[Get status of color picking of the scene.]] return: bool; } color_pick_enable_set { [[Set posibility color picking.]] return: bool; params { @in color_pick: bool; [[Posibility flag]] } } @property root_node { set { [[Set the root node of a scene.]] } get { [[Get the root node of a scene.]] } values { node: Evas.Canvas3D.Node *; [[A node which will be used as a root node for the scene.]] } } @property camera_node { set { [[Set the camera node of a scene.]] } get { [[Get the camera node of a scene.]] } values { node: Evas.Canvas3D.Node *; [[A node which will be used as a camera node for the scene.]] } } } implements { Eo.Base.constructor; Evas.Canvas3D.Object.update_notify; Evas.Canvas3D.Object.change_notify; } }