Commit Graph

2180 Commits

Author SHA1 Message Date
Jean-Philippe Andre bcbf7d14e6 evas_render: moar debug (REND_DBG) 2015-09-04 11:11:39 +09:00
Jean-Philippe Andre d69f9e0b84 Evas masking: Fix potential invalid access to mask image
After clip_image_get, the old mask may be replaced by a new one,
and unref'ed, but it is later on set back as the context mask image.
Maybe it's possible that there was 0 reference and the image
got freed in between.

No idea how to test this.

@fix
2015-09-04 11:11:39 +09:00
Daniel Kolesa 35a6bb1666 evas canvas: finish doc conversion 2015-09-03 15:00:06 +01:00
Daniel Kolesa 62d6ab54a4 evas canvas: some doc conversions 2015-09-02 16:21:43 +01:00
Daniel Kolesa 00678aea1b evas_canvas: prepare for doc conversion + partial conversion 2015-09-02 15:13:36 +01:00
Daniel Kolesa 03bbe8a4a7 efl_vg_base: fix wrong @since (was pushed after 1.15) 2015-09-02 14:16:25 +01:00
Daniel Kolesa 791de84f5b efl_vg_base: convert docs 2015-09-02 14:13:15 +01:00
Daniel Kolesa 3752e0aa34 evas object: finish doc conversion 2015-09-02 14:09:04 +01:00
Daniel Kolesa d381b79e95 evas object: more doc conversion 2015-09-02 12:51:15 +01:00
Daniel Kolesa 37a4157bb8 evas object: partial doc conversion 2015-09-02 12:21:59 +01:00
Boris Faure 1df1b23e21 evas:textgrid: correctly check malloc failures 2015-09-01 23:38:43 +02:00
Boris Faure 7a7d3c4022 evas:textgrid: rename text_props to text_props_index 2015-09-01 23:38:43 +02:00
ChunEon Park ea442da9ed evas clip: add warning msg for wrong scenario. 2015-09-01 16:34:17 +09:00
perepelits.m 32c405f8fa [Evas] Counting of tangent space (fix)
Summary: It is counting here, so we can avoid using glsl functions dFdx, dFdy.

Reviewers: cedric, raster, Hermet

Subscribers: Oleksander, cedric, artem.popov

Differential Revision: https://phab.enlightenment.org/D2923
2015-08-31 19:04:27 +09:00
Oleksandr Shcherbina c850cc0d80 evas_canvas3d: Recalculation coordinates for pick object from scene
Summary:
Change recalculation coordinate for pick to depend on size of viewport, not from
scene data.
Due to not correct working pick in case resize view window.
@fix

Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2950
2015-08-28 20:32:46 +09:00
Daniel Hirt d6b6a73358 Evas textblock: fix case of own_closer in style_set
Looks like it was assumed that an fnode->orig_format always ends with a
'/' character if the fnode is an own_closer.
The problem is that a paragraph separator ("ps" and "br" - the latter in
legacy newline mode) is also an own_closer, but might not have '/' at the
end, so decrementing the length is wrong.

This fixes T2654. The example markup had "br" read as "b", which led to
a mismatch with the "font_weight=Bold" tag. Coincidentally, "ps" was not
affected as there was no matching "p" in the style.

@fix
2015-08-27 22:59:19 +03:00
Marcel Hollerbach 2eb4f2604d evas_3d: fix defines
Summary:
evas_3d: removed unnessecary defines

Evas_Real was allready defined.

The typedefs of the Eo types can be avoided by fixing the include order

Reviewers: cedric, stefan_schmidt, tasn

Reviewed By: stefan_schmidt, tasn

Subscribers: stefan_schmidt, cedric

Projects: #efl

Maniphest Tasks: T2658

Differential Revision: https://phab.enlightenment.org/D2974
2015-08-24 12:00:57 +02:00
Stefan Schmidt eb6832f62e evas/filter: Remove unused variable
lib/evas/filters/evas_filter_parser.c:861:14: warning: unused variable 'ok' [-Wunused-variable]
2015-08-24 10:15:11 +02:00
Cedric BAIL 05fdfcc76a evas: add logic to duplicate recursively an Efl_VG_Node tree. 2015-08-21 16:40:31 +02:00
Cedric BAIL 126edbb48c evas: allow parent during dup to be an Evas_Object_VG. 2015-08-21 16:40:31 +02:00
Cedric BAIL 7cb92ff35d evas: add support for interpolating Efl_VG_Node tree. 2015-08-21 16:40:31 +02:00
Cedric BAIL d595324a8d evas: add an unique name for each Efl.VG.Base object and make it possible to find it from parent. 2015-08-21 16:40:31 +02:00
Jean-Philippe Andre 2472dfdb24 Evas filters: Fix build for Jenkins gcc_x32
Disable bit32 library if it's not available.
We should probably either ship it or disable it altogether
for the filters. Hmm.
2015-08-21 11:42:30 +09:00
Cedric BAIL 67ef1b11ff evas: properly fix unref of ector renderer.
Async rendering doesn't have a main loop cleanup function. The only one
being called is in the rendering thread. I wrongly assumed in my previous
patch that render_post on an object was called after the async render was
done which is obviously not the case as pointed by Subhransu. This patch
now wait for the async rendering to be done.
2015-08-20 15:39:16 +02:00
Jean-Philippe Andre 50e91e5321 Evas filters: Fix char buffer size
Thanks Coverity.
Fixes CID 1316684
2015-08-20 11:37:53 +09:00
Cedric BAIL 0ee28f12e1 evas: be more pedantic in case of error in Evas_VG_Node. 2015-08-19 20:22:57 +02:00
Daniel Hirt a197aa366b Evas language: fix script run code
For script runs that start with an UNKNOWN character, the whole
run was mistakenly identified as script type UNKNOWN.

Also, refactored code a bit for readability.

Fixes T2670.
@fix
2015-08-19 17:16:42 +03:00
Cedric BAIL f1e3c7f41f evas: no need to get the data if it is not the right type of object. 2015-08-19 16:12:58 +02:00
Cedric BAIL 7c83af2ae3 evas: fix ref/unref of ector renderer to always happen in the main loop. 2015-08-19 16:06:39 +02:00
Subhransu Mohanty ad3ae08b82 evas: delete the ector_renderer when evas_vg_node gets deleted.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 14:46:26 +02:00
Jean-Philippe Andre 8c8d254fbc Evas filters: Fix proxy buffer size in Lua
In order to do that, avoid creating multiple Buffer instances
when pointing to the same proxy source. This fixes buffer.width
and buffer.height in Lua.
2015-08-18 18:31:39 +09:00
Jean-Philippe Andre 8e9ab6440f Evas filters: Fix massive memleak with async sw render
Oooops, the flag stolen meant that we don't hold any reference on
this buffer anymore, which meant we should not increase the refcount
here!

