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