Commit Graph

159 Commits

Author SHA1 Message Date
Jean-Philippe Andre f88333326f Ector: Fix Windows build (missed in previous patch) 2015-12-03 20:53:20 +09:00
Jean-Philippe Andre c09199f0e0 Ector: use uint32_t instead of uint
This fixes the build for Windows. Thanks @vtorri for the report.

I'm not using "unsigned int" as uint was mostly used like DATA32,
ie. color data (one pixel color or a pixel buffer).
2015-12-03 20:28:27 +09:00
Jean-Philippe Andre dc621e2316 Ector: Kill compilation warnings
Remove unimplemented function (no test case yet).
Convert #warning into comments.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 4bcea3eada Ector: Move cairo surface back to ector
The original plan was to have two different surfaces for GL and SW,
but this is probably not going to happen anytime soon. So, move
the implementation back to lib/ector. This avoid a file duplication.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 52ec3d2d7e Ector: Rename C files to match their EO counterparts 2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 33cd26a4b2 Ector: Another minor code cleanup
Remove DATA8, DATA16, DATA32
Remove empty data structure
Remove unnecessary typedef
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 615b2442b7 Ector: Move drawhelper to static_libs
Rename a few things:
 - draw helper -> efl_draw
 - Ector_Rop -> Efl.Gfx.Render_Op
 - ECTOR_ bla bla -> DRAW_ bla bla (base pixel ops)
 - ector_memfill -> draw_memset32 (and invert arg order to match memset)

The main rasterizer file is now draw.h in static_libs/draw
This is a non functional change, simple code refactor.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre bad7911cd0 Ector: Use Ector Buffer inside SW and Cairo renderers
Ector Surface now inherits from Ector Buffer, and the current
two renderers (SW and Cairo SW) use Ector.Software.Buffer
implementations for pixel surfaces.

Basic pixel handling is merged and will allow easy extension
(color conversion, etc...).

Buffer classes are Mixins to be fully implemented by the final
class, such as: Ector.Software.Buffer, Ector.Software.Surface
or Ector.Cairo.Surface.

This is a large ugly commit. Sorry.
The code is quite a mess right now.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 0cf5719e52 Ector: Implement pixel buffer support
The objective of this patch is to propose a standardized
format for pixel buffers to use within Ector and Evas.

The basic EO API provided here is not meant to be the
fastest path for all operations, simply the most convenient
to generalize. Performance will be achieved by implementing
(or porting) custom draw functions.

This implements support for:
- Generic pixel buffers
- Generic buffer renderer to draw images with ector
- Software engine pixel buffers, ie. malloc buffers
- Software buffer renderer

Cairo support has not been implemented yet.

The only renderer is still extremely limited, as it does not
support Fill modes, Scaling, etc... yet.

Not a single line from this patch has been tested yet.
It compiles. That's pretty damn good for a start!

@feature
2015-12-03 18:42:50 +09:00
Subhransu Mohanty 38902ef291 efl: change efl_gfx_shape_cubic_to() api signature to follow other API (cairo and freetype).
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-30 15:59:49 -08:00
Stefan Schmidt f356af17c9 ector: use void to force empty function parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.
2015-11-26 17:24:37 +01:00
Subhransu Mohanty 055354050e ector: support fill rule for shape object.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-24 15:47:15 -08:00
Subhransu Mohanty 609f74994b efl: make path stroke related api as non virtual.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-24 15:42:29 -08:00
Subhransu Mohanty a6e168675d ector: fix the rounding issue when applying transformation to shape data in freetype backend.
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-24 14:37:33 -08:00
Jean-Philippe Andre ec92726ca9 Ector: Simplify confusing code
The base class data was already stored, no need to figure it out again
2015-11-20 14:14:28 +09:00
Cedric BAIL b2202a5064 ector: don't use parent relationship to get access to the surface for freetype backend. 2015-11-19 14:52:10 +01:00
Cedric BAIL 9c3c402fd6 ector: don't use eo parent relationship for accessing the surface. 2015-11-19 14:52:10 +01:00
Cedric BAIL 4f0ef04788 ector: starting decoralating surface and parent by adding a property to access the surface independently.
NOTE: It would be nice to be able to protect independently the setter from the getter in eolian.
2015-11-19 14:52:10 +01:00
Chris Michael e04146f7de ector: Fix incorrect expression
Coverity reports that 'obj' is written twice with the same value
here., so fix this with a proper call to eo_do_super_ret

