Jean-Philippe Andre
f18747e6dd
Evas GL: Use [u]int64_t directly in all APIs
...
This removes the need for khronos_[u]int64_t as well as the special
typdef EvasGL[u]int64.
Hopefully this should work on all platforms (note: [u]int64_t is
used in Eina APIs, so it is already required for EFL apps).
Fixes T3200
2016-07-18 15:09:19 +09:00
Carsten Haitzler
f4568beab6
ecotr gl - fix leak found by coverity
...
fix CID 1347412
2016-07-08 17:08:37 +09:00
Stefan Schmidt
9f43ef3fd9
ector: add basic description to renderer mixins
2016-06-30 15:17:58 +02:00
Stefan Schmidt
dcb7751f35
ector: further document gl buffer base class
2016-06-30 15:17:58 +02:00
Tom Hacohen
6202cc7485
Adjust the code according to the eo event stop changes.
...
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Daniel Kolesa
a7c6086c42
eolian: enable inheritance checks and fix EFL to build with them
...
Somehow, there was code in the tree that apparently isn't tested at all, even
once - if it was, the eo.c logic that performs inheritance checks would be
triggered. I don't know how this could have happened (actually I do, it's
Cedric's fault and he should be publicly shamed for it) but these checks
make sure this will never happen again. But since the code itself appears
to be untested, I don't know if there isn't any other brokenness in it.
But that's beyond the scope of this change, so for now, let's make sure
all our inheritance is at least formally correct.
Also, enable eo_interface.eo generated code in Eo itself so that Eo.Interface
can be used when inheriting.
@fix
2016-06-15 16:37:15 +01:00
Carsten Haitzler
e57d2a5106
more sh instead of dash
2016-06-15 14:35:45 +09:00
Carsten Haitzler
fa19b37458
shader gen - make this use plain sh not bash for portability
...
this should fix T3793
2016-06-15 14:33:56 +09:00
Cedric BAIL
2ea85a2075
ector: variable in _SOURCES do not work.
...
This fix the left over etc .deps during make distcheck.
2016-06-03 11:10:27 -07:00
Daniel Kolesa
b1946ca5d6
eolian: utilize the new void_ptr builtin across eo files
...
This lets me narrow down the remaining cases of pointers across the EFL.
The void pointers will later need to be reevaluated on per-case basis and
replaced appropriately where possible/feasible.
2016-06-02 13:00:26 +01:00
Stefan Schmidt
9fdbbfa7a6
build: keep our CLEANFILES tidy to avoid argument list too long during clean
...
This is a new incarnation of 0a03e63350
. Our list
has grown to big again as people insist of adding the generated eolian files to
DISTCLEAN while BUILT_SOURCES will get removed durign the clean anyway.
Adding this file list twice will just make the argument list for rm to long to
work.
2016-06-01 17:51:56 +02:00
Daniel Kolesa
6fc482aa9b
eolian: utilize the new builtin string type across eo files
2016-05-31 16:05:43 +01:00
Jean Guyomarc'h
37adb060dd
ector: fix redefinition of type and bizarre typedef
...
Maybe there is a trick here I am not aware of, but
redefining a type as itself seems a mistake to me.
This raised a warning anyway. Now it's gone.
2016-05-28 22:17:22 +02:00
Jean Guyomarc'h
3a63eacbcb
ector: fix redefinition of types
2016-05-28 22:17:22 +02:00
Daniel Kolesa
e984e5a11a
eolian: remove pointers from complex and class types
...
Complex types (i.e. list, array, hash, accessor etc.) now do not require
pointers with them anymore (the pointer is implied) and the same goes for
class handles. Eolian now explicitly disallows creating pointers to these
as well. This is the first part of the work to remove pointers from Eolian
completely, with the goal of simplifying the DSL (higher level) and therefore
making it easier for bindings (as well as easier API usage).
@feature
2016-05-23 15:58:33 +01:00
Tom Hacohen
96c4c88070
Efl: Remove "legacy_prefix: null;" as it's now the default.
2016-05-12 17:27:35 +01:00
Daniel Kolesa
7e94eb22b4
eolian: mark pure virtual funcs outside of implements
...
This is a better syntax and should've been like this in the first place.
2016-05-12 16:15:24 +01:00
Tom Hacohen
6cacef2503
Eo abstract class: Rename to Eo.Class.
2016-05-12 14:33:40 +01:00
Tom Hacohen
485ce14889
Ector cairo software: Fix namespacing to use . and not _.
2016-05-12 12:27:54 +01:00
Tom Hacohen
fdf23b2dac
Efl vg/ector: Fix namespacing to use . and not _.
2016-05-11 13:21:29 +01:00
Tom Hacohen
28a2d34ae2
Ector generic: Remove .Generic and .Base (hack no longer needed).
2016-05-11 12:57:55 +01:00
Tom Hacohen
1c0ec6788f
Ector renderer cairo: Remove the no longer needed .Base hack.
2016-05-11 12:57:55 +01:00
Tom Hacohen
9f15b9fbe7
Ector renderer gl: Remove the no longer needed .Base hack.
2016-05-11 12:57:55 +01:00
Tom Hacohen
718033886a
Ector renderer software: Remove the no longer needed .Base hack.
2016-05-11 12:57:55 +01:00
Tom Hacohen
b0cd0a3b4b
Efl gfx gradient: Remove the no longer needed .Base hack.
2016-05-10 16:30:18 +01:00
Stefan Schmidt
6e19e4f46d
docs: ector: improve docs for the abstract renderer base class
...
Not everything is docuement here yet. Might need some help from people more
familiar with ector.
2016-04-22 12:52:42 +02:00
Stefan Schmidt
c2823cfb18
docs: ector: document generic surface mixin
...
Leave out the params and returns marked with a FIXME.
2016-04-22 10:53:09 +02:00
Stefan Schmidt
6ece03e925
docs: ector: fill gaps in the generic buffer documentation
...
Fill various gaps to make this mixin fully documented.
2016-04-22 10:38:36 +02:00
Stefan Schmidt
db0858823e
docs: ector: document ector cairo surface classes
...
For both the cairo and the cairo software surfaces.
2016-04-22 09:46:40 +02:00
Cedric BAIL
aa614fa023
ector: rg_etc is always needed for color conversion.
2016-04-18 14:43:48 -07:00
Cedric BAIL
847fb931c2
ector: make it possible to build the library alone.
2016-04-14 16:07:32 -07:00
Tom Hacohen
2583246997
Ector: add ector_types.eot for ector type definitions.
...
This fixes the GLShort duplicate declaration.
2016-03-23 15:00:16 +00:00
Tom Hacohen
8706d03b43
Change the EFL according to the renaming of the eo_add() current object.
2016-03-15 15:25:54 +00:00
Jean-Philippe Andre
e9508ea80e
Efl.Gfx.Fill: Remove fill_spread
...
It's not actually implemented anywhere. There's a flag that's
never read. Proper support would require quite some work.
Once we actually implement fill_spread support, we can bring
the API back without breaking compatibility.
2016-03-15 11:11:59 +09:00
Vincent Torri
1d6d7bf60f
Ector: try to load libcairo-2.dll first on Windows
...
Summary: win-builds provide libcairo-2.dll and not libcairo.dlL
Test Plan: ector test progral
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3787
2016-03-14 13:43:37 +09:00
Tom Hacohen
81240669e8
Revert "Ector and eo suite: Semi automatically migrate to the new eo_add."
...
This reverts commit df83edaeb6
.
2016-03-11 12:29:03 +00:00
Tom Hacohen
df83edaeb6
Ector and eo suite: Semi automatically migrate to the new eo_add.
...
There were some issues with the migration that required manual
intervention.
2016-03-09 16:09:14 +00:00
Tom Hacohen
f21ade6123
Automatic migration to Eo4.
...
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Tom Hacohen
e71e6561ee
Eo callbacks: Migrate all of the EFL to the new event cb signatures.
2016-02-29 11:33:27 +00:00
Jean-Philippe Andre
7940a6d9a5
ector gl: Use proper PRIx64 to print a uint64_t
...
Thanks @vtorri for the report.
Closes D3698
2016-02-17 16:12:32 +09:00
Tom Hacohen
cbca4e3c12
Ector renderer generic: Fix Eolian warnings.
...
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-16 14:42:06 +00:00
Tom Hacohen
4bfcc8a347
Eolian eina_types: Add Eina.Matrix3 and start using it.
2016-02-12 14:41:40 +00:00
Tom Hacohen
11cb01008b
Ector gl renderer: Fix Eolian warnings.
...
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:34:10 +00:00
Tom Hacohen
08ca3a5623
Ector gl surface: Fix Eolian warnings.
...
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:29:27 +00:00
Tom Hacohen
b69da2f189
Ector generic surface: Fix Eolian warnings.
...
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:29:27 +00:00
Tom Hacohen
24bf636a3e
Ector generic buffer: Fix Eolian warnings.
...
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:29:27 +00:00
Tom Hacohen
0aabd01d13
Ector cairo: define cairo_t as extern.
2016-02-12 14:29:27 +00:00
Cedric BAIL
c2c8308e15
ector: fix potential crash if cairo is not found on the system.
...
@fix
T2938
2016-01-21 15:57:17 -08:00
Jean-Philippe Andre
3fc6e48c8a
Ector: Fix warning on Windows (use PRIx64 to print uint64_t)
...
Thanks @vtorri for pointing this out.
2016-01-20 19:57:22 +09:00
Vincent Torri
3117b8ca5a
win32: Fix compilation due to recent changes in Evil
...
Summary:
dlfcn.h is not available anymore on Windows, Evil provides all the
necessary declarations.
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3577
@fix
2016-01-18 13:54:52 +09:00
Jean-Philippe Andre
80acb7fbe0
Ector GL: Remove duplicated functions (eo)
2016-01-13 18:51:20 +09:00
Cedric BAIL
c451d5885b
efl: move Ector_Color to be defined in Efl.Gfx as it makes more sense.
...
This create some possible naming clash and is why I come up with
efl_gfx_color*_type_set functions. We will have to think about this more
carefully as it makes sense to now pass this colors directly to our color
API. Ideally the default 8 bits interface would become just a convenience
wrapper around the more complex possibility.
2016-01-07 16:27:57 -08:00
Jean-Philippe Andre
998bc2d42b
Ector GL: Fix warning with clang
...
Also mark API struct as initialized.
2016-01-06 14:33:26 +09:00
Jean-Philippe Andre
ce08ed30c7
Ector: Protect all headers by EFL_BETA_API_SUPPORT
...
Those Ector APIs are not stable!
2016-01-06 14:26:25 +09:00
se.osadchy
996d17bcc5
evas: Update Ector_Color structure.
...
Summary: Add a field at the end of the structure for defining the color encoding.
Reviewers: cedric, Hermet, raster, jpeg
Reviewed By: jpeg
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3530
2016-01-06 13:50:34 +09:00
Jean-Philippe Andre
dc4790e08b
Ector GL: Add skeletton for Evas.Ector.GL.Image.Buffer
...
This is an ector buffer backed by an existing Evas_GL_Image
2016-01-05 15:43:44 +09:00
Cedric BAIL
fc40f905eb
ector: fix typo during computation of bounds_get.
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre
e3a7f657d9
ector: add Ector.GL.Buffer.* support.
2016-01-05 15:43:44 +09:00
Cedric BAIL
116fe3c65c
ector: initial implementation of our own Ector GL backend.
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre
1adc3cd915
ector: add drawable flag to buffers
...
This indicates that a buffer can be used as a source to draw pixels.
Can't they all do that? Well, not exactly. A CPU buffer can't be drawn
by the GPU... not directly at least. That's what this flag is for.
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre
9bd36f7c43
ector eo: fix indentation (tabs --> spaces)
...
Why? Why would an editor replace 8 spaces by a TAB?
WHYYYYYY?
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre
1f25b523b4
ector buffer: add COW access mode
...
In case you map a buffer once for read-only and once for write,
we can generate a temporary copy and return that instead. This
buffer will be copied back to the original surface once the COW
surface is unmapped.
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre
5e075c193c
ector: on-the-fly convert sw buffers during map()
...
Also use map to generate spans.
This should simplify some filters code, making things work,
albeit inefficiently. At least they should work.
Fix doc too.
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre
9121e503a3
ector: track maps in software buffer
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre
7a8879ba8b
ector: add engine-specific evas image buffer wrapper
...
Since Evas still relies entirely on Image_Entry and Evas_GL_Image,
we will need an engine-specific wrapper object creating a Buffer
around an existing cached image.
Currently only SW support is implemented. GL will be more fun to
do (with glReadPixels and whatnot).
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre
85f23d96e7
ector: add typedef Ector_Buffer
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre
952f27507d
ector: remove offset from Ector.Buffer.{map,unmap}
...
It just makes things a bit more complicated and doesn't correspond
to a classic "map" operation anyways.
Also return void* instead of uint8_t*. This is more correct and
avoid extra casts.
2016-01-05 15:43:43 +09:00
Cedric BAIL
e3238c5620
ector: add an abstraction to get GL function.
2016-01-05 15:43:43 +09:00
se.osadchy
4ecb51025b
evas: factorize of data structure with evas_color and ector.
...
Summary: Move data structure and functionality to ector_color from evas_color.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3393
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 12:17:15 -08:00
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
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