summaryrefslogtreecommitdiff
path: root/src/lib/evas/Evas_Eo.h
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2020-03-25 19:14:02 +0900
committerHermet Park <chuneon.park@samsung.com>2020-03-25 19:14:02 +0900
commit476e2b0521df500776ef0e88f3f28bb5f6b26e78 (patch)
tree8b455b1e731c16efca7f4a4352e7b369e3cc1349 /src/lib/evas/Evas_Eo.h
parentd4e6303d9e14c38f2d901b571261f27fe544b1de (diff)
canvas 3d: remove all canvas3d features across efl.
Reviewers: jsuya, kimcinoo, bu5hm4n, raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11552
Diffstat (limited to 'src/lib/evas/Evas_Eo.h')
-rw-r--r--src/lib/evas/Evas_Eo.h212
1 files changed, 0 insertions, 212 deletions
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 046f2c55d6..aefbe144f7 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -119,218 +119,6 @@ struct _Efl_Canvas_Object_Animation_Event
119#include "canvas/efl_canvas_object_animation.eo.h" 119#include "canvas/efl_canvas_object_animation.eo.h"
120#include "canvas/efl_canvas_event_grabber.eo.h" 120#include "canvas/efl_canvas_event_grabber.eo.h"
121 121
122 /**
123 * @defgroup Evas_3D Evas 3D Extensions
124 *
125 * Evas extension to support 3D rendering.
126 *
127 * @ingroup Evas
128 */
129
130#include "canvas/evas_canvas3d_types.eot.h"
131
132/**
133 * @page evas_canvas3d_main Evas 3D
134 *
135 * @since 1.10
136 *
137 * @section evas_canvas3d_toc Table of Contents
138 *
139 * @li @ref evas_canvas3d_intro
140 * @li @ref evas_canvas3d_example
141 *
142 * @section evas_canvas3d_intro Introduction
143 *
144 * Evas 3D is an extension to support 3D scene graph rendering into 2D Evas
145 * canvases, with tree-based scene graph manipulation and other typical 3D
146 * rendering techniques.
147 *
148 * 3D objects are used to describe three dimensional scenes and to provide
149 * interfaces to connect the scene to an Evas image object for rendering.
150 *
151 * Scenes are constructed by locating cameras and lights and selecting desired
152 * meshes, and organizing Node objects into hierarchical n-ary tree data structures.
153 * The scene is stacked on the canvas with existing Evas objects, which permits
154 * intermingling 3D rendered content in existing 2D application layouts.
155 *
156 * Rendering techniques supported by Evas 3D include flat and phong
157 * shading, normal and texture mapping, and triangle meshes. Existing
158 * Evas objects may also be used as textures inside the 3D scene,
159 * including EFL widgets and even application windows. This latter
160 * capability makes it possible to create a 3D version of an arbitrary
161 * EFL application with minimal code changes.
162 *
163 * @section evas_canvas3d_example Introductory Example
164 *
165 * @include evas-3d-cube.c
166 */
167
168/**
169 * @defgroup Evas_Canvas3D_Types Types & Enums
170 * @ingroup Evas_3D
171 *
172 * Primitive type definitions and enumerations.
173 */
174
175/**
176 * @defgroup Evas_Canvas3D_Object Generic 3D Object Descriptions
177 * @ingroup Evas_3D
178 *
179 * The Evas_Canvas3D_Object structure is an abstract base for other Evas
180 * 3D objects (scenes, nodes, lights, meshes, textures, and materials)
181 * with reference counting and propagation of modifications via
182 * reference tracking. This permits, for example, when a scene object
183 * is modified (marked dirty), a number of image objects rendering that
184 * object to be notified to update themselves, without needing to call
185 * update functions manually.
186 */
187
188/**
189 * @defgroup Evas_Canvas3D_Scene Scene Object
190 * @ingroup Evas_3D
191 *
192 * The Evas_Canvas3D_Scene structure represents a captured image of a
193 * scene graph through its viewing camera. A scene can be associated
194 * with an image object for canvas display via the
195 * evas_object_image_scene_set() function.
196 */
197
198/**
199 * @defgroup Evas_Canvas3D_Node Node Object
200 * @ingroup Evas_3D
201 *
202 * The Evas_Canvas3D_Node structure defines the position, orientation,
203 * and scale of canvas objects (cameras, lights, meshes, etc.) in a 3D
204 * space. These nodes can be organized into a hierarchical n-ary tree
205 * structure to construct a scene graph.
206 */
207
208/**
209 * @defgroup Evas_Canvas3D_Camera Camera Object
210 * @ingroup Evas_3D
211 *
212 * The Evas_Canvas3D_Camera structure defines properties used to
213 * generate 2D pictures of a given scene graph, similar in concept to
214 * focus length and film size for a real world camera.
215 *
216 * A given camera definition can be used to take multiple pictures of
217 * the scene by establishing multiple nodes for the
218 * Evas_Canvas3D_Camera, each of which are located at different
219 * positions and with different orientations. Convenience routines
220 * evas_canvas3d_node_position_set() and
221 * evas_canvas3d_node_look_at_set() are provided to adjust the position
222 * and viewing direction for these nodes.
223 */
224
225/**
226 * @defgroup Evas_Canvas3D_Light Light Object
227 * @ingroup Evas_3D
228 *
229 * The Evas_Canvas3D_Light structure defines various light source
230 * properties. Reflection models include: Ambient, diffuse, and
231 * specular. Light models include directional, point, and spot. The
232 * position and direction for the light is tracked by the node that
233 * contains the light.
234 */
235
236/**
237 * @defgroup Evas_Canvas3D_Mesh Mesh Object
238 * @ingroup Evas_3D
239 *
240 * The Evas_Canvas3D_Mesh structure manages key-frame based mesh
241 * animations for geometrical objects like character models, terrain,
242 * buildings, and other such visible objects. Each mesh frame can have
243 * its own material and geometric data. Blending functions, fog
244 * effects, level of detail boundaries, and shadow properties are also
245 * supported.
246 *
247 * Like other data objects, a mesh definition is located and oriented in
248 * the canvas with one or more nodes, with the mesh transformed from its
249 * modeling coordinate space to the node's coordinate space. The frame
250 * number is also tracked by the node, permitting creation of multiple
251 * nodes in the canvas each set to a different animation frame, for
252 * example.
253 *
254 * Unlike camera and light objects, multiple meshes can be contained in
255 * a single node.
256 */
257
258/**
259 * @defgroup Evas_Canvas3D_Primitive Primitive Object
260 * @ingroup Evas_3D
261 *
262 * The Evas_Canvas3D_Primitive structure defines the data for
263 * generating meshes for various types of primitive shapes such as
264 * cubes, cylinders, spheres, surfaces, terrain, etc. Use the
265 * evas_canvas3d_mesh_from_primitive_set() function to generate a
266 * mesh's frame of this primitive.
267 */
268
269/**
270 * @defgroup Evas_Canvas3D_Texture Texture Object
271 * @ingroup Evas_3D
272 *
273 * The Evas_Canvas3D_Texture structure associates a 2D bitmap image to a
274 * material for a surface. Image data for the texture can be loaded
275 * from memory, a file, or an Evas_Object. Use the
276 * evas_canvas3d_material_texture_set() function to add the texture to
277 * an Evas_Canvas3DMaterial's slot.
278 */
279
280/**
281 * @defgroup Evas_Canvas3D_Material Material Object
282 * @ingroup Evas_3D
283 *
284 * The Evas_Canvas3D_Material structure defines a set of material
285 * attributes used for determining the color of mesh surfaces. Each
286 * attribute is defined by a color value and texture map. The five
287 * attributes are: ambient, diffuse, specular, emission, and normal.
288 */
289
290/**
291 * @typedef Evas_Canvas3D_Surface_Func
292 *
293 * The Evas_Canvas3D_Surface_Func type of functions are used to
294 * create parametric surfaces as primitives. These compute the
295 * vertex x,y,z values for given v,u values.
296 *
297 * @param out_x The x component of the calculated value.
298 * @param out_y The y component of the calculated value.
299 * @param out_z The z component of the calculated value.
300 * @param a is the v value.
301 * @param b is the u value.
302
303 * @see Evas_Canvas3D_Primitive
304 *
305 * @since 1.15
306 * @ingroup Evas_Canvas3D_Primitive
307 */
308typedef void (Evas_Canvas3D_Surface_Func)(Evas_Real *out_x,
309 Evas_Real *out_y,
310 Evas_Real *out_z,
311 Evas_Real a,
312 Evas_Real b);
313
314#include "canvas/evas_canvas3d_object.eo.h"
315
316#include "canvas/evas_canvas3d_texture.eo.h"
317
318#include "canvas/evas_canvas3d_material.eo.h"
319
320#include "canvas/evas_canvas3d_light.eo.h"
321
322#include "canvas/evas_canvas3d_primitive.eo.h"
323
324#include "canvas/evas_canvas3d_mesh.eo.h"
325
326#include "canvas/evas_canvas3d_node.eo.h"
327
328#include "canvas/evas_canvas3d_camera.eo.h"
329
330#include "canvas/evas_canvas3d_scene.eo.h"
331
332#include "canvas/efl_canvas_scene3d.eo.h"
333
334#include "canvas/efl_canvas_image_internal.eo.h" 122#include "canvas/efl_canvas_image_internal.eo.h"
335#include "canvas/efl_canvas_image.eo.h" 123#include "canvas/efl_canvas_image.eo.h"
336#include "canvas/efl_canvas_snapshot.eo.h" 124#include "canvas/efl_canvas_snapshot.eo.h"