Commit Graph

262 Commits

Author SHA1 Message Date
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