Commit Graph

4211 Commits

Author SHA1 Message Date
Jean-Philippe Andre e797f7f4c4 Evas filters: Add more test cases
Set filter on a text object and check the object's geometry.
Get the padding and the geometry so we're sure they match.

Also, pad_get would return 0 if the filter did not compile,
so this checks that these filters are valid.
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre 78c7931575 Evas filters: Add test cases for the script parser
Basic syntax checks and instructions coverage.
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre 74d8403217 Evas filters: Grow filter should gracefully blend
If grow() was used on top of another effect, it was simply
erasing all pixels. We need to use a temporary buffer and
blend it to the output.
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre 0d9ffc2624 Evas filters: Fix padding in blur with offset
Test case was: blur(ox=40, rx=40);
This would crop the blurred text instead of having proper padding.
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre 538d078cf0 Evas filters: Fix curve filter with RGBA
The curve filter did not respect premultiplied values in
RGBA images. Unfortunately, the fastest solution is to unpremul
and re-premul everytime...
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre 8a694314a4 Evas filters: Fix options parsing
Test case "blend() blend();" did not fail when it should have.
Also, return an error if the program was empty (all whitespaces).
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre ddf267e506 Evas filters: Fix padding in blur filter
The wrong value was used for the command's padding.
Also, remove mention of "motion" blur which is not
implemented.
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre 126cbbc7a9 Evas filters: Mark parser functions as EAPI for tests
The filter unit test case will directly call the parser functions.
2014-02-20 13:27:42 +09:00
Cedric BAIL 4b2708a502 edje: Edje_Edit - make sure we don't use an not initialized value.
Should close CID 1181885 and CID 1181888.
2014-02-20 12:21:55 +09:00
Tom Hacohen 0e5d3f9b98 Evas textblock: Fixed a few word start/end issues.
Fixed issues with valgrind complaints at the end of the textblock, and
Fixed wrong jumping with some special cases like "a a a a "."

This fixes T995.
2014-02-19 14:38:06 +00:00
Tom Hacohen 00b2974a2c Evas textblock tests: Improved textblock word start/end tests.
Removed a wrong test and added some more tests.
2014-02-19 14:38:06 +00:00
Carsten Haitzler 51cebf64e9 ethumb - fix clients going right to disk and getting half written thumbs
client still do stats (not async) but at least they dont get
half-baked thumbs now
2014-02-19 22:13:09 +09:00
Daniel Kolesa dfb5c03ce0 edje: fix custom allocator with luajit 2014-02-19 13:05:10 +00:00
Tom Hacohen 27b1bebea5 Evas text utils: Fixed walking compound clusters.
In some scripts, like Devanagari, clusters can be split across more
than just one glyph. This is now fixed.

Thanks to YoungBok Shin for reporting.
2014-02-19 12:08:56 +00:00
Tom Hacohen e0428e9cb0 Evas textblock tests: Add a wrapping test for complex cluster wrapping.
This test uses some Devanagari text that should have more complex
clusters than what latin text can provide. This is a more complex
wrapping case that should be tested and haven't been tested until now.
2014-02-19 12:08:56 +00:00
Youngbok Shin 2bff3d1c2e evas - Added eina_stringshare_ref call for fallbacks, lang in font description.
Summary:
When the fdesc(Font Description) is duplicated,
ref of all of stringshare pointers should be increased.
But, in the evas_font_desc_dup API, we only increased ref for name string.
It can cause some of memory issues.

Reviewers: tasn, woohyun, seoz, Hermet

CC: cedric

Differential Revision: https://phab.enlightenment.org/D570
2014-02-19 10:44:34 +00:00
perepelits.m f9fe869d23 Edje_Edit: Add NULL-check
Summary:
Add NULL-check in:
         edje_edit_state_add
         _edje_edit_real_part_add
         _edje_part_recalc (edje_calc.c)

Reviewers: cedric, seoz, raster

Reviewed By: raster

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D567
2014-02-19 12:18:42 +09:00
Jean-Philippe Andre 6067c88b56 Evas filters: Use strtok instead of strtok_r for mingw
The Windows build (mingw) does not know about strtok_r.
So, let's use the non-safe variant strtok instead.
Currently, this function is called from the main thread only,
so this should be fine :)