@fix
2015-08-18 18:31:39 +09:00
Jean-Philippe Andre ea001c3ec1 Evas: Add debug env var EVAS_IMAGE_NO_MMAP
Looking for image buffer memory leaks with Valgrind is impossible
when all images are mmaped. This is intended as a DEBUG environment
variable only.
2015-08-18 18:31:39 +09:00
Jean-Philippe Andre 6124d07336 Evas filters: Fix for Lua 5.3 (with --enable-lua-old)
Tested with LuaJIT, Lua 5.2 and Lua 5.3.

@fix
2015-08-18 18:31:39 +09:00
Daniel Kolesa d737233dd5 evas_image: finish doc conversion 2015-08-14 16:36:21 +01:00
Daniel Kolesa 11101af3bb evas_image: convert more docs 2015-08-14 16:21:51 +01:00
Daniel Kolesa f00013b018 evas_object,evas_image: partial doc conversion 2015-08-14 13:20:17 +01:00
Carsten Haitzler 40fc5a9282 evas render 2 - tiled rouding of updates to keep number regions down
tile to 16x16 (we can cahnge) to keep number of update rects
down/minimal with render2
2015-08-12 20:08:14 +09:00
Carsten Haitzler 9d9e8ffab5 evas - handle case where layer->evas is null - don't crash
there seems to be a corner case where obj->layer->evas is null for an
object. i think during shutdown of a canvas.

@fix
2015-08-12 20:08:14 +09:00
Cedric BAIL 08e888156e evas: force full redraw of snapshot for every frame, every time.
NOTE: it would be nicer to setup a specific context for each snapshot
and walk all the child below. If any of them did change, only trigger the
full redraw in that case (and of course only if a filter with blurr does
use it somewhere).
2015-08-06 11:05:50 +02:00
Cedric BAIL 941d75d24d evas: move make update to be outside of the reused code for rendering sub objects. 2015-08-05 15:12:33 +02:00
Cedric BAIL 46082eb13d evas: make sure that the context is only relevant to the surface we are currently manipulating. 2015-08-05 15:12:33 +02:00
Cedric BAIL c5c94ce027 evas: we now need to force mark the object as changed. 2015-08-05 15:12:33 +02:00
Cedric BAIL 033658d1ca evas: implementation of snapshot feature.
This should theorically work, need some test. Design is easy to understand. Render
every part of a snapshot object by rendering the content below it, before rendering
the stack above it using that object content.
2015-08-05 15:12:33 +02:00
Cedric BAIL 8b31b7c33a evas: prepare refactoring necessary for snapshot. 2015-08-05 15:12:33 +02:00
Cedric BAIL 2ebf315591 evas: add a snapshot bool to Evas_Object_Image.
Snapshot object are rendering the content of the canvas below them into them.
They can then be used for filter, map or proxy.

Have fun !
2015-08-05 15:12:33 +02:00
Daniel Kolesa 1ff8ab7d8e evas_3d_utils: fix compiler warning 2015-08-05 11:12:24 +01:00
perepelits.m be33840b6b evas: add tangent space algorithm
Summary: This is a logic of tangent data calculation, we need it in order to avoid bugs with normal mapping after building with opengl=yes.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: Oleksander, cedric, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-04 17:34:29 +02:00
Cedric BAIL 10fb77cc55 evas: twice faster NEON intrinsics scaling up implementation
Summary: Already checked it for tizen 2.3/2.4. Scaling function works properly and much faster.

Reviewers: raster, jolfzverb, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-04 17:34:29 +02:00
Tom Hacohen a899a04a62 Evas out: migrate more eolian types. 2015-08-04 10:57:14 +01:00
Oleksandr Shcherbina 60b16be772 Evas canvas3d: Move evas 3d types to evas_types.eot
Summary:
Move evas_canvas3d types from Evas_Eo.h to evas_types.eot
Change enum constatnt for vertex_arrtib, material_attrib, blend_func
Correct namespace for Evas.Real type

Reviewers: cedric, tasn

Reviewed By: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2734
2015-08-04 10:57:14 +01:00
Carsten Haitzler d31098fcec evas image unload - fix free path to remove from pending list
this should fix T2580
2015-08-04 10:47:38 +09:00
Nicolas Aguirre b79ab57226 Revert "Include <Eet.h> where needed. cf:"
This reverts commit 877338659b.
2015-08-03 14:34:57 +02:00
Florent Revest 877338659b Include <Eet.h> where needed. cf:
https://github.com/openembedded/meta-oe/blob/master/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch
2015-08-03 14:16:35 +02:00
Tom Hacohen 7ffa4d1367 Evas text: Migrate docs to new Eolian format. 2015-07-31 16:00:23 +01:00
Tom Hacohen e851249db7 Evas table: Migrate docs to new Eolian format. 2015-07-31 15:38:18 +01:00
Jean-Philippe Andre 81f1f5db17 Evas filters: Fix invalid sizeof
CID 1308609
2015-07-31 13:24:17 +09:00
Daniel Kolesa 465bffcf7d evas textblock: convert docs 2015-07-30 13:16:05 +01:00
Daniel Kolesa 8a58bc9188 evas_common_interface: remove bad doc comment 2015-07-30 13:01:29 +01:00
Daniel Kolesa e607cb6f6f evas canvas3d: doc conversion of mesh 2015-07-30 13:00:25 +01:00
Daniel Kolesa 70a8304495 evas canvas3d: doc conversion of scene 2015-07-30 12:38:51 +01:00
Daniel Kolesa 1e620e8f80 evas canvas3d: doc conversion of texture 2015-07-30 12:30:40 +01:00
Jean-Philippe Andre fbd0a51607 Evas filters: Fix order of header file includes
This fixes filters on Ubuntu 32 bits.

This was one hell of a weird bug to track down. Everything worked
like a charm on my 64 bit machines, but filters would simply fail
for no good reason: a safety check sees a NULL pointer when clearly
it was properly allocated.

Just after entering a function, the content of an RGBA_Image would
change, even though there was no memory write there. This made the
image data pointer NULL, and filters would fail miserably.

So I printed out the contents of the RGBA_Image, they changed. But
the memory itself had not changed. The size of the struct itself
had changed when jumping from one file to another! But its definition
had not! Non-sense!

Unless of course a system header file was included before config.h
and ino_t or off_t would switch between 32 and 64 bits...

@fix
2015-07-28 17:13:52 +09:00
Jean-Philippe Andre 0058cd08f4 Evas filters: Fix COW usage in filter mixin 2015-07-28 17:13:52 +09:00
Jean-Philippe Andre f9c7d25b08 Evas filters: Disable debug code path 2015-07-28 17:13:52 +09:00
Jean-Philippe Andre 284cd2a530 Evas filters: Fix invalid rendering in case of async render
This simplifies the code and fixes async buffer management.

@fix
2015-07-28 17:13:52 +09:00
Jean-Philippe Andre c45ae022c8 Evas masking: Fix crash in async rendering
There was a FIXME comment... >_<

