Commit Graph

7807 Commits

Author SHA1 Message Date
Jean-Philippe Andre e472f97d96 Eina: Fix eina_file_mk[ds]temp when a path is passed
If the template is a path, mkstemp and mkdtemp would fail
miserably as they would try to create a file inside
/run/user/1000//path/to/file.XXXXXX even if the path did not
exist.

This patch fixes that by creating temp files inside the sys temp
dir iif the templatename is just a basic name without path
separator.

@fix
2016-01-19 18:18:29 +09:00
Mike Blumenkrantz 210b3e6c62 ecore-x: add safety checks for _ecore_x_disp in some functions
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as
these. an easy project for anyone who has some free time

@fix
2016-01-18 17:19:00 -05:00
Carsten Haitzler 6f684f3a6a ecore imf: fix imf module load hangs when not even configured
so on some distributions scim tries to connect and hangs waiting for
connect to work. this is a problem for just loading any imf module
unless EXPLICITLY configured, so disable using an imf module unless it
is specifically configured to work. this fixes this hang. this is a
workaround though, but what else are we to do?

@fix
2016-01-18 17:23:56 +09:00
Jaehwan Kim a20f9b8087 embryo: change the log catagory of printf in embryo
If the catagory is DBG, we should rebuild efl to print the message
by using printf in edc. So change it to use it more convenient.

@fix
2016-01-18 16:57:58 +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
Stephen Houston 669cd788ba Eo: Spell "Class" correctly when printing error.
Leave variables named Klass so it behaves with syntax highlighting and doesn't confuse programmers.  However when Erroring, the message should be spelled correctly with "Class".
2016-01-15 19:41:59 -06:00
Sung-Taek Hong 5e53e4b7e1 ecore: check eina_main_loop before lock.
Summary:
 - EINA_MAIN_LOOP_CHECK_RETURN should be called before ecore lock
   because this may return without ecore_unlock.
 - remove EINA_UNLIKELY(!eina_main_loop_is()) which is redundant.

Reviewers: jpeg, jaehwan, cedric, raster

Reviewed By: raster

Subscribers: raster, conr2d, cedric, jpeg

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-14 14:23:06 -08:00
Derek Foreman 943f2df006 ecore_drm/ecore_wl2: logging: remove errant usage of %m
Summary:
printf %m stringifies and prints errno.  I've tried to remove its use
anywhere that the immediately preceding function might not set errno
or is a complicated function for which knowing errno doesn't really
give any useful information.

I've left a few of the drmMode calls because they're just wrappers
around ioctl, which legitimately sets errno.

@fix

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3572
2016-01-14 13:06:02 -05:00
Duna Oh 01dc2540db ecore_wayland: move check for pointer capability
Summary:
We don't need to work for cursor if system doesn't have pointer devices.
Since this function is called by elementary(e.g. entry) also, we move a check condition into the function.

@fix

Reviewers: raster, zmike, devilhorns, ManMower, gwanglim

Subscribers: cedric, JHyun, input.hacker, jpeg

Differential Revision: https://phab.enlightenment.org/D3566
2016-01-14 11:19:24 -05:00
Marcel Hollerbach 63a410667a ecore_wl2: fix key down event called to often
if many events are coming in, a release event can be skipped. if this happens
the timer continues with the new keycode. so if a new key pressed event
enter checks for the old timer and delete the timer if there is one.

If the timer kicks in and emits additional key down events dont call the
callback which gets called by wl, and emit the signal directly.
2016-01-13 19:40:44 +01:00
Marcel Hollerbach 0a2f066c2d ecore_drm: close all devices in shutdown 2016-01-13 18:51:49 +01:00
Marcel Hollerbach 093846aaea ecore_drm: check if device is already opened before open and free
check if fd is -1 before opening a device, so a device cannot be opened
twice.

Also check if fd is != -1 before closing it.
2016-01-13 18:51:49 +01:00
Stefan Schmidt d1609c2afe ecore_drm: make sure we include math.h and link against libm for floor()
When we introduced the usage of floor() in ecore_drm_evdev.c we forgot to
include math.h for it as well as linking against libm. This caused linking
failures on some systems while it still worked on others. Better fix it for
good.

Original patch by aerodynamik.