In the future it would be nice to not use strtok anymore,
but strtok_r everywhere, and add it to evil. Considering the
release coming soon, I'm not going to change something like that
now.
2014-02-19 11:30:11 +09:00
Carsten Haitzler 199fb20fe4 ecore-evas - sdl module - limit to 1 window at a time
this should fix T693 and only allow 1 sdl window at any one time iwht
the sdl ecore-evas engine/module. it's simply invalid to use more than
one window with it.
2014-02-18 17:52:16 +09:00
Jean-Philippe Andre 54129dfcaa Evas filters: Fix documentation for displace
fillmode "none" is not supported, as it does not make much sense
(how do we displace pixels without an underlying displacement map?)
2014-02-18 10:22:50 +09:00
Jean-Philippe Andre ded097461d Evas filters: Fix padding with "blend"
Test case was:
buffer : a (alpha);
blur (20, dst = a);
blend (src = a, ox = 30);

In that case, padding was 20, 30, 20, 20.
So the blurred buffer was clipped on screen.
2014-02-18 10:22:50 +09:00
Jean-Philippe Andre 3819bc7abb Evas filters: Implement "fillmode" for displace
The fillmode (stretch or repeat map) was present and documented
for displace, but not implemented. Easy copy & paste from the
mask filter.
2014-02-18 10:22:50 +09:00
Jean-Philippe Andre 7cf02ca75b Evas filters doc: Add link to "fillmode" 2014-02-18 10:22:50 +09:00
Jean-Philippe Andre d70b805e6d Evas filters: Fix crash in displace filter
Simplify and fix map traversal code
2014-02-18 10:22:49 +09:00
Davide Andreoli af34bc8599 Emotion generic: nothing to see here, just small formatting while reading the code. 2014-02-17 21:26:46 +01:00
ChunEon Park a739716cee evas/image - update dirty region in the render time.
this fixes the proxy rendering that sub object of the source couldn't be dirty region set.

since the object could be invisible nor won't be pre-rendered neither.

Im supposing the mapped(proxy) object rendering sequence should be totally refactored

that should be separated with the normal rendering sequence.