Improper management of image resources in async render led to
a rare crash. This should fix that.

@fix
2015-07-27 14:15:09 +09:00
Carsten Haitzler 17823d21ea evas - image data unload - try plug another possible crash path
i am not sure if this is the odd crash i am seeing, but in theory it
could be. as these crashes are rare it's hard to find and gdb is "too
late" other than telling me the image is freed already by the time we
do an unload.
2015-07-26 03:02:06 +09:00
Stefan Schmidt 3b91d33da2 evas/filter: Avoid leak in error path
If format is not found we go out of scope and would leak param. Free instead.

CID 1308610
2015-07-24 19:01:10 +02:00
Carsten Haitzler 5b1e3b3a89 evas - image unload - fix unload to only unload imgs needing it
need_unload seems to have been done wrong. using preload not
need_unload. no idea why it checked/cleared preload instead of
need_unload.
2015-07-24 23:21:55 +09:00
Carsten Haitzler 65ebf496fd evas render2 work - no new feature - paralell bit of code
*this does not affect any "stable" code paths - it's render2 and some
added region code that i MAY have to use to fix some bugs/issues as i
am noticing tilebuf being pretty silly and just doing bounding boxes.
region code lifted from xserver (mit-x11 license thus compatible with
evas bsd) and it's been stripped down and cleaned up with some tilebuf
optimizations like remembering the last rect add/del to avoid work
when repetedly adding/delling the same rects (very common).
2015-07-24 22:11:40 +09:00
Carsten Haitzler e0c81ed35f evas render - fix up debug macros so they don't generate any code
if render debug is not enabled make sure they end up totally empty to
avoid any possible overhead from the optimizer not stripping them out
2015-07-24 22:11:40 +09:00
Srivardhan Hebbar 3e54602209 evas grid: Eolian doc conversion of grid.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2860
2015-07-24 13:40:30 +01:00
Jean-Philippe Andre ff6dbb17e3 Evas filters: Set state.next to nil when not in transition
This is what the doc says and makes more sense.
That was some kind of inverted logic.
2015-07-23 20:17:39 +09:00
Srivardhan Hebbar 03b1416426 evas vg: Eolian doc conversion of vg.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2857
2015-07-23 10:43:04 +01:00
Srivardhan Hebbar c2ff5bfc82 evas out: Eolian doc conversion of out.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2855
2015-07-23 09:32:46 +01:00
Jean-Philippe Andre fcde390fa4 Evas GL: Add missing call in case of direct rendering
I spotted this by looking at the code in a different branch (that
was tested on real hardware).
2015-07-23 10:34:15 +09:00
Srivardhan Hebbar d516d409c4 evas polygon: Eolian doc conversion of polygon.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2854
2015-07-22 10:41:39 +01:00
Srivardhan Hebbar 99efa51a39 evas object: Eolion doc conversion of object_smart.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2853
2015-07-22 10:38:59 +01:00
Daniel Kolesa 68fbd24a60 evas_canvas3d_scene: fix missing color initializer 2015-07-21 14:46:25 +01:00
Daniel Kolesa 564e6410d0 evas_object_vg: fix missing initializer warning 2015-07-21 14:44:38 +01:00
Daniel Kolesa c4d666805d evas: fix missing render2_walk initializers
This caused annoying compiler warnings that are gone now.

@fix
2015-07-21 13:54:23 +01:00
Srivardhan Hebbar 07549d0669 evas textgrid: Eolian doc conversion of Textgrid.Pallelt.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2847
2015-07-21 11:57:53 +01:00
Srivardhan Hebbar 49031e3b0f evas box: Eolian doc conversion of box.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: tasn, q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2845
2015-07-21 10:23:41 +01:00
Srivardhan Hebbar d3f01d8f9e evas canvas3d: Eolian doc conversion of canvas3d_primitive.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2842
2015-07-20 13:25:27 +01:00
Srivardhan Hebbar 03fe4813e9 evas canvas3d: Eolian doc conversion of canvas3d_node.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2839
2015-07-20 11:53:56 +01:00
Srivardhan Hebbar 4bc09bd09e evas canvas: Eolian doc conversion of efl_vg_base.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2835
2015-07-17 14:54:57 +01:00
Srivardhan Hebbar 909a063549 evas canvas3d: Eolian doc conversion of canvas3d_object.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2834
2015-07-17 14:25:48 +01:00
Srivardhan Hebbar 486a966ebb evas canvas3d: Eolian doc conversion of canvas3d_camera.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2825
2015-07-17 13:11:01 +01:00
Jean-Philippe Andre 6c3793390f Evas GL: Some documentation on sync objects 2015-07-17 14:47:53 +09:00
Jean-Philippe Andre dc3e41c3de Evas GL: Deprecate API evasglCreateImage
Despite its ugly name, evasglCreateImageForContext should be used
instead, as it's a proper API with evasgl and ctx passed in as
arguments.
2015-07-17 14:47:53 +09:00
Jean-Philippe Andre 8942c0c29b Evas GL: Fix sync, wlbuffer and image egl ext functions
Before this patch, those EGL/EvasGL functions can not work
without a current context. But EGL does not require any
current context for those to work, or at least, this should
be left to the driver to decide.

Evas GL was only able to get a pointer to the display
if a context was current.

The display pointer should be infered from Evas_GL unless
we can find a current display. EGL does not require a
context to be current in most of these function calls.

This should bring evasgl a little bit closer to EGL in terms
of behaviour (those are EGL-only extensions, btw).

Thanks @spacegrapher for the quick review

@fix
2015-07-17 14:47:42 +09:00
Hosang Kim 51b097c014 evas_image : fix unloads cleanup logic
Summary:
Now Evas gl preload feature is disabled.
But if it is turned on, memory crash occurs.
Because evas_gl_common_texture_upload is not excuted immediately.

Test Plan: EVAS_GL_PRELOAD=1 ELM_ENGINE=gl elementary_test -to "photocam"

Reviewers: raster, cedric, woohyun, seoz, Hermet, singh.amitesh, jpeg

Subscribers: jpeg, cedric

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-07-16 20:15:12 +09:00
Jean-Philippe Andre 040945e333 Evas filters: Fix color value for invisible
Since the filters default to alpha = 255 the actual value of
invisible / transparent was black.
2015-07-16 19:50:38 +09:00
Jean-Philippe Andre b439fafa17 Evas GL: Fix internal function pointer
evas_gl_native_context_get is an internal function
passed around from an evas engine to evas_gl so that we can
implement evasglCreateImageForContext without exposing
any evas engine internal structure to evas_gl.

It's all a ittle bit ugly but the previous solution with
dlsym(DEFAULT) didn't work.
2015-07-16 19:50:38 +09:00
Jean-Philippe Andre 576f2ccab7 Evas GL: Fix evasglImageDestroy() from non-evasgl threads
If the TLS variable was not initialized, Evas GL can't get a pointer
to a valid EGLDisplay which is required by eglImageDestroy.