ref T2953
2016-01-13 17:06:39 +01:00
Duna Oh 49ef37457a ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_down
Summary:
When user touches the screen, ecore_drm generates MOUSE_MOVE event before MOUSE_BUTTON_DOWN.
But when ecore_wayland gets touch_motion before touch_down, touch_focus window is NULL and sending MOUSE_MOVE event fails.
Also in terms of 'touch' input, touch_focus needs be set in cb_touch_down, not in cb_pointer_enter.
So this commit makes sure that ecore_wayland generates MOUSE_MOVE when touch_focus is set.

@fix

Test Plan:
when the application is launched for first time, user clicks on any area of the screen.
We can see the posion of touch event wrong.

Reviewers: raster, zmike, devilhorns, gwanglim, ManMower

Reviewed By: ManMower

Subscribers: jpeg, JHyun, cedric, input.hacker

Differential Revision: https://phab.enlightenment.org/D3555
2016-01-13 10:10:35 -05:00
Oleksandr Shcherbina 93df8720f9 eina: Fix possible wrong value due to null in determinant of matrix
Reviewers: cedric, Hermet

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3563
2016-01-13 14:04:35 +01:00
Shinwoo Kim efc5866ddb edje: enhance edje_calc circular dependency error message 2016-01-13 19:59:31 +09:00
Jean-Philippe Andre 80acb7fbe0 Ector GL: Remove duplicated functions (eo) 2016-01-13 18:51:20 +09:00
Jean-Philippe Andre c2522dd736 Evas filter: Rename constructor/destructor to ctor/dtor
This avoids a name clash with Eo.Base.
2016-01-13 18:51:20 +09:00
Carsten Haitzler 6b8351a0a0 efl: edje: make comments for something we need to break for efl2 not now
make notes about https://phab.enlightenment.org/D2980
2016-01-13 18:12:33 +09:00
Jean-Philippe Andre 22324f21b3 EFL: Mark EOLIAN functions as static when possible
This affects mostly evas filters.
2016-01-13 15:34:20 +09:00
perepelits.m ba31dc7194 Evas: remove extra if from evas_3d_utils.h
Summary: remove extra if from evas_3d_utils.h according to Coverity (CID1339788)

Reviewers: raster, Hermet, cedric

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3558
2016-01-13 14:50:59 +09:00
Shinwoo Kim 1aafaca172 Edje: enhance embryo stack broken error message
Summary: Enhance embry stack broken error message

Test Plan: Make a run_program run a script

Reviewers: raster, zmike, jpeg

Reviewed By: jpeg

Subscribers: cedric, seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D3528
2016-01-13 14:50:58 +09:00
Jean-Philippe Andre 65715dafc5 Evas filters: Fix unused variables
Thanks @stefan_schmidt for the report
2016-01-13 14:50:58 +09:00
Jean-Philippe Andre 81ed0de016 Evas render: Fix typo (use & instead of &)
Thanks @stefan_schmidt for the report
2016-01-13 14:49:41 +09:00
Jee-Yong Um bafa65f9b4 edje: convert Edje_Text_Class, Edje_Size_Class data type to public
Summary:
APIs iterating works through active text classes and size classes were added,
but Edje_Text_Class and Edje_Size_Class data type are still concealed.
This patch uncovers those data types so as to allow developers to use them.

Reviewers: jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-12 14:02:19 -08:00
Chris Michael d50784a086 ecore-drm: Call inputs shutdown before eina_shutdown
As we end up freeing the input hash inside the
_ecore_drm_inputs_shutdown function, it should be called before we
shutdown eina

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-12 09:26:48 -05:00
Tom Hacohen 987fde58a7 Evas textblock: Remove redundant NULL check.
Detected by smatch.
2016-01-12 11:00:01 +00:00
Tom Hacohen e64192f446 Evas textblock: slight style fixes. 2016-01-12 10:55:49 +00:00
Tom Hacohen 2781eef823 Edje UI mirroring: Fix UI mirroring for GROUP parts.
GROUP parts were not mirrored with the rest of the edje object,
this commits fixes that.

This is an improvement of the now reverted
55b62bbd70.

Thanks to cedric for the pointer that lead to this commit.