Until that, this change will be alternative solution.
2014-02-17 23:05:36 +09:00
Daniel Hirt 08a6954904 Edje/entry: Add propagation handling in mouse_out for link anchors
Summary:
Link anchors are set to allow event propagation. In some cases, this
might lead to unwanted results in entry.
Adding a flag to event_flags allows to control this in Elementary.
One example that this fixes is having wrong mouse cursor handling when
having the mouse out of the link anchor, back to the entry parent
(in this case, additional handling in els_cursor.c is required so this
event is ignored if event_flag is set with EVAS_EVENT_FLAG_ON_HOLD.
Fixes T878.

Reviewers: tasn

CC: cedric

Maniphest Tasks: T878

Differential Revision: https://phab.enlightenment.org/D561
2014-02-17 21:18:19 +09:00
Jean-Philippe Andre 7b896e784d Fix make distcheck
Makefile_Edje contained the EXTRA_DIST files for Emotion, which
doesn't make much sense. So move that to Makefile_Emotion.am.

But if we want to add the test files only when EFL_TESTS is
enabled, then make distcheck doesn't work.
So, this is a bit weird.
2014-02-17 19:14:25 +09:00
Yakov Goldberg d3851b3026 Revert "ecore timer: change name of Eo constructor, to avoid clash in Eolian"
This reverts commit f7808f1f22.
2014-02-17 12:04:56 +02:00
Yakov Goldberg 9fa8ea0e49 Revert "ecore animator: change name of Eo constructor, to avoid clash in Eolian"
This reverts commit 16c43796a6.
2014-02-17 12:04:40 +02:00
Jean-Philippe Andre e7e3f73bbe Gif: Fix animated gifs when used as proxy sources
This looks like a typo: if (animated > 1) when animated is a... Bool!

So, I am not entirely sure why this bug is visible in case of gif
proxies, all it seems that the load_data function may be called
multiple times when the object is visible. So gif close and reopen
happen properly, and the first frame can be decoded.
2014-02-17 16:59:43 +09:00
Jean-Philippe Andre 7cc7af14b8 Evas filters: Fix alpha in displacement filter
If the displacement map has some alpha values (not 0xFF),
then the blending should take this alpha into account. This
part is fine.

BUT, since Evas relies on premultiplied colors... we have a
problem: R (dx) and G (dy) have already been scaled down.

Actually we would need to load the map in non premultiplied RGBA,
otherwise we'll lose precision on dx,dy as soon as A != 0xFF.
Well... I guess this will be a limitation of this filter, for now
at least. Most displacement maps shouldn't even have any alpha
anyways.
2014-02-17 10:14:11 +09:00
Jean-Philippe Andre 9472e03546 Evas filters: Fix RGBA displacement filter
Well... it was just broken: typo, lack of normalization on alpha,
invalid formula for blending. Duh!
2014-02-17 10:02:19 +09:00
Davide Andreoli 064307edee Emotion test: more cleanups
* really free Frame_Data on EVAS_CALLBACK_FREE (data was NULL)
* place video windows with an incremental offset
2014-02-16 20:33:11 +01:00
Davide Andreoli 11e04529f8 Emotion test: no need for an animator to update the time string.
It is yet handled in the frame decode callback, tested with vlc, gstreamer1, video and only audio.
2014-02-16 19:53:17 +01:00
Davide Andreoli 828e6f995d Emotion test: some small cleanups
* simpler and stronger way to search the theme file
* removed unused verbose option
* removed unused start_time var
2014-02-16 19:37:55 +01:00
Davide Andreoli 690a60c3cc Emotion test: no need to search for a folder that no more exists 2014-02-16 19:04:13 +01:00
Davide Andreoli 5e493a0851 Emotion test: add the volume slider also to the Reflex group.
NOTE: do we really need to maintain 2 different groups for the reflex effect?
The 2 groups differ only for the added reflection part.
Isn't enough to show/hide the reflection part when requested?
2014-02-16 18:27:10 +01:00
Davide Andreoli dae8975c99 Emotion test: Removed volume key bind. EINA_UNUSED--
Volume is now managed per-window, no more need for a global volume key.
2014-02-16 18:27:10 +01:00
Davide Andreoli 88c53dd2bc Emotion test: rename speed slider to alpha as it should be.
That slider was probaly used for speed years ago, it is used for alpha now, so call it with the right name.
2014-02-16 18:27:10 +01:00
Davide Andreoli 2ed26fed59 Emotion test: New volume slider. More readable alpha text. 2014-02-16 18:27:10 +01:00
Yakov Goldberg a1b8e38a5c edje: fix Eo ids, to make Eolian keep silence 2014-02-16 16:51:30 +02:00
Yakov Goldberg 294b46654e edje: fix doxygen, to make Eolian keep silence 2014-02-16 16:51:30 +02:00
Davide Andreoli 1a9952eca7 Emotion generic interface: FILE_SET_DONE do not have any param. 2014-02-16 14:14:23 +01:00
Yakov Goldberg f7808f1f22 ecore timer: change name of Eo constructor, to avoid clash in Eolian 2014-02-16 13:06:14 +02:00
Yakov Goldberg 16c43796a6 ecore animator: change name of Eo constructor, to avoid clash in Eolian 2014-02-16 13:06:14 +02:00
Davide Andreoli 4f41c98906 Emotion test: some small usability improvements.
* use different icons for play/pause/stop
* alpha slider moved to the right
* centered the progress text
2014-02-14 21:49:08 +01:00
Davide Andreoli 482ce33eb0 Emotion test theme: formatting 2014-02-14 20:51:25 +01:00
Davide Andreoli 92fb6926b5 Emotion test theme: tabs-- 2014-02-14 20:35:50 +01:00
Davide Andreoli 38e85d79f5 Emotion test: tabs-- 2014-02-14 20:31:07 +01:00
Daniel Kolesa 136cf346e9 evas/common: fix segfaults in evas_map_image_loop.c 2014-02-14 16:30:51 +00:00
Sung W. Park 2b4a7b438d evas gl: added partial rendering support for qcom extension
When running in direct rendering mode, properly support partial
rendering if the extension is properly supported.

Also, fixed the SwapBufferwWithDamage rectangle coordinate bug.
It wasn't properly y-inverted before.
2014-02-15 02:33:47 +09:00
Jean-Philippe Andre 1fae9e5e21 cserve2: Fix minor clang warning 2014-02-14 13:06:05 +09:00
Jean-Philippe Andre df65e71e79 Evas filters: Another clang warning fix
Prevent error case from crashing.
2014-02-14 13:06:05 +09:00
Jean-Philippe Andre a4ecf34316 Evas filters: More clang fixes
NULL ptr dereference.
2014-02-14 13:06:05 +09:00
Jean-Philippe Andre 6642d16a7d Evas filters: Fix more clang stuff and add safety checks
The prepare function should not fail, unless something is very
wrong. Also, return NULL instead of EINA_FALSE.
2014-02-14 13:06:00 +09:00
Jean-Philippe Andre f603d5da86 Evas filters: Silence some clang warnings
Remove @hidden tag. It does not exist.
Initialize value of pow2_div. In theory not needed but better be safe :)
2014-02-14 12:07:54 +09:00
Jean-Philippe Andre eb1c452156 Evas filters: Prevent division by zero
These can not happen, as all weights > 0.
Add a CRI message in case of div0.
Fixes CID 1174081, CID 1174080.
2014-02-14 11:25:25 +09:00
Rajeev Ranjan 743d7da92f eina: fix in eina_rectangle_pool to make sorting effective
Summary: This patch fixes the bug related to sorting not happening in eina_rectangle_pool