NB: Fixes Coverity CID1339786

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 10:06:55 -05:00
Chris Michael 41db18ffda ector: Add missing EINA_UNUSED for unused function parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 08:58:58 -05:00
Cedric BAIL 14a1954c6f ector: disable NEON build.
There is more problem with this code, better disable it for now.

@fix

T2851
2015-11-17 10:33:09 +01:00
Cedric BAIL 1ed7ebaa0b ector: do get symbol at object construction time.
This make it part of the object initialization and will prevent the construction
of the object if the needed cairo function are not fund. So if Ector can create
the object, it can display them.
2015-11-12 15:53:01 -08:00
Cedric BAIL 599141a96b ector: move freetype rasterizer library to itw own directory. 2015-11-09 10:42:35 -08:00
Cedric BAIL 12d8191cb5 ector: remove inline on function pointer. 2015-11-09 10:42:35 -08:00
Cedric BAIL dcc0894049 ector: cleanup code convention of the gradient code. 2015-11-09 10:42:35 -08:00
Cedric BAIL 9023f6d28c ector: simplify code by avoiding unecessary intermediate function. 2015-11-09 10:42:35 -08:00
Cedric BAIL ef975a9fd2 ector: follow function naming convention. 2015-11-09 10:42:35 -08:00
Vivek Ellur 96f936e6d3 ector: fix null pointer dereference issue
Summary:
Fix Coverity CID1293003

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3220

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Srivardhan Hebbar f4bd830e22 ector: handling memory leak on error.
Summary:
Memory leak was caused by using the USE macro. So move the macro before
doing any allocation.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3183

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 14:01:15 -07:00
Srivardhan Hebbar d541d9281e ector: removing useless assignement.
Summary:
Null assignment has no effect in the caller function. So removed it.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3184

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:17:25 -07:00
Tom Hacohen 7dc60520f6 Ector renderer: fix return value to be of the right type.
This function expects a pointer as a return value, not a bool.

@fix.
2015-10-09 12:37:28 +01:00
Tom Hacohen fa6fac8182 Ector renderer: fix return value to be of the right type.
This function expects a pointer as a return value, not a bool.

@fix.
2015-10-09 12:27:30 +01:00
Cedric BAIL 77a732eb8b ector: fix leak of dash info in Cairo backend.
CID 1316270
2015-10-04 18:50:48 +02:00
Cedric BAIL cb65e6b1fe ector: don't leak cairo context. 2015-10-01 17:18:54 -07:00
Tom Hacohen be87d3bf1d Ector software gradient: Fix cast from integer to pointer of wrong type.
When casting pointer<->int, always use uintptr_t, not just int.

@fix
2015-09-22 15:45:11 +01:00
Cedric BAIL 6416997382 ector: make it possible to have an unique id per Ector_Renderer.
This is going to be used by an Eina_Hash to deduplicate the number of Ector_Renderer.
2015-09-21 22:50:34 +02:00
Cedric BAIL 4d75e359ff ector: fix cairo backend to properly multiply gradient color.
@fix
2015-09-21 22:50:34 +02:00
Cedric BAIL b3dc08bf8b ector: cleanup default backend drawer. 2015-09-21 22:50:34 +02:00
Subhransu Mohanty 576331955e ector: convert to freetype co-ordinate before storing path data in software backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-21 22:50:33 +02:00
Stefan Schmidt 7a6a67cc7f ector: software: remove executable bit from source files
This really shows what parts are developed under windows. While it does not
matter where you develop please make sure that you do not introduce CRLF
endings and normal source files as executables.
2015-09-04 14:54:07 +02:00
Stefan Schmidt ef207ebbd8 ector: software: convert dos to unix line endings 2015-09-04 14:54:07 +02:00
Cedric BAIL b5d2cef660 ector: don't forget to reset cairo matrix to identity. 2015-08-21 16:40:34 +02:00
Cedric BAIL c57cf86d6f ector: fix naming and forcing this inline function to be static. 2015-08-19 16:12:29 +02:00
Subhransu Mohanty 35ae391d64 ector: remove depricated file ector_blend_private.h
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:12:45 +02:00
Subhransu Mohanty f3201e9ab9 ector: add SSE2 support for gradient filling in software backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:11:58 +02:00
Subhransu Mohanty bed8325e3c ector: add NEON support for composition function in software backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:11:06 +02:00
Subhransu Mohanty 74dcf5ed15 ector: add sse2 support for composition function in software backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:09:16 +02:00
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