Commit Graph

5815 Commits

Author SHA1 Message Date
Cedric BAIL 899b70d3dc evas: mark Evas VG API as beta API to. 2015-04-03 16:57:35 +02:00
Subhransu Mohanty 85312d56c6 ector: update cairo enum definitions and fix gradient spread issue.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:38:19 +02:00
Subhransu Mohanty c8764e9279 ector: fix memory leak in Ector.Renderer.Generic.Base class
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:38:18 +02:00
Subhransu Mohanty f4d325ee78 evas: fix memory leak in Efl.Vg.Base class. 2015-04-03 16:38:17 +02:00
Subhransu Mohanty 8d584dff34 efl: fix memory leak in efl_gfx_shape_interpolate().
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:38:15 +02:00
Subhransu Mohanty 5c31036249 evas/canvas : bail out in case of empty or null dash.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:38:14 +02:00
Subhransu Mohanty 2d74a4efb2 efl: fix svg path parsing to handle Z also.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:38:11 +02:00
Subhransu Mohanty 470d64c85e efl: update efl_gfx_shape interpolation to use fill color.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:38:10 +02:00
Cedric BAIL c44aa8f05d efl: all those function should have been static already. 2015-04-03 16:38:08 +02:00
Cedric BAIL 41a75f0b07 efl: follow Efl.VG naming by using bounds_get as an API name. 2015-04-03 16:38:08 +02:00
Cedric BAIL 990c088f6b evas: align naming with ector, use bounds. 2015-04-03 16:38:07 +02:00
Cedric BAIL 65fb92831b ector: there is no need for bounds get to return a Eina_Bool. 2015-04-03 16:38:06 +02:00
Cedric BAIL 600e69d226 evas: implements efl_vg_bound_get in all Efl.VG object. 2015-04-03 16:38:04 +02:00
Cedric BAIL c1836b97ed evas: remove Efl.VG.Image for now as it was not implemented. 2015-04-03 16:38:00 +02:00
Cedric BAIL 2613d17844 evas: remove unused function, no need for untested code. 2015-04-03 16:37:59 +02:00
Cedric BAIL 0eeb19d688 evas: implement stack below and above get for Efl.VG object. 2015-04-03 16:37:58 +02:00
Cedric BAIL 1821aef0c6 evas: add forgotten static in some Efl_VG object. 2015-04-03 16:37:57 +02:00
Cedric BAIL 9e3cfef8d7 evas: add missing boung_get and above/below get. 2015-04-03 16:37:56 +02:00
Cedric BAIL 510a3e42e8 ector: implements bounds_get for gradients in Cairo backend. 2015-04-03 16:37:55 +02:00
Cedric BAIL 2d9bccbfdc ector: implements bounds_get for Ector_Renderer_Cairo_Shape. 2015-04-03 16:34:30 +02:00
Cedric BAIL 7bca6c00f4 ector: fix the return type of ector_renderer_bounds_get. 2015-04-03 16:34:29 +02:00
Cedric BAIL 30e2b8398e efl: add path bounding box computation.
This code does compute the largest possible bounding box not a minimal one.
2015-04-03 16:34:28 +02:00
Cedric BAIL 8288e0a880 evas: remove SVG loader code. 2015-04-03 16:34:27 +02:00
Cedric BAIL 013b18ea6a evas: removing the ability to load file in Evas_Object_VG for now.
Without events and animation it is not really useful and that can only be
done with a library on top of Ecore.
2015-04-03 16:34:26 +02:00
Cedric BAIL 5310a3ea9c ector: remove some warning from the Cairo backend. 2015-04-03 16:34:25 +02:00
Cedric BAIL 39f7ce192c ector: implement surface size property. 2015-04-03 16:34:24 +02:00
Cedric BAIL 0d95e53932 ector: remove useless function for now. 2015-04-03 16:34:23 +02:00
Cedric BAIL b18b1e89ff evas: fix Windows build. 2015-04-03 16:34:22 +02:00
Subhransu Mohanty 6c64f2db74 ector: fix transform issue in cairo backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:19 +02:00
Subhransu Mohanty b20872bf68 ector: add cairo_save() and cairo_restore() to fix the transformation issue.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:16 +02:00
Subhransu Mohanty 1c093f3660 evas: fix EVAS_RENDERER_DEBUG_TIMING implementation for async rendering
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:15 +02:00
Subhransu Mohanty 03c5e052e8 efl: simplify append_circle() api implementation.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:14 +02:00
Subhransu Mohanty 1f62465916 ector: add mul_col feature in Cairo backend and fixed color handling issue.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:10 +02:00
Subhransu Mohanty a500249b69 ector: add clipping support for Cairo backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:07 +02:00
Subhransu Mohanty 26d8641381 ector: gradient now uses spread while filling a shape for Cairo backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:06 +02:00
Subhransu Mohanty e22752d1eb ector: use line width, join and cap style while stoking the path for Cairo backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:05 +02:00
Subhransu Mohanty f1e48f8de8 ector: don't draw the gradient if its used as fill object in Cairo backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:03 +02:00
Subhransu Sekhar Mohanty f73352adec evas : add documentation to legacy vector api's.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:02 +02:00
Subhransu Sekhar Mohanty e80a759139 evas: add legacy api for creating vg_shape and vg_container object.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:00 +02:00
Subhransu Sekhar Mohanty b1e663b368 efl: fix efl_gfx_append_rect to clamp radius to always fit inside of the rectangle.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:33:59 +02:00
Subhransu Sekhar Mohanty c1c6b7effc efl: force close of rect shape to prevent to avoid join showing with non rounded rectangle.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:33:58 +02:00
Cedric BAIL 40b9eea3cb ector: expose more useful immediate rendering functions to the outside world. 2015-04-03 16:33:57 +02:00
Cedric BAIL 105b375f68 efl: interpolate stroke also. 2015-04-03 16:33:51 +02:00
Subhransu Sekhar Mohanty 0ec75ca05f ector: fix coding style of freetype backend. 2015-04-03 16:33:50 +02:00
Subhransu Sekhar Mohanty 1d0ce5bc05 ector: fix ector_color_multiply() function 2015-04-03 16:33:49 +02:00
Cedric BAIL 5e5b3750c7 ector: add warning if library is not found.
We use the system configuration to find it. So if it doesn't find it, adjust
your system.
2015-04-03 16:33:48 +02:00
Subhransu Sekhar Mohanty 9f88fd068c ector: add handling of EFL_GFX_PATH_CHANGED signal to Freetype backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:33:44 +02:00
Cedric BAIL 29aefe04ad evas: correctly handle redraw of changed tree of Evas_VG_Node. 2015-04-03 16:33:42 +02:00
Cedric BAIL 728fa26409 ector: use the new infrastructure to detect changed path for Cairo backend. 2015-04-03 16:33:40 +02:00
Cedric BAIL d14f805793 efl: notify when the path change.
This is an easier and safer way than forcing all object inheriting this class
to override all function that modify the path.
2015-04-03 16:33:38 +02:00
Cedric BAIL f5f48a8265 ector: correctly handle case with NULL being set for efl_gfx_shape_stroke_dash_set. 2015-04-03 16:33:37 +02:00
Cedric BAIL 4bdda2db5a efl: fix parsing of SVG path data. 2015-04-03 16:33:35 +02:00
Cedric BAIL 988b9cdcbc efl: make efl_gfx_shape_interpolate more resistant to bogus request. 2015-04-03 16:33:33 +02:00
Cedric BAIL d02bb67da0 efl: actually update command and points length. 2015-04-03 16:33:31 +02:00
Subhransu Sekhar Mohanty 5753b43812 ector: fix pre multiplied color issue with FreeType backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:33:29 +02:00
Cedric BAIL bc7833e785 efl: fix rectangle shape to finish at the right position. 2015-04-03 16:33:28 +02:00
Cedric BAIL 0e18880efe ector: fix forgotten return value. 2015-04-03 16:33:26 +02:00
Jorge Luis Zapata Muga 8029e67c24 efl: use enesim/moonlight path normalizer.
This fix issue with rounded rectangle.
2015-04-03 16:33:22 +02:00
Cedric BAIL de08a3bc04 ector: add reference point to define (0, 0) and don't repeat the same value everywhere. 2015-04-03 16:33:19 +02:00
Cedric BAIL 5613ca50ae ector: remember last position and translate to Ector_Renderer origin position. 2015-04-03 16:33:07 +02:00
Subhransu Sekhar Mohanty 10dca9f68e ector : add path cliping feature in FreeType software backend. 2015-04-03 16:33:05 +02:00
Cedric BAIL cb1226ad41 ector: set the transformation matrix before any translation ! 2015-04-03 16:33:04 +02:00
Jose Gonzalez 472f3a72ff ector: correct implementation for color multiplication. 2015-04-03 16:33:01 +02:00
Cedric BAIL f5fe46ec3c ector: cairo require an identity matrix to be set instead of NULL.
NULL mean crash :-D
2015-04-03 16:33:00 +02:00
Cedric BAIL 983e80b2ad efl: correct Efl.Gfx.Shape.append_circle to follow SVG specification. 2015-04-03 16:31:54 +02:00
Cedric BAIL 9f8c35002b efl: add Efl.Gfx.Shape.append_rect following SVG specification.
SVG rectangle can have rounded corner.
2015-04-03 16:31:53 +02:00
Cedric BAIL 59635cd492 efl: handle path forced reset to NULL. 2015-04-03 16:31:52 +02:00
Cedric BAIL 8e05c58f2b ector: use shift instead of divide when possible. 2015-04-03 16:31:50 +02:00
Subhransu Sekhar Mohanty 891ec14585 ector: add software backend using FreeType rasterizer. 2015-04-03 16:31:45 +02:00
Cedric BAIL e99774946c ector: implementation of some common code in Ector.Renderer.Cairo.Base.
This require to make some class mixin instead of interface or abstract. So a lot
of class renaming is also necessary here.
2015-04-03 16:31:44 +02:00
Cedric BAIL bc016aa277 ector: implement a simple virtual to prepare the mask in Ector.Renderer.Generic.Base. 2015-04-03 16:31:43 +02:00
Cedric BAIL af11e81a51 ector: remove useless constructor. 2015-04-03 16:31:40 +02:00
Cedric BAIL cd1f09d359 evas: all color in evas are premultiplied, enforce with warning when not. 2015-04-03 16:31:39 +02:00
Cedric BAIL b54897dc27 ector: remove unecessary check for cairo context.
We now maintain an always available context.
2015-04-03 16:31:37 +02:00
Cedric BAIL 98b13ec944 ector: do not forget to get cairo symbol in Ector.Renderer.Cairo.Gradient_Linear. 2015-04-03 16:31:36 +02:00
Cedric BAIL 976e9de88a ector: call eo_do_super on the right gradient class in Ector.Renderer.Cairo.Gradient_Radial. 2015-04-03 16:31:35 +02:00
Cedric BAIL f41884153f ector: slightly better implementation for gradient radial draw. 2015-04-03 16:31:33 +02:00
Cedric BAIL 2821fd58db ector: on shutdown our ability to find cairo symbol may no be there anymore. 2015-04-03 16:31:32 +02:00
Cedric BAIL 9967da56ca ector: remove useless printf ! 2015-04-03 16:31:31 +02:00
Subhransu Sekhar Mohanty 3dea7dbfaf evas: update and propagate Evas_VG_Base transformation. 2015-04-03 16:31:29 +02:00
Cedric BAIL 4f98cab04d ector: fix inheritance in cairo backend. 2015-04-03 16:31:18 +02:00
Cedric BAIL 5ef81292a1 ector: fix setting context to always have one available. 2015-04-03 16:31:17 +02:00
Cedric BAIL e4330ea220 ector: fix inheritance of Ector.Generic.Shape. 2015-04-03 16:31:15 +02:00
Cedric BAIL fbeca90de4 ector: fix Eina_Log domain to be usable outside of main. 2015-04-03 16:31:13 +02:00
Cedric BAIL 986704dfb4 evas: do not track change on root node. 2015-04-03 16:31:09 +02:00
Cedric BAIL ebfcfed59b evas: fix coding style. 2015-04-03 16:31:08 +02:00
Cedric BAIL ab1f6f7984 evas: set alpha to zero for Efl.VG.Shape.stroke_color. 2015-04-03 16:31:00 +02:00
Cedric BAIL eb2bd9a8d8 evas: move Evas.VG_* to Efl.VG.*
This also introduce legacy API for all of them.
2015-04-03 16:30:59 +02:00
Cedric BAIL dd1cae7329 evas: initial implementation of a dumb SVG parser.
This commit is experimental and may be rebased until usable.
2015-04-03 16:30:56 +02:00
Cedric BAIL 0a27241f61 evas: eo_data_scope_get will return random value in memory, need to always use eo_isa. 2015-04-03 16:30:54 +02:00
Cedric BAIL 6a90d24aab evas: Evas_VG_Root_Node parent will be NULL during destructor. 2015-04-03 16:30:53 +02:00
Cedric BAIL 457e550616 evas: implement render_pre due to our hack over Evas_VG_Container. 2015-04-03 16:30:53 +02:00
Cedric BAIL d6feb49c0c evas: don't duplicate entry in parent children list
eo_parent_set is always called, even in the constructor.
2015-04-03 16:30:52 +02:00
Cedric BAIL 27f0399d08 efl: Efl.Gfx.Shape should actually be a mixin. 2015-04-03 16:30:51 +02:00
ChunEon Park 4e0b919a62 evas: ref/unref root node while it's being used by vg object.
This also remove dead code.
2015-04-03 16:30:49 +02:00
Cedric BAIL df43ec9487 ector: fix constructor/destructor of Ector_Cairo backend. 2015-04-03 16:30:48 +02:00
Vitor Sousa 09be34b825 eolian_cxx: fix build error for some generated C++ wrappers
Name generation for some C++ wrapper functions were adding an illegal ":"
in the function name.
Fixed the logical error that was causing this to happens when converting
namespaces to function prefixes.