Reviewers: cedric, raster, seoz, Hermet

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-02-14 10:04:15 +09:00
Carsten Haitzler b11ccd9787 eet - dump - if group type is not a handled type, assume unknown
fixes CID 1039307
2014-02-13 20:08:59 +09:00
Carsten Haitzler adbb8e6675 evas - table - fix theoretical leak that likely will never happen
this addresses CID 1039663
2014-02-13 19:44:40 +09:00
Carsten Haitzler 93da35c5ab evas - gl - core - checke for wrong context in error check
this fixes CID 1135266
2014-02-13 19:38:13 +09:00
Carsten Haitzler 2e95690201 evas - gl x11 - fix glx texture from pixmap target rectangle mode check
even though we don't support rectangle bits in texture targets for
texture-from-pixmap the code checked and complained - problem is it
checked the wrong thing. fixes CID 1135267
2014-02-13 19:35:17 +09:00
Carsten Haitzler bf4d34c172 edje - edje_cc - remove logically dead code
fixes CID 1135268
2014-02-13 19:31:29 +09:00
Carsten Haitzler 8764bd240c evas cserve2 - fix chekc of wrong return type
the wrong value was checked (not the returned value) - coverity caught
this. fixes CID 1135269
2014-02-13 19:27:11 +09:00
Carsten Haitzler 153bbd8003 evas - gl core - don't access null ptr on init
this fixes CID 1135270
2014-02-13 19:19:59 +09:00
Carsten Haitzler 87e717ae45 edje - fix bunch of possible null return errors with checks
fixes CID 1135274 CID 1135272 CID 1135275
2014-02-13 19:11:52 +09:00
Carsten Haitzler c7aa6039c8 evas filter - fix uninitialized pointer in evas
fixes CID 1174077
2014-02-13 19:05:43 +09:00
Carsten Haitzler b837cdb055 evas - filter - don't use longs when DATA32 is the right type
fixes CID 1174078
2014-02-13 18:59:16 +09:00
Carsten Haitzler a725924b53 evas - filter - fix memory leak if cmd not found by curve cmd 2014-02-13 18:57:27 +09:00
Carsten Haitzler bbefeae071 evas - filters - remove logically dead code
this addresses CID 1174084 - fix to remove useless code.
2014-02-13 18:57:27 +09:00
Jean-Philippe Andre 511049e20d Evas filters: Improve doc automatization
Include example filter codes from src/examples in Doxygen.
Use these examples for the generation as well.
2014-02-13 17:37:33 +09:00
Jean-Philippe Andre 9f1ae254db Evas filters: Add image for the Syntax example
And change it a bit so the glow is nicer :)
2014-02-13 17:37:33 +09:00
Jean-Philippe Andre 872ab8aa4d Evas filters: Add images to the html doc 2014-02-13 17:37:33 +09:00
Carsten Haitzler 56f4035898 evas - proxy source visible check not done on update del
this fixes T842
2014-02-13 15:40:29 +09:00
Jean-Philippe Andre 6301c6dc1e Evas filters: Remove undocumented files from Doxygen
Some files had Doxygen tags @file, which included them in the
Files list. But they are not documented, so remove them from
the index.
2014-02-13 11:24:47 +09:00
Jean-Philippe Andre 93a608dc66 Evas filters: Buffer names are case-sensitive
Or so claims the documentation, so let's use strcmp
instead of strcasecmp.
2014-02-13 11:24:47 +09:00
Jean-Philippe Andre 36b0bca4aa Evas filters: Add the reference documentation (script language)
In Doxygen format, write the reference documentation for the filters.
It will contain a few examples only, should serve more as a reference
just like edcref.