So, we keep track of the dpy used at creation time and use that
if we're in another thread.
2015-07-16 19:50:38 +09:00
Srivardhan Hebbar f0cef9a56b evas canvas3d: Eolian doc conversion of canvas3d_light.
Summary:
Apart from evas_canvas3d_node_look_at_set() all other things are referenced.
Tried to reference it to @Evas.Canvas3D.Node.look_at_set(). But getting error.

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

Reviewers: cedric, tasn, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2822
2015-07-16 11:18:26 +01:00
Daniel Kolesa 3e72080123 evas_object_image: fix wrong type assignment warning 2015-07-15 16:06:32 +01:00
Jean-Philippe Andre 29de62cd13 Evas: Fix no_render flag when in a map
no_render objects would still show up in a map surface
because of a different logic.
2015-07-15 17:51:18 +09:00
Jean-Philippe Andre 326dc3850b Evas masking: Fix rendering of masks that belong to a proxied smart object
This is a complex situation:
- Smart object A contains image I
- A is proxied into an image B
- B is marked as source_invisible, which means A is invisible
- Mask M is applied to image I
- Mask M is ALSO a smart child of A
Because of all that, mask M could not be rendered into its private
mask surface, as it was falling under the case of "parent_src_invisible".

This patch checks that the object is not a mask during the
parent_src_invisible check.

@fix
2015-07-15 16:41:59 +09:00
Jean-Philippe Andre 218b3a40f9 Evas filters: Fix parsing of curve() with a function
If the points argument was a function, there was a Lua call
stack error, making the filter fail.
2015-07-15 14:10:50 +09:00
Daniel Hirt 74ad947ded Evas textblock: Clear unused paragraphs
This fixes a scenario in which paragraphs in the current layout still
store visual lines from the previous layout. This is possible if the
text uses an ellipsis format, allowing the layout work to stop at a
certain paragraph. This inconsistency affects some query functions that
consider lines which may be irrelevant in the current layout.

Test Case: see added test case to evas_suite.

@fix
2015-07-14 16:04:40 +03:00
Carsten Haitzler 59db1cd0e2 evas - unload/scalecache self-feeding loop unload/reload fix
i was runing perf top and noticed that evas_image_load_file_data_eet(0
was being called. in fact - it was #1 on the list of functions being
called. why? it didn't make sense. i found out. just a blinking cursor
in terminology was causing the background to be unloaded and
re-loaded. the new "actually unload" changes for 1.15 made this happen
and thus we kept sucking in new data all the time even if the
scalecache already had the data - and that was the problem.

so now calcecache prepare tells you if you don't have cached data and
if you likely then have to ensure the data is loaded. this cuts down
quite a bit of work.

while i'm at it... we definitely need to clean house on the internals
of evas. a decade+ of features, mess, optimizations needs to be fixed.
i mean really house-cleaned. rewritten clenl;y re-using existing code
where appropriate.
2015-07-12 13:17:08 +09:00
Tom Hacohen d7a921788f Evas canvas3d: Fix reference to class in .eo file.
We should reference classes directly, not use 'Eo'.
2015-07-09 13:41:57 +01:00
Hosang Kim eeec176166 evas: Init need_unload value after unload.
Summary: @fix

Reviewers: seoz, cedric, woohyun, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2803
2015-07-09 12:04:40 +09:00
Daniel Kolesa 18502b8429 efl: fix doc references across the tree to validate right 2015-07-08 15:13:26 +01:00
Chris Michael 0c0ec74ee2 evas: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-07 09:00:04 -04:00
Tom Hacohen c1bd86b21f Evas line: Migrate Eolian file to use the Eolian types. 2015-07-07 13:55:14 +01:00
Tom Hacohen 824967457a Evas line: Remove obviously wrong default values. 2015-07-07 13:55:14 +01:00
Carsten Haitzler ec6ddf59e2 evas - image core - fix unloading of images to work again
i think this has been disabled for a while. image unloading is broken
- esp with gl enigne as due to async move it was effectively disabled.

this re-enables it. unloading is deferred with a managed list of things
needing unloading and then when any async sw renders are not busy any
more - do the unload then in the mainloop of all pending/flagged
images to unload

@fix
2015-07-07 21:38:21 +09:00
Jean-Philippe Andre 45cef3e0a5 Evas.Image: Fix legacy EAPI name
Thanks @kuuko for the report. Sorry for the breakage of Python apps.
2015-07-06 14:24:05 +09:00
perepelits.m e40c223181 edje: add Convex Hull logic
Summary: This is an algorithm which calcuates a convex hull of some mesh, in fact it returns vertex, index, normal and color datas, though the new mesh could be build just as for AABB

Reviewers: raster, Hermet, cedric

Subscribers: cedric, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-07-04 02:39:11 +02:00
Daniel Zaoui 2216ed6c85 Interfaces: fix event name
zoom,change is the name used in efl and elementary, not zoom,changed

@fix
2015-07-03 10:38:01 +03:00
Jean-Philippe Andre 225b33451b Evas.Image: Simplify logic (trivial change) 2015-07-02 15:47:25 +09:00
Jean-Philippe Andre 32dc8f092c Evas.Image: Deprecate some functions and remove from Eo
This patch deprecates the following functions:
- evas_object_image_data_convert
- evas_object_image_pixels_import
- evas_object_image_reload

I could not find any place where they are used.

The old documentation is kept in the header, but not as a doxygen
anymore.
2015-07-02 14:32:07 +09:00
Jean-Philippe Andre b5c9350805 Evas: Replace image_map_surface_free by common image_free
Those two functions were doing exactly the same thing[1], which
is free an image, so this commit only attempts to simplify the code
a little bit.

[1] Actually image_map_surface_free() might even not have worked
properly with cserve2 sw (calling unload instead of close).
2015-07-02 12:05:50 +09:00
Jean-Philippe Andre fd4e133cc1 Evas: Implement image_data_get for FBO images 2015-07-02 11:58:50 +09:00
Daniel Hirt e8afd5241c Evas Textblock: Add obstacle objects feature
Summary:
Introducing a new feature for Evas Textblock. This allows the layout to
wrap around other evas objects.
The following API is added:
 - obstacle_add
 - obstacle_del
 - obstacle_update
Evas objects can now serve as textblock obstacles, if positioned and
visible on the text area. The text will wrap around the obstacles
according to the wrapping mode set to it.

This also modifies the current wrapping code to handle obstacle wrap
points as well. The wrap index query function is modified so that
forward-scanning (specific cases) may be disabled when treating
obstacle wrap point.

RTL text is currently unsupported by this feature.
Consult added docs and example for usage.

@feature

Test Plan: Evas example and test in evas_suite are provided with this.

Reviewers: tasn

Subscribers: raster, JackDanielZ, cedric

Differential Revision: https://phab.enlightenment.org/D2405
2015-07-01 16:24:31 +01:00
Jean-Philippe Andre f4f808f25d Evas image: Remove useless piece of code
Not only is it useless, it is very likely to make the function call
fail (data_get is quite likely to fail with GL).
2015-07-01 20:46:34 +09:00
Jean-Philippe Andre 161822418a Evas: Make Evas.Image.save() work with all images
This includes proxies, 3d scenes and normal images.
There is still a problem as the GL engine returns NULL on
data_get.

This kinda goes against the EO API declaration as
eo_obj is used as a mutable argument, but internal data was
already modified before this patch.

TODO: Draw maps, filters, etc... in a dedicated surface to save
      them as they truly are (ie. filtered images).
2015-07-01 20:45:04 +09:00
Jean-Philippe Andre 7ea52e1bd8 Evas filters: Force filter redraw if object changed
Somehow I broke this when introducing the eo mixin.
This is what broke @cedric's work on the snapshot widget!

TODO: Verify that the contents changed, and not just X,Y.
2015-06-30 11:47:11 +09:00
Jean-Philippe Andre 6980cb2c70 Evas filters: Fix color(0xrrggbb) to be opaque by default
For compatibility with previous behaviour and with what the doc
says, make sure default alpha is 255 and not 0.

This way color(0) is black and not transparent
2015-06-30 10:44:04 +09:00
Mike Blumenkrantz 508da27bb1 Revert "evas: add keysym member to key event structs"
This reverts commit b7c89d2325.

this was audited and found to be impractical due to portability concerns
2015-06-29 13:18:01 -04:00
Daniel Hirt 8202044890 Evas textblock: Fix it->x value during layout
This updates it->x when visiting each item in the line layout code,
as it was always 0, even when it was used during item rollback.
Fortunately, in the above case a 0 value was actually expected, so
this does not actually affect current behavior.

This fix is mainly for consistency and future development.
2015-06-29 16:50:32 +03:00
Daniel Hirt 0de8ebbb3a Evas textblock: Fix infinite loop case
This fixes a case with wrapping, where the text has a mixture of 'none'
and 'word' wrapping modes, and the layout function decides to
roll-back a few items.
The test case is added to the evas_suite.
This might not be a common case, or even a case we had defined a proper
behavior to, but since it causes an infinite loop, it needs to be fixed.

@fix
2015-06-29 16:43:49 +03:00
jiin.moon 739eb4bd0d evas: opaque value does not change even if image data be changed
Summary:
opaque value keeps previous image's value
when image data be changed by file_set/mmap_set api

@fix

Test Plan:
1) Make a evas rectangle object has color
2) Make a evas image object with jpg file.
3) Replace image data with png file by evas_object_image_file_set.