@fix
2015-04-03 16:30:46 +02:00
Cedric BAIL 5f2fda2c18 efl: all those interface are clearly BETA_API. 2015-04-03 16:30:45 +02:00
Cedric BAIL f2380b0920 evas: introduce begin and end operation on an Ector surface.
This is necessary for GL has you want to map once and run with it, but it
will also help the software backend to not remap the surface all the time !
2015-04-03 16:30:44 +02:00
Cedric BAIL 0f6328b04f efl: introduce EFL_GFX_CHANGED event and properly propagate up to Evas. 2015-04-03 16:30:42 +02:00
Cedric BAIL 9fd2b74b08 efl: trigger EFL_GFX_CHANGED on path change. 2015-04-03 16:30:40 +02:00
Cedric BAIL 94418f1cd5 efl: add a changed event triggered when something affect the visual aspect of an object. 2015-04-03 16:30:39 +02:00
Subhransu Sekhar Mohanty 7ee3f8d952 evas: add documentation for Evas_Object_Vg class. 2015-04-03 16:30:38 +02:00
Subhransu Sekhar Mohanty b108fe8a10 efl: add documentation for shape and gradient interface. 2015-04-03 16:30:37 +02:00
Subhransu Sekhar Mohanty a068378c83 evas: add documentation for Evas_Object_VG 2015-04-03 16:30:36 +02:00
Subhransu Sekhar Mohanty dd58721613 efl: add documentation for Efl.Gfx enums. 2015-04-03 16:30:35 +02:00
Cedric BAIL 32de8d9e5f efl: move Efl.Gfx.Gradient_* to Efl.Gfx.Gradient.* much nicer for bindings. 2015-04-03 16:30:35 +02:00
Cedric BAIL 1e18631554 evas: make Evas.VG_Shape use Efl.Gfx.Base.color_part for stroke. 2015-04-03 16:30:34 +02:00
Cedric BAIL d7f434986e evas: use Efl.Gfx.Base.color_part in Evas.VG_Node. 2015-04-03 16:30:33 +02:00
Cedric BAIL cd3f8db506 efl: provide Efl.Gfx.Base.color_part and implement it in top Evas_Object. 2015-04-03 16:30:32 +02:00
Cedric BAIL ac8d923090 efl: add path operation to Efl.Gfx.Shape. 2015-04-03 16:23:28 +02:00
Cedric BAIL 1fb52dbe71 evas: move Evas.VG to use Efl.Gfx.View. 2015-04-03 16:23:27 +02:00
Cedric BAIL a395f5ded5 efl: add Efl.Gfx.View and use it in Evas.Image. 2015-04-03 16:23:26 +02:00
Cedric BAIL 5f2527f791 evas: move Evas.VG to use Efl.Gfx.Fill. 2015-04-03 16:23:25 +02:00
Cedric BAIL 7ba7ed4a1c efl: add Efl.Gfx.Fill and migrate Evas.Image to it. 2015-04-03 16:23:24 +02:00
Cedric BAIL a38c037953 evas: make Evas.VG_Node inherit from Efl.Gfx.Stack. 2015-04-03 16:23:23 +02:00
Cedric BAIL 500fe6ef1b efl: add Efl.Gfx.Stack interface and update Evas_Object accordingly. 2015-04-03 16:23:22 +02:00
Cedric BAIL c1118e7282 evas: implement Efl.Gfx.Base in Evas.VG_Node. 2015-04-03 16:23:20 +02:00
Cedric BAIL 651436f410 efl: rename visibility to visible.
After discussion bindings and people in general prefer visible.