This is for the script language itself, not for the Eo APIs or the
internal APIs (those are already documented).
2014-02-13 11:24:43 +09:00
Jean-Philippe Andre c6943bb32d Evas filters: in transform, dst must be specified
Since the transform operation is (for now) a very simple tool,
it only works when src and dst have the same colorspace.

This commit forces users to specify dst, since "input" and "output"
have different colorspaces.
2014-02-13 11:21:32 +09:00
Jean-Philippe Andre 62f0ea1d34 Evas filters: Improve displace flags in scripts
These flags were a dumb integer instead of being a human
readable string.

They define how to handle cases were a pixel is read from
out of boundaries.
2014-02-13 11:19:49 +09:00
Carsten Haitzler b16b5bb958 edje segv on file update - try and fix this. not sure if this caused it
it serems as if maybe the edf->edjes can get an edje added twice...
2014-02-12 22:51:57 +09:00
Albin Tonnerre ed06184077 eina: allow eina_time_get to fall back to other clocks if the first one fails
Summary:
eina_time_get tries to use only one clock which is defined at compile-time and
returns the result of that one. This causes problems on platforms where eg.
CLOCK_PROCESS_CPUTIME_ID is defined but the clock is actually not implemented
(ie. clock_gettime returns EINVAL), as we simply don't get any time at all.

Instead, make sure we include the code for all defined clocks and simply fall
back to other clocks if the previous ones aren't implemented.

Reviewers: cedric, raster

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-02-12 11:51:00 +09:00
Jean-Philippe Andre 56d73cb897 Evas filters: Fix warnings on shadowed variables
Also, remove globals A, R, G, B from parser.c... these are
temp variables used in a macro.

My CFLAGS didn't include -Wshadow so I missed those.
Thanks Tom for spotting :)
2014-02-12 10:36:11 +09:00
Jean-Philippe Andre 62fdf414e2 Evas filters: Improve code consistency in blur
source left was called sl or ls depending on the function,
use sl everywhere.
2014-02-12 10:36:11 +09:00
Jean-Philippe Andre 96d5944235 Evas filters: Fix comments and fail more often in blend
Some features are not supported (mainly because alpha scaling
has not been implemented yet) in the blend API. So, instead of
rendering the wrong effect, fail with an error message.

Also rename col into color for code clarity (we have cols for columns).
2014-02-12 10:36:10 +09:00
Carsten Haitzler d636c0f801 edje - fix probable leak by ensuring current prog is freed on real part free
this should fix T923
2014-02-11 15:03:01 +09:00
Tom Hacohen 650b0b6c64 Evas textblock: Fixed colour setting for textblock formats.
Of course Cedric introduced a bug. The bug was that the current colour context
is set to the previously selected colour, instead of the current one, which
made all colours wrong.

Fixes T926.
2014-02-10 16:49:53 +00:00
Tom Hacohen 80033e022d Evas textblock: Fix rendering of spaces in some cases.
The issue was with a textblock that's being resized and a space between formats.
The problem is, that the text would get trimmed when wrapping, and then not
restored, because it had nothing to merge to.