Reviewers: Hermet, cedric, jypark

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-29 14:56:23 +02:00
Tom Hacohen b360084d0d Evas textblock: Fix issue with line_coord_set and y before the first line.
Let's assume we have a textblock with one paragraph at y = 3 and h = 50
At the moment, passing 60 (after the paragraph) to line_coord_set picks
the last line, however passing 0, just fails. This fixes that.

Thanks to Vladyslav Shevchenko for reporting it in D2574.

@fix
2015-06-26 15:21:59 +01:00
Daniel Kolesa efc91df01a evas_canvas3d_material: convert docs 2015-06-26 14:35:39 +01:00
Daniel Kolesa b067b02b23 evas_line: convert docs 2015-06-26 14:00:36 +01:00
Daniel Kolesa c709f1dca2 eolian/generator: constify all prototypes for @const functions
Otherwise there would be conflicts in certain circumstances.

This also requires adding const on many existing functions,
and similar work is necessary in Elementary.

@fix
2015-06-25 12:18:43 +01:00
Jean-Philippe Andre 4234832713 Evas filters: Add some crash safety 2015-06-25 15:12:32 +09:00
Jean-Philippe Andre 14c1434960 Evas filters: Use smooth scaling by default for proxies
Is it too slow? Then I guess a new API option will be required.
2015-06-25 15:02:44 +09:00
Jean-Philippe Andre 8fa3b2b111 Evas filters: Fix usage of proxy buffers (compatibility)
The previous API supported stuff like "mask{'image1'}" but image1
is now not a valid buffer name, as it's only the proxy source name.
This patch fixes the buffer lookup.
2015-06-25 14:43:05 +09:00
Jean-Philippe Andre c86a5edc9f Evas filters: Add @protected tag where applicable
The Evas.Filter interface is basically just an internal thing.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre d15308efef Evas filters: Add explicit exec flag in data_set
This flag should be set iif the string passed is to be executed
rather than assigned. This is used to pass complex arguments
as data, like tables (eg. color class).
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre f4825006b0 Evas filters: Remove overrides of methods from Evas.Filter
Welp that was stupid to add them in the first place...
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 15afea293f Edje & evas filters: Properly pass data from EDC to Lua
Also fix a few issues
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 0df37da435 Evas filters: Fix buffer_push and add support for color classes
Makes sure that buffers don't override already existing
globals vars such as 'mask' (a function name). Yeah, it happened
to me.

CC support is a little bit hackish. Need to find a better way.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 0e8f890dfb Edje & evas filters: Add extra data from EDC to Lua program
This also supports color classes (really rough implementation for
now, but the API should remain stable).

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 84e3dd5c34 Evas filters: Add name to the filters
Deep down internally there was already a name, but no API could
really set it properly.
Here Edje will set the name of the filter based on the part name
or the data item name if relevant.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 29402b2ce9 Evas filters: Complete support for image filtering
Reusing the new EO mixin, complete the support for image
filtering. This now adds support for edje state inside
the image filter.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 64fd278c62 Evas filters: EO-ify the filters API
This creates the new interface
 Efl.Gfx.Filter

And the implementation is a mixin (evas_filter_mixin.c):
 Evas.Filter

All the filter rendering code has now been moved to this
new file. TODO: Merge image filtering.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre d00378edcf Edje/evas filters: Add filter.source support
This should preserve ABI stability with earlier versions of
edje_cc while still providing more advanced control over
proxy bindings for evas filters from EDC.

Also fix proxy binding for filters.

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre f57929bf6e Evas filters: Fix blur from rgba to alpha 2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 4882788527 Evas filters: Reduce debugging with default compile opts
When using debug compile flags, full-on filter debug will happen.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre f3e16bc485 Evas filters: Implement Lua classes for colors & buffer
Reuse previous code for buffer. Keeps API stability.

The new class "color" is here for a more convenient color
representation. This way, colors can be represented in more
natural ways like: {r,g,b[,a]}, 0xaarrggbb, "red", "#rrggbb"