Ref T3021
2016-01-12 10:41:42 +00:00
Tom Hacohen 29c8a84676 Revert "Edje UI mirroring: Fix UI mirroring for GROUP parts."
The following commit solves it in a better way.

This reverts commit 55b62bbd70.
2016-01-12 10:41:42 +00:00
Mike Blumenkrantz fd4519f8a1 edje: unswallow objects from parent edje when swallowing into new edje
the passed edje is not guaranteed to be the one which owns the swallowed
object at any given time, so get the current owner to ensure that the
correct one is passed

ref a645c8153f

 #MasterOfAllBorkers

@fix
2016-01-11 18:30:47 -05:00
Stefan Schmidt b63b631efd eldbus model: no need to double const a Eina_Stringshare
Eina_Stringshare is already const, no need to const it again.
2016-01-11 22:55:34 +01:00
Stefan Schmidt 117ccbd98c eina_inline_value: 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.
2016-01-11 22:55:34 +01:00
perepelits.m 687df102d6 evas: fix optimization of vertex count in convex hull
Summary: FLT_COMPARISON should be used everywhere in evas_3d_utils.h

Reviewers: cedric, raster, Hermet

Subscribers: jpeg, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-09 00:33:51 +01:00
Subodh Kumar 97b7964e8c Edje entry: Fix memory leak.
Summary:
Fix memory leak

If user or extra cursor is used, these should be free on
shutdown.

@fix

Test Plan: NA

Reviewers: tasn, herdsman

Subscribers: shilpasingh, cedric, jpeg

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D3550
2016-01-08 16:17:29 +00:00
Tom Hacohen 55b62bbd70 Edje UI mirroring: Fix UI mirroring for GROUP parts.
GROUP parts were not mirrored with the rest of the edje object,
this commits fixes that.

Fixes T3021

@fix
2016-01-08 14:57:54 +00:00
Cedric BAIL dae9581d21 edje: correct function that should have been Eo API already. 2016-01-07 16:27:57 -08:00
Cedric BAIL bb921aff04 emile: move all eina_str_base64 to emile_base64. 2016-01-07 16:27:57 -08: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
Chris Michael 99ac0763ab ecore-evas: Rename ecore_evas_wayland_window_get2 function
This renames the ecore_evas_wayland_window_get2 function to be
ecore_evas_wayland2_window_get before the 1.17 roll out.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 15:02:13 -05:00
Chris Michael 5499a53c75 ecore-wl2: API expose ecore_wl2_input_grab function
This input_grab function should have been exposed via EAPI for use in
enlightenment, but was missed before the push

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 11:57:07 -05:00
Chris Michael f836aba678 ecore-drm: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 09:00:32 -05:00
Duna Oh 999dd527d8 ecore_wayland: set touch_focus window when gets pointer_enter
Summary:
When user touches the screen, ecore_wayland gets touch_motion event before touch_down event.
But touch_focus would be NULL in cb_touch_motion, so doesn't send ECORE_EVENT_MOUSE_MOVE event to client.
This fix set touch_focus when gets pointer_enter same as pointer_focus.

Test Plan:
when the application is launched for first time, user clicks on any area of the screen.
We can see the posion of touch event wrong.

@fix

Reviewers: devilhorns, raster, ManMower, zmike

Subscribers: input.hacker, cedric, jpeg, JHyun

Differential Revision: https://phab.enlightenment.org/D3545
2016-01-07 08:49:46 -05:00
Tom Hacohen 0ff1646871 Eo: Rearrange class creation code a bit.
This is not really needed, I just did it to make it easier for coverity
(and future static analysers) to understand that the class id doesn't
need to be accessed with a lock.

CID1341854
2016-01-07 13:04:12 +00:00
Jean Guyomarc'h 4c5cc811d9 ecore_cocoa: don't redefine EAPI in private header 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h 34293b02af ecore_cocoa: don't expose Ecore_Cocoa_Screen in the public API 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h edaa72ce1c ecore_cocoa: remove unimplemented function 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h 5e268c9973 ecore_cocoa: remove non-implemented functions 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h 8d364f56f4 ecore_cocoa: possibly avoid useless copies 2016-01-07 12:03:04 +01:00
Jean Guyomarc'h 8a77d72317 ecore_cocoa: remove unimplemented function 2016-01-07 12:03:04 +01:00
Jean Guyomarc'h f3ca5f6f3d ecore_cocoa: don't use Ecore_Cocoa's EAPI in Eina 2016-01-07 12:03:04 +01:00
Jean Guyomarc'h 2ecd11e221 ecore_con: fix compiling on OS X
IPV6_ADD_MEMBERSHIP does not exist on OS X, and seems to be obsolete,
according to my glibc's bits/in.h.
IPV6_JOIN_GROUP, however, exists on both.