This fixes T924.
2014-02-10 14:17:03 +00:00
Tom Hacohen 1dcf143192 Evas textblock: Added a test for rendering of spaces in some cases.
This checks that spaces are one again used, in a specific case
with wrapping.
2014-02-10 14:17:02 +00:00
Wonsik Jung 48b95c4538 evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride.
Summary: when image cache is created, buffer's size should use stride value.

Test Plan: Create small size window, then try to resizing that.

Reviewers: tasn, seoz, raster, cedric

Reviewed By: cedric

CC: tasn, seoz, raster, cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-02-10 14:54:43 +09:00
Jean-Philippe Andre 40c18743f4 Evas filters: Disable time debug logs (blur)
Enabling those will break windows build.
2014-02-10 11:27:33 +09:00
Jean-Philippe Andre b9b8300f98 Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs
This broke the windows build, because cserve2 isn't available on windows.
2014-02-10 11:15:54 +09:00
Wonsik Jung 6ea0566e6c evas: add eglMakeCurrent in evas map create/free.
Summary: Ensure Evas's eglContext when several eglContexts are used.

Test Plan:
1. Native GLES application works with evas_object_image_native_surface_set
2. One Evas object works with evas map.

Reviewers: seoz, tasn, cedric

Reviewed By: cedric

CC: cedric, raster

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-02-10 10:40:56 +09:00
Albin Tonnerre 62efaed9dc comments: typo fix - s/dictionnary/dictionary
Reviewers: cedric

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-02-10 10:40:12 +09:00
Daniel Hirt 3160b044fb ecore_x_selection: fix selection data freeing
This fixes valgrind reporting lost bytes when selecting text (e.g. in entry).
Can be reproduced in any program that has entry:
  Simply run it with valgrind, select any text, and then exit.
Fixed by properly freeing the selection data, since it is either cleared or replaced.
Also, changed argument in sizeof since it didn't match the type of selections[in].
2014-02-09 13:12:39 +02:00
Albin Tonnerre 64e153ea7f cleanup - Remove the extra copy of the code and use a define instead
_op_blend_pan_mas_dp is just a duplication of the code in
_op_blend_pas_mas_dp. Remove the extra copy of the code and use a define
instead; this is what the SSE3 code already does.
2014-02-09 19:44:49 +09:00
Carsten Haitzler acbcc7da6a in case font_instance is null in text_props... avoid using it 2014-02-09 19:39:30 +09:00
Carsten Haitzler db1990020a edje - feature - add channel types for sounds and ability to mute them
this adds a new feature to be able to assign a sample to a given
"type" of audio channel, and then to be able to mute these from code.
2014-02-09 19:08:12 +09:00
Carsten Haitzler 7c7f2eb300 formatting - make parse enum easier to read 2014-02-09 13:38:36 +09:00
Carsten Haitzler 82af0f60c5 edje_cc - sample play - document speed param and allow wider range 2014-02-09 13:31:00 +09:00
ChunEon Park f2d554ee4c evas/common - add comments for maintainance 2014-02-09 10:14:05 +09:00
ChunEon Park 180a0aaeaf evas/common - code cleanup
removed white trailing
modified for better readibility.
2014-02-09 10:13:02 +09:00
Gwanglim Lee 77092d94d4 ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
Summary: The window manager rotation allows the WM to controls the rotation of application windows. It is designed to support synchronized rotation for the multiple application windows at same time.

Reviewers: raster, seoz, cedric, Hermet

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D529
2014-02-09 09:46:51 +09:00
Albin Tonnerre 259f33679c evas/op_blend: rename LOOP_ALIGNED_U1_A48_SSE3 to LOOP_ALIGNED_U1_A48
Summary:
There's nothing SSE3-specific about that macro, let's use a more generic name
for it. Since that's just a generic macro, we can also allow non-SSE (eg.
NEON) code to use it if they want to

Reviewers: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D528
2014-02-09 09:42:52 +09:00
Chris Michael 6e1b9de112 Evas Textgrid: Don't leak an eina_stringshare when scale_update is
called.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-02-08 17:17:25 +00:00
Wonsik Jung 0e04219758 Add quadruple swap mode for partial rendering
Summary: This patch is for QUADRUPLE window buffers.