Class color is implemented in pure Lua, and adds a .lua file
to Evas' share folder.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 93797e3b0d Evas filters: Create specific log domain
This will improve the debug output of evas and specifically
allow setting "evas_filter" log level to a higher or lower
value depending on what you are debugging :)
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 225c0f937a Evas filters: Pass edje state name & value to the filters
From Edje, pass the current state info (name and value) as well
as the next state and the transition position when applicable.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 4ade39c0ea Evas filters: Pass object scale to Lua state 2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 70efb699a5 Evas filters: Implement table & function support for curve
Now the points can be specified by passing a table or a proper Lua
function. The previous functionality (parsing a string) is still
valid.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 1b2819f2cb Evas filters: Implement __index for Lua buffer objects 2015-06-25 14:36:08 +09:00
Jean-Philippe Andre ffea07a049 Evas filters: Pass text colors to the parser
This does not implement the full feature yet (Lua variable
is not set). This commit also brings various fixes.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre d148c0f0d2 Evas filters: Fix runtime, allow state change on the fly
Now we're ready to implement runtime changes to the filters'
state (color classes, edje state, etc...), as the Lua function
will be run whenver required.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre ed09b3af6d Evas filters: Add some @internal flags to the doxygen docs 2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 148a886cc7 Evas filters: Refactor parser code
This is to prepare the changeable states (animation, color, scale...)

- Remove use of Eina_Value (simplifies code)
- Use proper Lua type for buffers (with pretty __tostring)
   This adds the buffer methods: width, height, type, name, source
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre c25467ff5c Evas filters: Implement very basic print function 2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 8716be5193 Evas filters: Fix potential crash 2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 2faaef966e Evas filters: Add internal function _program_run
This will allow changing the state of the filter and re-run it
without re-creating the Lua_State object. This is to handle size,
color, animation state and scale changes (amongst other things).
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 8c47364846 Evas render: Fix rendering of objects with no_render
Well yeah, those objects should still be rendered in their
proxy or mask surface :)
2015-06-25 14:36:08 +09:00
Carsten Haitzler 7bb2871102 more evas render 2 work - should not affect normal behavior or code
paths unless turned on at runtime
2015-06-24 19:27:42 +09:00
Oleksandr Shcherbina c25900428d evas canvas3d: Correct Eolian namespace
Summary: Proceed fixing T2479

Reviewers: cedric, tasn

Subscribers: cedric, tasn

Maniphest Tasks: T2479

Differential Revision: https://phab.enlightenment.org/D2723
2015-06-19 10:39:58 +01:00
Chris Michael ac6a918644 evas-render2: Fix Coverity CID1306141: Dereference null return value
Summary: Coverity reports that eina_thread_queue_wait was returning
NULL and thus msg variable being used here causes dereferencing a null
pointer.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-18 10:24:40 -04:00
Oleksandr Shcherbina d409df1caa evas: change interface evas_3d to evas_canvas3d
Summary:
Regard to https://phab.enlightenment.org/T2479 it is need for right generation
Eolian files

Reviewers: cedric

Subscribers: cedric, tasn

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-17 17:52:17 +02:00
Cedric BAIL 9c36323c15 evas: properly handle cleanup case. 2015-06-16 17:23:04 +02:00
Jean-Philippe Andre 111e51a6ff Evas: Add "no-render" flag for proxy sources & clippers
Those objects should never be rendered on the canvas, even if they
are visible. On the other hand, they need to be rendered in mask or
proxy surfaces.