@fix
2016-01-07 12:03:04 +01:00
Jean-Philippe Andre 25ccef095e Evas filters: Fix minor compilation warning 2016-01-07 19:19:09 +09:00
Jean-Philippe Andre d488926cb6 Eina: Move vector2 to eina_inline_vector.x
For consistency.

Also, include inside Eina.h
Thanks @vtorri for the remark.
2016-01-07 19:18:35 +09:00
Jean-Philippe Andre dd05e72ab0 Eina Vector2: Move EAPI to static inline
This removes lots of unnecessary symbols
2016-01-07 18:05:44 +09:00
Jean-Philippe Andre 52dfd61833 Evas filters: Fix async render and unify SW + GL
SW async render mode was broken because it was party sync, partly
async (bad hack in a recent commit). This patch fixes that by
using a proper callback for render_post (main loop).

Since the engines and ector now abstract all pixel access functions,
the only difference between GL and SW is the async rendering.
2016-01-07 17:47:48 +09:00
Jean-Philippe Andre 1f291a6a5b Evas filters: Run immediately in async mode (flush vs. enqueue) 2016-01-07 17:47:48 +09:00
Srivardhan Hebbar 9de3520c87 eina: Updated documentation of strbuf_substr_get.
Summary:
Fixes T2949.
In the bug, its been mentioned about updating the documentation, so added this.

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

Reviewers: cedric, jpeg

Reviewed By: jpeg

Maniphest Tasks: T2949

Differential Revision: https://phab.enlightenment.org/D3462
2016-01-07 15:37:30 +09:00
Jean-Philippe Andre c4b25604c7 Evas: Document Evas.Render_Op
1. MASK is not used for masking
2. only BLEND and COPY actually work

Should we merge Efl.Gfx.Render_Op and Evas.Render_Op?
(this would mean Efl.Gfx.Render_Op.copy = 2 instead of 1)
2016-01-07 15:12:34 +09:00
Jean-Philippe Andre 8822dcd115 Evas filters: Remove ERR message
GL filters now work. Slow, but they work.
2016-01-07 14:46:22 +09:00
Jean-Philippe Andre e61182f7ac Evas render: Fix render artifacts with a mapped object
Problem visible in Enventor "map" example, with the SW engine.

Fixes T2979
2016-01-07 11:12:51 +09:00
Jean-Philippe Andre f00f466250 Evas render: Distinguish has_map and can_map
This patch is a minor code cleanup before fixing T2979
(render artifacts inside Enventor).
2016-01-07 11:12:51 +09:00
Minwoo, Lee 3f5066278e evas: fix a NULL dereference issue
Summary:
If evas engine init failed, it can make crash.
For example
If opengl init failed, then ee->prop.window is 0
ecore_evas_gl_x11_options_new_internal
{
   if (!ee->prop.window)
     {
        ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
        ecore_evas_free(ee);
        return NULL;
     }
}

ecore_evas_free calls evas_fonts_zero_pressure
and this time evas->engine.func is NULL so it makes crash.