Test Plan:
When enlightenment uses quadruple buffers or window system can support quadruple buffers,
application can use quadruple buffers with partial rendering

Reviewers: tasn, seoz, raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D527
2014-02-08 23:04:04 +09:00
Carsten Haitzler 229ee74f6c evas - textblock ... fix valign handling to actually work as documented
valign handling was really broken. this fixes it to pretty much work
again. ie 0.0 == top, 0.5 == centered, 1.0 == bottom align and -1.0
== baseline. only baseline worked before.
2014-02-08 22:54:56 +09:00
ChunEon Park 28ee00c8c3 evas/common - removed unnecessary handling.
Actually the range checking will be accomplished when u, v is decided.
just duplicated.
2014-02-08 19:15:09 +09:00
ChunEon Park ef83a81750 evas/common - removed unused vars.
my fault. they were not intended to push in.
2014-02-08 18:40:32 +09:00
ChunEon Park 8775e0e58d evas/common - fix indentation 2014-02-08 18:36:18 +09:00
ChunEon Park f0b1854d10 evas/common - code clean up
add better descriptive comments.
modify the code for better readibility.
2014-02-08 18:16:09 +09:00
ChunEon Park 738bcb07ff evas/common - more useful comment. 2014-02-08 16:32:52 +09:00
ChunEon Park 72d90c0768 evas/common - code clean up
removed unncessary backet depth in.
2014-02-08 16:26:01 +09:00
Carsten Haitzler 131fc99e79 evas text filter - fix va_arg usage to not cause compiler internal errs 2014-02-08 14:26:50 +09:00
Jaehwan Kim be4d28be6c ecore_x: fix wrong Atom name. 2014-02-08 12:34:42 +09:00
Carsten Haitzler 078099d63d fix warnings in evas filter plus a memleak in _vflip_cpu() 2014-02-08 12:15:35 +09:00
Carsten Haitzler 3fe36441ef fix distckeck for filter 2014-02-08 12:03:44 +09:00
Tom Hacohen 211845c885 Edje entry: Enable allow_set for DEFAULT select mode.
We need to be able to disable selection even when the mode is default.
A good use case is thumb scrolling on a desktop.
2014-02-07 14:21:26 +00:00
Tom Hacohen c061e76927 Edje entry: always finish selection when mouse is up.
Even when the event is held. This actually needs some better fixing.
2014-02-07 14:21:26 +00:00
ChunEon Park 0541d1ebe6 evas/common - code clean up
one if-else if compare is enough. don't try compare twice.
2014-02-07 22:37:53 +09:00
ChunEon Park fff4661095 evas/common - don't compare if twice. one is enough. 2014-02-07 22:32:35 +09:00
Tom Hacohen 13664f3af1 Evas textblock: Fixed test shadow warnings. 2014-02-07 13:18:38 +00:00
Tom Hacohen 354691e03e Evas textblock: Fixed *_cursor_char_coord_set with some y values.
Specifically y values that are between par->y and the first ln->y.

This should fix some selection issues with elm.
2014-02-07 13:14:21 +00:00
Tom Hacohen 97f625c021 Evas textblock: Added tests for *_cursor_char_coord_set.
There are issues with values between the beginning of the first par and
the beginning of the first line.
2014-02-07 13:14:21 +00:00
ChunEon Park de8362defe evas/common - code clean up for more readability. 2014-02-07 20:35:35 +09:00
ChunEon Park 4f905edca3 evas/common - code cleanup
useless to consider this optimization on these days
this just make people read code much awkward.

And actually the code have been unused.
2014-02-07 19:19:19 +09:00
Jean-Philippe Andre 6d1356adea Evas filters: Disable proxies with the GL engine
Well, proxy sources are rendered to a... GL texture! But we
actually want the image pixels. So we'll need to call glReadPixels
to get them.

