Subhransu Mohanty
2766ce57ce
ector: refactored software drawing backend to use composition function.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:07:36 +02:00
Subhransu Mohanty
48b558a997
ector: add alpha field to gradient data.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:05:58 +02:00
Subhransu Mohanty
e9896ee363
ector: add dash stroking feature in software backend.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:04:46 +02:00
Subhransu Mohanty
8b075c6534
ector: refactored shape generation in software backend.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:02:53 +02:00
Subhransu Mohanty
230b75acab
ector: remove wrong implementation of singleton in software_surface class.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 14:58:38 +02:00
Subhransu Mohanty
fcb2605f4f
ector: fix memory leak in software backend when using shape.
...
Mixin destructor are not called, so we need to explicitely call it.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 14:57:12 +02:00
Subhransu Mohanty
f1a4f461c2
ector: add bounding box info in RLE data for software backend.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 14:56:29 +02:00
Subhransu Mohanty
146f3c52b5
ector: now software rasterizer allocates memory on stack to work in multi threading env.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 14:56:11 +02:00
Subhransu Mohanty
7b20430341
ector: add dash stroking in cairo backend.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-12 10:26:07 +02:00
Subhransu Mohanty
fa70a3a705
ector: fix memory leak in cairo backend when using shape.
...
Mixin destructor are not called, so we need to explicitely call it.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-12 10:24:46 +02:00
Tom Hacohen
c25b2bcc3a
Migrate more eo files to use Eina.Rectangle.
2015-08-04 10:57:14 +01:00
Jean-Philippe Andre
c73d140365
Ectore: And more build fixes for @mythri! :)
2015-07-16 20:02:47 +09:00
Jean-Philippe Andre
028cf2c9a4
Ector: Another build fix for @mythri
2015-07-16 19:41:17 +09:00
Jean-Philippe Andre
83f4ee89d0
Ector: Fix potential build errors with double typedef
...
Depending on the compiler and its version, having twice a
typedef on the same name may lead to a build failure.
Thanks @mythri for the report.
2015-07-16 18:22:55 +09:00
Subhransu Mohanty
4f2ad23585
ector/software: Update the PIXEL_BIT to 8 for better quality.
2015-06-25 19:17:51 +09:00
Daniel Kolesa
7d40ec0ad9
ector,ecore,eio,emotion: convert some docs
2015-06-10 14:35:11 +01:00
Daniel Kolesa
917a2bcab5
ector: always initialize the array contents even without fetchfunc
...
Also use a static array instead of a VLA as we know the size at compile time.
Fixes CID 1294210.
@fix
2015-06-09 15:12:07 +01:00
Tom Hacohen
6efbfe227a
Eo: Add a return value to eo_constructor().
...
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.
This is one of the final steps towards stabilizing Eo.
@feature
2015-05-20 13:03:24 +01:00
Daniel Kolesa
058a9c9d88
eolian: new syntax for params/values/keys
...
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.
This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.
@feature
2015-05-18 16:14:31 +01:00
Daniel Kolesa
ed0988a22d
eolian: change all EFL .eo files to use new syntax for properties
2015-05-07 16:36:58 +01:00
Jean-Philippe Andre
841403e415
Ector: More clang silencing
2015-04-21 20:40:27 +09:00
Jean-Philippe Andre
45b15037ef
Ector: Fix (probably valid) clang warning
...
This time it looks like this is a valid warning.
if (abs(double) <= 0.00001f) might too often be true since abs() returns
an int.
2015-04-21 20:11:02 +09:00
Jean-Philippe Andre
5bc153c6fb
Ector: Fix clang warning
...
Invalid type used for field and implicit conversions
2015-04-21 20:11:02 +09:00
Tom Hacohen
1807adf70b
Ector: remove use of #warning directive as TODO.
...
There's already a fixme in code, and an error output at runtime.
As discussed on the ML, using #warning this way is bad.
2015-04-20 15:00:13 +01:00
Chris Michael
d3d909bf9e
ector: Fix Coverity CID1293003
...
Summary: This fixes an issue of coverity reporting Explicit null
dereference as fetchfunc is defaulted to NULL, yet no check is made
later before calling it.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-12 21:13:18 -04:00
Subhransu Mohanty
eb7af88ca4
ector: don't apply transformation on clips in Cairo backend.
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-10 12:05:04 +02:00
Cedric BAIL
6a52271a86
ector: make sure that all of Ector is a beta API.
2015-04-03 16:57:55 +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
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
65fb92831b
ector: there is no need for bounds get to return a Eina_Bool.
2015-04-03 16:38:06 +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
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
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
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
Cedric BAIL
40b9eea3cb
ector: expose more useful immediate rendering functions to the outside world.
2015-04-03 16:33:57 +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
728fa26409
ector: use the new infrastructure to detect changed path for Cairo backend.
2015-04-03 16:33:40 +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
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
0e18880efe
ector: fix forgotten return value.
2015-04-03 16:33:26 +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
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
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
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
df43ec9487
ector: fix constructor/destructor of Ector_Cairo backend.
2015-04-03 16:30:48 +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
32de8d9e5f
efl: move Efl.Gfx.Gradient_* to Efl.Gfx.Gradient.* much nicer for bindings.
2015-04-03 16:30:35 +02:00
Cedric BAIL
ac8d923090
efl: add path operation to Efl.Gfx.Shape.
2015-04-03 16:23:28 +02:00
Cedric BAIL
c000ee8099
efl: rename namespace Graphics to Gfx.
2015-04-03 16:23:16 +02:00
Cedric BAIL
ba47b47eb2
efl: make path a property actually.
2015-04-03 16:23:10 +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
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
Cedric BAIL
aad1cf28f6
ector: prepare doesn't need surface, as it should always be the parent.
2015-04-03 16:22:14 +02:00
Cedric BAIL
74b2eed158
ector: first implementation of an Cairo shape renderer.
...
Note: still a lot on the todo, but it should display something that follow
the correct path at least. Thanks librsvg for helping a lot.
2015-04-03 16:22:11 +02:00
Cedric BAIL
7ba0f46a39
ector: remove surface from draw command as it should be drawn on the parent, always !
2015-04-03 16:22:10 +02:00
Cedric BAIL
60e4edd7b9
ector: start implementing radial gradient in cairo backend.
2015-04-03 16:22:08 +02:00
Cedric BAIL
48beef6b21
ector: fix cairo linear gradient implementation.
2015-04-03 16:22:07 +02:00
Cedric BAIL
d6cd365a48
ector: now import header of all cairo renderer.
2015-04-03 16:22:04 +02:00
Cedric BAIL
7417c034bf
ector: cairo need a specialized fill function.
2015-04-03 16:22:03 +02:00
Cedric BAIL
ea8f37e47d
ector: first try at implementing linear gradient renderer.
2015-04-03 16:22:02 +02:00
Cedric BAIL
fdf3942aa0
ector: first implementation of a Cairo surface.
2015-04-03 16:22:01 +02:00
Cedric BAIL
33d538643a
ector: add a base interface for all cairo renderer.
2015-04-03 16:22:00 +02:00
Cedric BAIL
85036dbeb1
ector: fix building of the generic backend.
2015-04-03 16:21:59 +02:00
Cedric BAIL
fedfbf4bf6
ector: fix building of cairo backend.
2015-04-03 16:21:58 +02:00
Cedric BAIL
fcbc29f85e
ector: move dependency around. Evas now depend on Ector.
2015-04-03 16:21:57 +02:00
Cedric BAIL
cba397fcf1
ector: and here come the beginning of a Cairo backend.
...
The idea is that Evas engine will actually inherit from it to instanciate their
own Cairo backend (Software and GL) from there.
2015-04-03 16:21:56 +02:00
Cedric BAIL
b06e770614
ector: add beginning of a cairo implementation.
2015-04-03 16:21:54 +02:00
Cedric BAIL
fe0672b80e
ector: all those function needs to be static.
2015-04-03 16:21:53 +02:00
Cedric BAIL
1df94f5baa
ector: share base type structure to the rest of ecore_private.h.
2015-04-03 16:21:52 +02:00
Cedric BAIL
11ac85b40b
ector: duplicate PATH could be useful.
2015-04-03 16:21:50 +02:00
Cedric BAIL
c5d085999a
ector: add stop implementation.
2015-04-03 16:21:49 +02:00
Cedric BAIL
62459acda7
ector: start the implementation of a Cairo backend.
2015-04-03 16:19:11 +02:00
Cedric BAIL
3ada4184d7
ector: start the implementation of the Generic surface.
2015-04-03 16:18:30 +02:00
Cedric BAIL
a5f8532e27
ector: make the drawing function virtual as it rely on the backend implementation.
2015-04-03 16:15:43 +02:00
Cedric BAIL
272967afe5
ector: move all interface to be in the Generic namespace.
...
This will enable the possibility to have many implementation for the
backend. Will come first Cairo, followed by Software and GL one day.
2015-04-03 16:15:41 +02:00
Cedric BAIL
6f3fd4ac81
ector: add linear and radial gradial renderer to Ector.
2015-04-03 16:15:39 +02:00
Cedric BAIL
f701e1f099
ector: add top gradient renderer.
2015-04-03 16:15:04 +02:00
Cedric BAIL
1d49ff7df2
efl: rename geometry to graphics to be more general.
2015-04-03 16:15:02 +02:00
Cedric BAIL
3635b63708
ector: add initial interface for a shape object.
2015-04-03 16:15:00 +02:00
Cedric BAIL
0510ea90bd
ector: add initial interface for Surface and Renderer.
2015-04-03 16:14:58 +02:00
Cedric BAIL
5e75d607c6
ector: initial introduction.
...
Idea for this library is to become a retained mode drawing library that use
Eo/Eolian for its API and take a lot of the good design from Enesim by
Jorge Zapata and Jose Gonzalez (http://enesim.org/ ).
2015-04-03 16:14:56 +02:00