note: this patch includes some extra whitespaces changes :(

@feature
2015-06-15 16:59:41 +09:00
Ji-Youn Park 02faffe14b evas_event: evas_event_feed_mouse_cancel set EVAS_EVENT_FLAG_ON_HOLD
Evas_event_feed_mouse_cancel generates mouse up event if it meets situation witch mouse should be canceled.
but app also have to know this information. I add cancel information into evas up event generated by cancel function.
@fix
2015-06-12 23:10:07 +09:00
Subhransu Mohanty dc7611cd71 evas/vg : Fixed issue regarding geometry change of vg object. 2015-06-12 19:57:07 +09:00
Vaibhav Gupta a1545ec314 evas_smart: Add a check for zero size before malloc
Summary:
	Size may be zero while allocating interfaces private data,
	when NULL is passed in EVAS_SMART_SUBCLASS_IFACE_NEW for ifaces argument.

	If size is 0, then malloc() returns either NULL, or a unique pointer
	value that can later be successfully passed to free(). It is implementation
	dependent. This case would be likely to occur in case of smart classes with
	no interfaces.

@fix

Signed-off-by: Vaibhav Gupta <g.vaibhav1@samsung.com>

Reviewers: raster, Hermet, tasn, cedric

Subscribers: SanghyeonLee, sachin.dev, singh.amitesh, cedric

Differential Revision: https://phab.enlightenment.org/D2679
2015-06-12 09:47:13 +01:00
Jean-Philippe Andre c4a797ff6e Evas filters: Remove unnecessary copy of buffers
When doing blur from alpha to rgba, there was an extra copy
step added, that was not required.

This should improve the performance a little bit in this situation.
2015-06-12 16:53:54 +09:00
Jean-Philippe Andre 8b897144ac Evas filters: Fix blend with color with rgba buffers
- blend { color = red }
- blur { color = red }
were not working with RGBA input. This patch fixes that.

@fix
2015-06-12 16:53:14 +09:00
Daniel Kolesa 27237976ad eo: move all event doc comments to new syntax 2015-06-11 17:09:02 +01:00
Daniel Kolesa 786f848f67 evas,ecore_con: more struct/enum doc updates 2015-06-11 16:51:43 +01:00
Daniel Kolesa adbe4dcc06 edje,evas: convert type docs to new format 2015-06-11 16:14:37 +01:00
Tom Hacohen ec53cee9a6 Evas: Remove unused variables.
These were introduced in ed01a32c13.
2015-06-11 09:50:12 +01:00
Daniel Hirt ed01a32c13 evas: move evas_object_inject to super's ctor
Summary:
As we always call evas_object_inject in every Evas Object's ctcor,
it seems sensible to move this repeated bit of code to the super
(Evas.Object).

Test Plan: Expedite, Elementary_Test and pretty much everything

Reviewers: cedric, raster

Subscribers: JackDanielZ, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-11 09:58:13 +02:00
Carsten Haitzler 4730afdba0 evas - eo canvas events - move viewport to last to match enums in legacy 2015-06-11 10:52:33 +09:00
Tom Hacohen 2605eb3c15 Evas: Fix abi break in Evas_Callback_Type
You are not allowed to insert elements into an enum, except for at the
end!!!

Spank spank spank.

Was introduced in: 86751fdbaf
2015-06-10 15:36:28 +01:00
Tom Hacohen d10f9733ac Evas canvas: Fix Eolian warnings (migrate types). 2015-06-10 15:32:29 +01:00
Chris Michael cd4bb6a84d evas: Remove unused variables
Summary: These variables are actually unused here, so remove them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-09 09:08:47 -04:00
Stefan Schmidt 9434c0992c evas/evas_op_add_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267478, 1267480, 1267482, 1267486
2015-06-09 10:38:40 +02:00
Stefan Schmidt 0da6dbb159 evas/evas_op_mul_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267468, 1267471
2015-06-09 10:38:40 +02:00
Stefan Schmidt 9df111d766 evas/evas_op_mask_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267481, 1267485
2015-06-09 10:38:40 +02:00
Stefan Schmidt 64a60f32a9 evas/evas_op_copy_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267483, 1267484, 1267487, 1267488
2015-06-09 10:38:40 +02:00
Stefan Schmidt c4dd19c2df evas/evas_op_blend_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267469, 1267470, 1267473, 1267474
2015-06-09 10:38:40 +02:00
Stefan Schmidt 85e5e9da5b evas/evas_op_sub_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267476, 1267477, 1267479, 1267489
2015-06-09 10:38:40 +02:00
Carsten Haitzler 25983dcedd evas render2 work - begin to make rectangles deal with render 2 basic
infra
2015-06-09 17:34:39 +09:00
Stefan Schmidt b1709917c5 eavs_3d: Avoid enum check for < 0
Evas_3D_Mesh_Primitive is a enum starting from 0 so it never will be below 0.
Just as the compiler tells us. Remove unneeded check.
lib/evas/canvas/evas_3d_primitive.c:48:4: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
2015-06-08 17:09:38 +02:00
Avi Levin 24b786462a evas_clickable_interface: adding new event 2015-06-07 11:00:52 +03:00
Avi Levin 7d493fb420 evas: porting evas smart callbacks to eo 2015-06-07 11:00:52 +03:00
Tom Hacohen 20934fa03d Evas 3d texture: Fix some Eolian warnings. 2015-06-04 10:16:14 +01:00
Tom Hacohen 183541cc75 Evas image: Fix some Eolian warnings. 2015-06-04 10:16:14 +01:00
Tom Hacohen b9a3b06984 Evas canvas: Fix some Eolian warnings. 2015-06-04 10:16:14 +01:00
Cedric BAIL 408fc6237e evas: silence warning.
So I don't like this data being void and stride being in bytes, but changing it
for silencing a warning will be a massive change. I will put that on the major
cleanup that Evas_3D need to receive.
2015-06-03 18:17:23 +02:00
Ivan Furs a88aebe8cc evas: for aabb add interpolation frame when base frame is not found
Summary:
Old algorithm searched specified frame of the base frame and when it could not find the specified frame it ignored. So the bounding box was not synchronized with the object.
New algorithm always returns specified base frame or frame interpolation between the nearest base frames. That does synchronizes mesh object and his bounding box.

Reviewers: Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-03 17:14:12 +02:00
Bogdan Devichev 8369dfd28f evas_3d: fix coverity scan CID 1302703 and CID 1302702
Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2613
2015-06-03 21:26:34 +09:00
Tom Hacohen 6190f3cb46 Edje object: Fix more Eolian warnings. 2015-06-03 11:30:41 +01:00
Dongyeon Kim 3e39bf3638 Evas GL: support surfaceless make current
Summary:
Evas GL now supports surfaceless make current, where
evas_gl_make_current can be called with sfc parameter NULL.
This closely resembles EGL_KHR_surfaceless_context extension,
where applications that only want to render to client API targets
can make current to NULL surface instead of creating a dummy egl surface.
@feature
2015-06-03 11:30:22 +09:00
Tom Hacohen 87e7d2f200 Eo types: Fix Eina.Rectangle's namespace. 2015-06-01 14:04:09 +01:00
Tom Hacohen 5e43550937 Evas table: Migrate types to .eo files. 2015-06-01 12:12:03 +01:00
Tom Hacohen 72488cb26b Evas box: Migrate (some) types to .eo files. 2015-06-01 11:47:37 +01:00
Tom Hacohen dd6bb93ba0 Evas textgrid: Migrate types to .eo files. 2015-06-01 11:33:59 +01:00
Tom Hacohen 37b130b934 Evas grid: Migrate types to .eo files. 2015-06-01 11:17:22 +01:00
Tom Hacohen 82f6dff7d7 Evas smart: Migrate types to .eo files. 2015-06-01 11:16:22 +01:00
Tom Hacohen 9eef6deea9 Evas polygon: Migrate types to .eo files. 2015-06-01 11:06:48 +01:00
Tom Hacohen 5a64c11bde Evas textblock: Migrate types to .eo. 2015-06-01 11:04:10 +01:00
Tom Hacohen b2370c4766 Evas text: Migrate types to .eo. 2015-06-01 11:04:10 +01:00
Tom Hacohen 49b2998bb4 Evas common interface: Add a workaround for Eolian issue.
This should be fixed properly once Eolian supports forward class
declarations.
2015-06-01 10:34:08 +01:00
Tom Hacohen 57e7af6673 Evas: Migrate more types to Eolian. 2015-06-01 10:34:08 +01:00
Tom Hacohen 79083ed3af Evas types: Fix inclusion of evas types from the right location.
My system was dirty and it was already installed in the right place.
Now it works as expected.

Reported on IRC by batden.
2015-05-29 16:42:34 +01:00
Cedric BAIL 0acf23857f eina: beginning of a generic quaternion API. 2015-05-29 17:20:29 +02:00
Tom Hacohen 8a6e542fef Evas map: Move opaque type definition to .eo. 2015-05-29 15:00:22 +01:00
Tom Hacohen edd361b420 Evas: Move evas aspect control to eolian and start using it. 2015-05-29 14:52:33 +01:00
Tom Hacohen 0574663780 Evas: Move evas coord to eolian and start using it. 2015-05-29 14:49:28 +01:00
Tom Hacohen bfe92631c6 Evas: Add a general evas types header. 2015-05-29 14:46:16 +01:00
Tom Hacohen 5aedcdb591 Evas object: Use correct type in .eo file.
When we want an Evas_Object in Eo files, we should use Evas.Object.
2015-05-29 11:39:03 +01:00
Tom Hacohen 52d998f475 Eo base: Remove the free_func parameter from key_data_set.
This was not really useful and against the Eolian guidelines.
While I promised I won't break things until the 27th, I was ill
(still am), so I'm giving myself a 1 day pass. :P
2015-05-28 17:47:59 +01:00
Mike Blumenkrantz 29cf9abfc6 evas: make image_size_get() return the actual image size
proxy/3d/etc images would previously return 0x0, breaking size calcs

@fix

@jpeg
2015-05-27 22:16:22 -04:00
Carsten Haitzler cc49c1702b evas - fix yuv support to no longer ignore 709 colorspace params
if yuou use 709 instead of 601 yuv (ycbcr) evas will just be wrong and
use 601. this fixes that and implements 709. it also fixes a scaling
bug for yuv in the gl engine. no one noticed but me, so i won't call
this a bug fix, and it can go into the next efl release - no need to
backport unless it actually bothers peolpe (which it seemingly doesn't)
2015-05-27 20:19:46 +09:00
Subodh Kumar 77e3ac7f82 Evas textblock: Add underline height support
Summary:
For showing text error like spell error thick underline is used hence added the underline height support.

@feature

Test Plan: test case added in evas textblock test.

Reviewers: raster, shilpasingh, tasn

Subscribers: govi, rajeshps, cedric

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

TAsn comment: I wonder if the format should be renamed to
underline_relheight instead of height. If you have any thoughts, please
let me know.
2015-05-27 11:18:19 +01:00
se.osadchy 684c51360f evas: fix color pick compatibility of Evas_3D with GLES.
Summary:
Use fourth component texture. Update mechanism generation pixels, scene renderer
to texture and geting color pixels from texture. Update shader for color pick.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: Oleksander, cedric

Differential Revision: https://phab.enlightenment.org/D2549
2015-05-27 00:31:07 +02:00
Bogdan Devichev 6dac83e643 evas: add API for creation Evas_3D node primitives.
Summary: Now mechanism of creation of primitives is similar to model loading.

Reviewers: Oleksander, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:07 +02:00
Ivan Furs ab147386ad evas: fix errors when updating the bounding box of Evas_3d_Node.
Summary:
For calculation 'aabb' need  to know how mesh was transformed.
So for  primary data of mesh was calculate all transformation.

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:06 +02:00
Daniel Kolesa 9214fa3db9 eolian: disallow cyclic dependencies between .eo files
Eo files will now fail to compile if a cycle is detected.

This required some temporary changes in existing eo files
(we had 2 cycles) for which I added a FIXME (they do not
affect C generation).

@feature
2015-05-22 15:03:38 +01:00
MinJeong Kim 344f17a03d evas_object_textblock: fix dereference before null check
Summary:
Fix coverity CID 1270031 Dereference before null check
@fix

Reviewers: devilhorns, zmike, raster, tasn

Reviewed By: tasn

Subscribers: tasn, cedric

Differential Revision: https://phab.enlightenment.org/D2522
2015-05-21 08:48:56 +01:00
Mike Blumenkrantz b7c89d2325 evas: add keysym member to key event structs
@feature
2015-05-20 14:58:31 -04:00
Daniel Kolesa 378e161cd3 eolian: remove @const_get occurences in the EFL 2015-05-20 17:48:52 +01:00
Tom Hacohen 92fb2917cb Eo: Remove eo_error_set() and clean up finalizer()
This is another cleanup in perparation for the Eo stable release.
This is no longer needed thanks to the proper error reporting with
eo_constructor()'s new return value.

The finalizer change cleans it up a bit so it catches more cases/issues.
This also means that the finalizer cleans up the object in all cases,
and not only some.

@feature.
2015-05-20 16:25:38 +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 3df93cca7d eolian: Eina_Bool -> bool 2015-05-18 16:25:59 +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
Amitesh Singh 86751fdbaf evas: New Evas Callback added when viewport is resized.
Summary: @feature

Reviewers: seoz, Hermet, cedric, raster

Subscribers: seoz, cedric, sachin.dev

Differential Revision: https://phab.enlightenment.org/D2526
2015-05-18 20:10:27 +09:00
Carsten Haitzler bd1d996545 evas font draw - fix up some whitespace/indenting/formatting 2015-05-18 17:13:38 +09:00
ChunEon Park f3c78cd69e evas canvas: fix insane mouse move events on proxy source.
There is no need compare - transformed mouse pos and origin pos.
This compare just block the mouse move event trigger on source.

@fix
2015-05-16 00:34:28 +09:00
Cedric BAIL 46e1ffd257 evas: use portable environment lookup. 2015-05-14 18:41:48 +02:00
ChunEon Park 3c7188ec20 evas canvas: add exceptional handling in invalid input case.
@fix
2015-05-14 19:50:50 +09:00
Carsten Haitzler 8a101cd8f0 efl - add more evlog points
@feature
2015-05-14 17:35:22 +09:00
Yury Usishchev 835c393d17 evas: add support for BUILD_NEON_INTRINSICS to evas_convert_rgb_32.c
Summary: This fixes build for aarch64 when TILE_ROTATE is disabled and BUILD_NEON is enabled(it is enabled by default for aarch64 since https://phab.enlightenment.org/D2309).

Reviewers: cedric, raster

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Oleksandr Shcherbina fc4f755c28 evas: fix coverity CID 1297159 and CID 1297158.
Reviewers: Hermet, b.devichev, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Carsten Haitzler f6a39ab571 evas grid smart - fix coord overflows when grid size and vsize are large
if your virtual size is fairly big AND your actual object size is also
big, you easily overflow a signed int for intermediate coordinate
calculations, resulting in seeing only a small fractin of your objects
correctly. this fixes that by expanding up to long longs internally to
allow for the added space needed for the multiplications

@fix
2015-05-13 22:25:09 +09:00
Jean-Philippe Andre 3e31ad27da Evas filters: Disable excessive debug 2015-05-13 10:24:24 +09:00
Daniel Kolesa 3dc27cb482 eolian: fix up remaining doc comments in the tree 2015-05-11 15:38:03 +01:00
Daniel Kolesa 8c51033d49 eolian: fix doc comments across the tree 2015-05-11 15:38:03 +01:00
Subhransu Mohanty d82c0ae1bf evas/canvas : Call correct engine function for setting clip color 2015-05-09 19:59:00 +09:00
ChunEon Park 1c063e85d2 evas vector: remove white trailings 2015-05-08 20:51:52 +09:00
Subhransu Mohanty 8f55ac7550 evas/canvas: Null check for base class data pointer. 2015-05-08 20:40:28 +09:00
ChunEon Park e08b942ffd evas vector: cancel the transformation when null is passed. 2015-05-08 20:38:56 +09:00
Daniel Kolesa ed0988a22d eolian: change all EFL .eo files to use new syntax for properties 2015-05-07 16:36:58 +01:00
Cedric BAIL 45bba2439d evas: do not cast uint64x1_t to int in evas_common_convert_argb_premul
Summary:
In GCC 5.1 arm_neon header for aarch64 was changed. It is not possible anymore to silently cast uint64x1_t to int.

So replace cast with proper getter function to avoid following error:
lib/evas/common/evas_convert_color.c:50:18: error: incompatible types when assigning to type 'DATA32 {aka unsigned int}' from type 'uint64x1_t'
nas += vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp)));

Reviewers: raster, cedric, devilhorns

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:12 +02:00
Cedric BAIL ad1076525a evas: implement _op_blend_rel_mas_c_dp_neon using NEON intrinsics
Summary: NEON intrinsics can be built both for armv7 and armv8.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00
Cedric BAIL 2c2983aadb evas: implement _op_blend_rel_{p,pan}_dp_neon using NEON intrinsics
Summary: NEON intrinsics can be built both for armv7 and armv8.

Reviewers: raster, cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00