T2035
2015-04-03 16:23:19 +02:00
Cedric BAIL c08f8e26a6 efl: add Efl.Gfx.Base and fix inheritance for Evas_Object. 2015-04-03 16:23:17 +02:00
Cedric BAIL c000ee8099 efl: rename namespace Graphics to Gfx. 2015-04-03 16:23:16 +02:00
Cedric BAIL dfd40467fc efl: add a parser for SVG data path that generate EFL Path. 2015-04-03 16:23:15 +02:00
Cedric BAIL 2067e85d68 evas: use the new Efl_File mmap function correctly for Evas_VG API. 2015-04-03 16:23:14 +02:00
Cedric BAIL c2e75544e1 efl: move mmap API to be part of Efl_File class. 2015-04-03 16:23:13 +02:00
Cedric BAIL 28257ec8fe evas: fix warning due to forgotten return. 2015-04-03 16:23:12 +02:00
Cedric BAIL ba47b47eb2 efl: make path a property actually. 2015-04-03 16:23:10 +02:00
Cedric BAIL 091fd5f31d evas: handle setting sub VG object to NULL. 2015-04-03 16:23:09 +02:00
Subhransu Sekhar Mohanty 125701c667 efl : fix append circle api in efl_graphics_utils 2015-04-03 16:23:08 +02:00
Cedric BAIL 5bb35d5598 efl: simplify the enum to only use Cubic Bezier curve.
So SVG support all kind of primitive, but really they are just sugar
on top of the simpler cubic bezier curve. Let's simplify our backend
by just supporting them and the simple line. We still provide all
the sugar, but via helper function that do convert to the right
number of Bezier curve.
2015-04-03 16:23:07 +02:00
Cedric BAIL 4248bc2870 evas: actually return the right type and fix warnings. 2015-04-03 16:23:06 +02:00
Cedric BAIL ce4d4aac04 efl: fix typos that emitted the wrong PATH type. 2015-04-03 16:23:05 +02:00
Cedric BAIL 5aafae94f1 evas: actually we want the Ector_Renderer, not the Evas_VG_Node. 2015-04-03 16:23:04 +02:00
Cedric BAIL 502ac45916 evas: properly propagate Eina_Matrix from the VG scene graph to the Ector_Renderer. 2015-04-03 16:23:03 +02:00
Cedric BAIL 0bb66ffedf efl: add efl_graphics_path_interpolate and efl_graphics_path_equal_commands.
This function will be handy to implement path interpolation in Edje later on. This
would be usable by Edje if we do push an Evas_Object_Shape. Not really difficult to
add at this stage.
2015-04-03 16:23:01 +02:00
Cedric BAIL 2cae706ab6 evas: start correctly implementing the render callback. 2015-04-03 16:23:00 +02:00
Cedric BAIL 6097178ec3 evas: start properly implementing render_pre for Evas_VG_Node. 2015-04-03 16:22:58 +02:00
Cedric BAIL 621d3b5660 evas: those function should have been static. 2015-04-03 16:22:57 +02:00
Cedric BAIL a00b6219fa evas: remove printf. 2015-04-03 16:22:56 +02:00
Cedric BAIL 6071e71e98 evas: cleanup parent handling of Evas_VG_Node. 2015-04-03 16:22:54 +02:00
Cedric BAIL f85f8135a0 evas: NULL is always needed as during destruction parent is set to NULL. 2015-04-03 16:22:53 +02:00
Cedric BAIL 09d7ffe520 evas: add fill and size definition for a VG scene graph. 2015-04-03 16:22:51 +02:00
Cedric BAIL 40e3240e6e evas: fix copy and paste mistake. 2015-04-03 16:22:50 +02:00
Cedric BAIL 185eadf9ad evas: fix typos in Evas_VG_Root_Node. 2015-04-03 16:22:38 +02:00
Cedric BAIL 97714021d1 evas: Evas_Object_VG should always create a root node. 2015-04-03 16:22:37 +02:00
Cedric BAIL 78bf41b223 eina: add eina_simple_xml_attribute_w3c_parse to parse attribute value. 2015-04-03 16:22:29 +02:00
Cedric BAIL 81760ea5d9 evas: also allow Evas_VG and NULL as parent.
I have yet to be sure of the Evas_VG one.
2015-04-03 16:22:26 +02:00
Cedric BAIL 36ba2fc01d evas: add file manipulation API to Evas_Object_VG. 2015-04-03 16:22:22 +02:00
Cedric BAIL b6ffe1cc87 evas: first implementation of an ector drawer inside Evas software engine.
Note: this won't work with the OpenGL backend.
2015-04-03 16:22:18 +02:00
Cedric BAIL 3f3fb4cac7 ector: handle color multiplier in the function declaration. 2015-04-03 16:22:16 +02:00
Cedric BAIL 5d98201236 ector: reorder macro for easier reuse. 2015-04-03 16:22:15 +02:00