Ector: Implement pixel buffer support
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 18 Nov 2015 10:29:23 +0000 (19:29 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Thu, 3 Dec 2015 09:42:50 +0000 (18:42 +0900)
commit0cf5719e526b17bb6ad03f05643a760edf389e98
treeabe50314b8b47867fe21c69ca754486030d08d15
parentb41e66c1ef9928b506ed1f6e0ef9e033e25edf02
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
19 files changed:
src/Makefile_Ector.am
src/lib/ector/ector_generic_buffer.c [new file with mode: 0644]
src/lib/ector/ector_generic_buffer.eo [new file with mode: 0644]
src/lib/ector/ector_private.h
src/lib/ector/ector_renderer.h
src/lib/ector/ector_renderer_base.c
src/lib/ector/ector_renderer_generic_buffer.c [new file with mode: 0644]
src/lib/ector/ector_renderer_generic_buffer.eo [new file with mode: 0644]
src/lib/ector/ector_renderer_shape.c
src/lib/ector/ector_surface.h
src/lib/ector/software/Ector_Software.h
src/lib/ector/software/ector_renderer_software_buffer.c [new file with mode: 0644]
src/lib/ector/software/ector_renderer_software_buffer.eo [new file with mode: 0644]
src/lib/ector/software/ector_software_buffer.c [new file with mode: 0644]
src/lib/ector/software/ector_software_buffer.eo [new file with mode: 0644]
src/lib/ector/software/ector_software_private.h
src/lib/ector/software/ector_software_rasterizer.c
src/lib/ector/software/ector_software_surface.c
src/lib/efl/interfaces/efl_gfx_base.eo