Reviewers: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-06 13:36:40 -08:00
Chris Michael 67044ae214 ecore-wl2: Mark API as Beta before 1.17 gets released
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-06 12:16:33 -05:00
Stefan Schmidt 9154fbb0e0 eldbus: add missing since tags for all new symbols 2016-01-06 16:31:55 +01:00
Stefan Schmidt 92bab5115a eina_value: correct the since tag for new symbols
Thiese symbols are only available since after 1.16, thus the since 1.17 tag.
2016-01-06 16:21:52 +01:00
Stefan Schmidt 30a98b7bcd eina_strbuf: add missing since tag to new symbols 2016-01-06 15:55:32 +01:00
Stefan Schmidt aba7512154 eina_bezier: correct since version for two new APIs.
These are only available from 1.17 and not already from 1.16.
2016-01-06 15:31:48 +01:00
Stefan Schmidt 1627402bda efl model: add missing since tags for new APIs 2016-01-06 15:26:30 +01:00
Stefan Schmidt 49fab7b7a6 edje: add missing since tags to new edje_size_class symbols 2016-01-06 15:21:44 +01:00
Stefan Schmidt 6451c174db ecore_wl2: add since tag to all new symbols in 1.17 missing it 2016-01-06 15:08:13 +01:00
Stefan Schmidt 8e1f3725db ecore_evas: add missing since tags for new APIs coming with 1.17 2016-01-06 14:52:56 +01: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
perepelits.m d2bb0eefc4 Evas 3d: Get hash table of scenes using the given node as root.
Summary: We need this to have an access to scene while running programs in edje-3d.

Reviewers: cedric, raster, Hermet, jpeg

Reviewed By: jpeg

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3529
2016-01-06 13:50:21 +09:00
Chris Michael 6967aa1457 ecore-wl2: Fix support for nested compositors
When trying to create nested compositors, we were failing here due to
trying to read the WAYLAND_DISPLAY env variable and find an existing
server display to match. In order for nested compositors to function,
we cannot reuse that environment variable for server display hash.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-05 13:49:51 -05:00
Chris Michael 6afbd272bd ecore-wl2: Remove blank line
NB: No functional changes

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-05 13:49:51 -05:00
Subodh Kumar 593c7eac02 Edje entry: Do not update cursor for non editable entry.
Summary:
Do not update cursor for non editable entry.

If entry is not editable there must not be any need to query tb cursor
geometry and run other codes related to it. This may improve some
performance of non-editable entry.

Test Plan: NA

Reviewers: tasn, herdsman, thiepha

Subscribers: shilpasingh, cedric, jpeg

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D3532
2016-01-05 14:30:21 +00:00
Jean-Philippe Andre c1b4728487 Evas filters: Final fix after the ector refactor
This implements a generic way of scaling buffers, using fake
RGBA_Image wrapping ector buffer maps. The underlying algo is
still the good old linear sw scaler.

Now the filters *should* be back to their previous level of
usability. Performance will probably be even worse than it was
before, for GL, as more glReadPixels may be involved. Optimization
now consists in actually implementing the filters with GL shaders.
2016-01-05 16:02:27 +09:00
Jean-Philippe Andre 0d5b42e6bb Evas filters: Move evas image creation to the engine
Evas filters is now more and more unaware of evas images (RGBA_Image)
and the engine + ector take care of everything.

Still left to do:
- map / unmap an FBO buffer into RO or RW memory
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 9e0670a705 Evas filters & Ector GL: Prepare ground work for GL buffers
This fixes crashes, adds safety, and notes a couple of things that
are not yet implemented:
- Make an Evas_GL_Image from an RGBA_Image so we can draw it on the
  canvas. This means Evas.Ector.GL.RGBA_Image.Buffer
- Readable Evas_GL_Image objects with gl_read_pixels
  --> Implement proper map() & unmap() for GL buffers
2016-01-05 15:43:44 +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
Jean-Philippe Andre eda13b7298 Evas filters: Relax limitations about colorspaces
Since Ector Buffer implicitly converts colorspaces, we
can allow more commands to work even if they are suboptimal.

Now all filters should support any combinaison of input, map/mask
and output colorspaces.
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 7d636630cf Evas filters: Fix proxies following previous refactor
FIXME:
 - GL support is still shaky
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 57902fffd3 Evas filters: Use Ector.Buffer instead of RGBA_Image
This is a major refactoring of the evas filters submodule.

Use Ector.Buffer and the map/unmap methods instead of directly
accessing image buffers with RGBA_Image. RGBA_Image is still
used under the hood, for two reasons:
 - Required for the final output (blend onto Evas itself)
 - Required for the scaling routines

FIXME:
 - Breaks proxy support (ie. all kind of texturing).
 - This breaks filters support for the GL engine.
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre e3af2783ff Evas filters: Minor debug improvement 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
Jean-Philippe Andre 61fcf8e497 Evas filters: Fix crazy code (only when DEBUG=1) 2016-01-05 14:54:04 +09:00