Yes, it will be horribly slow. But there isn't really a way around.
This will require a new internal API. For now, just disable the
feature. Hopefully I can make it work soon enough for the release?
2014-02-07 17:59:23 +09:00
Jean-Philippe Andre 9917962ffb Evas filters: Fix crash when using the GL backend
Buffer management was broken, and we tried to free the GL texture
as if it were a simple RGBA_Image.
2014-02-07 17:59:23 +09:00
Jean-Philippe Andre 637416d62e Evas filters: Allow calling program_set and source_set in any order
If source_set was called after program_set, then parsing would fail.
It used to work because the program was re-parsed at source_set.
Now, save the code, mark the filter as changed, and reparse again
if the source changed (keep track of invalid programs to avoid
excessive parsing).
2014-02-07 17:59:18 +09:00
Jean-Philippe Andre 71080b220e Evas filters: Prevent buffer creation when running filter
In async mode, the filter runs in the render thread, so can't
allocate buffers on the fly.
This case should not happen, unless maybe a source has a null
size (eg. it's invisible and not properly rendered).
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 22e94df0f7 Evas filters: Quick check for existing part name
We just add all buffer source names to the part lookup queue,
so that edje_cc will check that the source part exists.

The final int key is discarded.
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 9d821a402a Evas filters: Fix proxy usage (source unset)
Proxy sources & objects were not properly unset.
This results either in crashes (especially in the Edje tests)
or dangling objects with tons of references.

Remove the refcount increase/decrease, as it is redundant.
Store pairs proxy+source instead of just the source in all hashes,
so we can unset the is_proxy flag on the proxy when there are no
sources anymore.
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre a25b212bac Evas filters: Add support for proxies in Edje
They will be defined with the following syntax:
buffer:buf(src=part);
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 08f2624e6a Evas filters: Implement basic Edje support
Does not support proxies yet.
Implemented as "filter" field in a part.description.text (next
to a "font").
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre e112d49e0b Evas filters: Check that program code changes before updating
Save the code and compare with the new one. This way we can
safely call program_set from the edje_calc functions.
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 748501a5af Evas filters: Add argument src for buffer declaration
Basically, in an edje file, we'll declare buffers manually,
using the "buffer:buf(src=part)" syntax.
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 28d469237b Evas filters: Avoid adding multiple sources under the same name 2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 8570b38dd1 Evas filters: Rename bind to source_set
Because that's what we call it for proxy images :)
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 7043c8bb89 Evas filters: Disable gauss blur
And fix doc in parser
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 43962135be Evas filters: Remove FIXME and unimplemented code
Remove compilation warnings: we don't really need cubic
interpolation at this point, we can still add it back
later if wanted.

Also, make it clear that buffer #2 is the output buffer.
Remove meaningless FIXME.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 712566939d Evas filters: Add proxy source only once
If the proxy has already been added to the list of
proxy sources, don't add it again. This is for the filters
case where unset isn't even called :)
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 95550feb30 Evas filters: Fix memory leaks with buffers
In async rendering case, basically all buffers were leaked or
freed from the wrong thread. Fix that :)
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 2e401c2e91 Evas filters: Allocate buffer in the main loop (part 2)
Now the allocation is really done in the main loop.
Rendering fails, only happens in case of redraw.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre eea049f988 Evas filters: Alloc/Dealloc buffers from the main loop only
This is a problem I didn't spot immediately... but with
tons of nasty consequences.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre bf46a1d26c Evas filters: Simplify clip_to_target 2014-02-07 17:33:17 +09:00
Jean-Philippe Andre c471ee03d6 Evas filters: Fix uninitialized memory access and unsupported call 2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 9c1b323bd3 Evas filters: Fix mapped rendering for mask, blend
If dx, dy are 0, there was a miscalculation of bottom and right,
leading to segvs.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 62d7a2cb3f Evas filters: Implement all rgba mask operation
RGBA + RGBA blended to an RGBA target.
Uses existing infrastructure to combine all buffers together.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 1c9865a8ae Evas filters: Implement repeat and stretch for rgba to alpha
Use the mapped rendering to implement repeat and stretch
with rgba to alpha buffers blending.
If stretch is required, it will add one more (expensive)
scaling step.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 2d071a2cd4 Evas filters: Fix mask function
Mask iteration was not valid.
2014-02-07 17:33:17 +09:00