Rafael Antognolli [Thu, 26 Sep 2013 16:49:18 +0000 (13:49 -0300)]
evas/image: Add video surface caps.
Wayland subsurfaces can be used as video surfaces too, similarly to
Ecore_X windows. However, they support a different set of features. Some
of them, like subsurface clipping and scaling, might be added in the
future, but so far we must work with what we have.
This commit allows to set an enum bitfield to the Video_Surface, with
the default value being one that will keep the same behavior as before,
for Ecore_X window. Thus, backward compatibility should not be broken.
It's possible to inform Evas that the surface in question is not able to
resize or scale, or that it's above or below the original canvas
surface. This allows Evas to show the surface itself, or use a buffer of
pixels instead, when the capabilities are not available.
Rafael Antognolli [Tue, 1 Oct 2013 18:35:09 +0000 (15:35 -0300)]
evas/image: Delay some video overlay operations.
If we are running on async render, some operations must be delayed, so
they will happen at the same time that the canvas rendering result gets
updated on the window/surface.
Rafael Antognolli [Mon, 23 Sep 2013 20:44:08 +0000 (17:44 -0300)]
evas/image: Take framespace into account when moving video surface.
Rafael Antognolli [Thu, 5 Sep 2013 21:10:50 +0000 (18:10 -0300)]
ecore/wayland: Add subsurface handling APIs.
Rafael Antognolli [Sat, 31 Aug 2013 18:20:22 +0000 (15:20 -0300)]
ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland.
Rafael Antognolli [Wed, 7 Aug 2013 21:05:55 +0000 (18:05 -0300)]
adding wayland subsurfaces protocol file.
Cedric Bail [Fri, 4 Oct 2013 03:49:02 +0000 (12:49 +0900)]
eina: handle more compiler strangeness for bswap.
So current order is :
- __builtin_bswap*() for compiler that provide it
- _byteswap_*() for MSVC
- bswap_*() for older Linux and some BSD
- own C code when everything else fall appart.
The reason for this order is that the builtin will always generate
the best assembly possible. On my system bswap_*() are not changing
in all version to the best solution as they are almost equivalent to
the C macro.
Cedric Bail [Fri, 4 Oct 2013 00:54:27 +0000 (09:54 +0900)]
eina: in case of an error we should exit not continue and manipulate dead data.
This should fix a warning catched by LLVM/Clang.
Tom Hacohen [Thu, 3 Oct 2013 17:45:07 +0000 (18:45 +0100)]
Revert "evas/textblock - null check."
I'm sorry, but those kind of commit messages are unacceptable for code
I'm the only maintainer of. It's bad enough that to have them in the
project in general, but this I won't accept.
I wanted to review this commit, but the lack of explanation about what
you are trying to fix and why you think this is the good fix prevents me
from doing my job. However, without really looking too much into it,
this commit looks wrong. evas_textblock_cursor_format_is_visible_get
should verify there's a format node...
Please come up with a better commit message and re-commit.
This reverts commit
fe33aa74084aa383fb880ce9a32fa17663c41346.
ChunEon Park [Thu, 3 Oct 2013 17:43:20 +0000 (02:43 +0900)]
evas/textblock - null check.
ChunEon Park [Thu, 3 Oct 2013 16:58:35 +0000 (01:58 +0900)]
eina/eina_file - fix eina_file_map_lines() to not drop of one character in the last line.
Cedric Bail [Wed, 2 Oct 2013 11:52:59 +0000 (20:52 +0900)]
evas: more fix for ellipsis.
This one fix size of the object that didn't take into account the style
of the text since we added the support of ellipsis in Evas. It also
correctly detect when we insert an ellipsis in the text to relayout
properly on resize.
Cedric Bail [Wed, 2 Oct 2013 10:07:48 +0000 (19:07 +0900)]
evas: we actually need to take those additional value into account.
Cedric Bail [Wed, 2 Oct 2013 09:33:32 +0000 (18:33 +0900)]
eina: update the ChangeLog and NEWS.
Cedric Bail [Wed, 2 Oct 2013 09:32:18 +0000 (18:32 +0900)]
ecore_ipc: use the new eina_swap*().
Cedric Bail [Wed, 2 Oct 2013 09:31:10 +0000 (18:31 +0900)]
eina: add infrastructure to handle more CPU and compiler builtin information.
Tom Hacohen [Wed, 2 Oct 2013 10:41:41 +0000 (11:41 +0100)]
Evas Textblock: Use font underline properties.
This change causes textblock to use the font properties when drawing
underline.
Tom Hacohen [Tue, 1 Oct 2013 15:42:48 +0000 (16:42 +0100)]
Evas font: Added functions to query the underline properties.
This will let us query the position and thickness as requested by the font.
Carsten Haitzler (Rasterman) [Wed, 2 Oct 2013 08:06:26 +0000 (17:06 +0900)]
evas - more deadlocks found. fixed.
Carsten Haitzler (Rasterman) [Wed, 2 Oct 2013 07:32:33 +0000 (16:32 +0900)]
evas - fix deadlock in preload that we seemm to never have hit before...
Cedric Bail [Wed, 2 Oct 2013 02:02:05 +0000 (11:02 +0900)]
evas: fix Evas_Object_Text alignment with ellipsis.
U. Artie Eoff [Tue, 1 Oct 2013 20:53:29 +0000 (13:53 -0700)]
examples/ecore: don't use ECORE_CON_LIBS
We can't use ECORE_CON_LIBS at the examples/ "make" context
since it defines libraries relative to the src/ directory
(e.g. lib/ecore/libecore.la). Use ECORE_CON_COMMON_LDADD instead.
This fixes the following link error with ecore_fd_handler_gnutls_example
when the project is configured with --with-crypto=gnutls:
libtool: link: cannot find the library `lib/ecore/libecore.la'
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
U. Artie Eoff [Tue, 1 Oct 2013 20:40:10 +0000 (13:40 -0700)]
examples/ecore: ecore_pipe_gstreamer_example must go in HAVE_GSTREAMER guard
Only specify ecore_pipe_gstreamer_example in EXTRA_PROGRAMS inside the
HAVE_GSTREAMER makefile guard.
Fixes: https://phab.enlightenment.org/T423
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
Carsten Haitzler (Rasterman) [Tue, 1 Oct 2013 11:44:48 +0000 (20:44 +0900)]
evas - clean up tiler code a lot and remove old commented out stuff
Carsten Haitzler (Rasterman) [Tue, 1 Oct 2013 06:23:04 +0000 (15:23 +0900)]
evas - try cleanup pipe_region_intersects again.. this time without bugs.
Cedric Bail [Tue, 1 Oct 2013 11:34:03 +0000 (20:34 +0900)]
evas: fix some ellipsis case.
Cedric Bail [Tue, 1 Oct 2013 08:24:37 +0000 (17:24 +0900)]
evas: try to set EAPI correctly.
Cedric Bail [Tue, 1 Oct 2013 06:29:38 +0000 (15:29 +0900)]
evas: reduce number of relayout of text object to the strict minimum.
Vincent Torri [Sat, 28 Sep 2013 12:28:41 +0000 (14:28 +0200)]
evas: add JPEG 2000 loader.
This add finally support for JPEG 2000, but be aware that libopenjpeg
is very badly managed. There is currently only version 1.5.x that does
provide the right files, is usable by a third party and portable. You
can seriously forget any other version.
Cedric Bail [Tue, 1 Oct 2013 07:38:01 +0000 (16:38 +0900)]
evas: make Evas_Loader.h a real public API.
Tom Hacohen [Mon, 30 Sep 2013 15:15:16 +0000 (16:15 +0100)]
Evas textblock: Moved relayout checks to a function.
This cleans up the code a bit and makes it a bit simpler.
Carsten Haitzler (Rasterman) [Mon, 30 Sep 2013 14:31:37 +0000 (23:31 +0900)]
update po's
Carsten Haitzler (Rasterman) [Mon, 30 Sep 2013 14:29:54 +0000 (23:29 +0900)]
evas - improve textblock logic to reduce num of layouts when used - faster
when using genlist and the edje item objects, there seem to be a lot
of excess textblock layouts happening. i was seeing about 12 layouts per tb
part in the edje before this patch. with this it's down to about 3.
Tom Hacohen [Mon, 30 Sep 2013 13:32:47 +0000 (14:32 +0100)]
Eo: Don't compare desc to NULL as it can never be NULL at that stage.
Fixes coverity CID1039420.
Tom Hacohen [Mon, 30 Sep 2013 13:28:38 +0000 (14:28 +0100)]
Eina inlist: Removed redundant if in EINA_INLIST_FOREACH_SAFE.
If it is not NULL, so will EINA_INLIST_GET. As that returns a pointer to an
area after it.
Tom Hacohen [Mon, 30 Sep 2013 13:16:46 +0000 (14:16 +0100)]
Eo callbacks: Fix a possible issue of corrupted callback list.
This happens when we delete more than one callback at the beginning
of the list (i.e 2 or more) in one go.
Tom Hacohen [Mon, 30 Sep 2013 13:15:37 +0000 (14:15 +0100)]
Eo: Don't write to pointer after free.
Fixes coverity: CID 1039898.
Tom Hacohen [Mon, 30 Sep 2013 13:10:21 +0000 (14:10 +0100)]
Eo: don't va_start without a matching va_end.
Fixes coverity CID1099707.
Tom Hacohen [Mon, 30 Sep 2013 13:07:20 +0000 (14:07 +0100)]
Eo: don't va_start without a matching va_end.
Fixes coverity CID1099708.
Stefan Schmidt [Mon, 30 Sep 2013 08:48:34 +0000 (09:48 +0100)]
evas/textblock: Remove null statement.
Cedric BAIL [Sun, 29 Sep 2013 11:14:45 +0000 (13:14 +0200)]
evas: let's inline data to get a little speedup when matching kerning.
Cedric BAIL [Sun, 29 Sep 2013 11:14:22 +0000 (13:14 +0200)]
evas: let's micro optimize the parsing of format.
Only the key is worth being a stringshare as it is used to do an efficient
binary comparison instead of iterating over all possibility. Also reused
some already known value and a few other speedup.
ChunEon Park [Sun, 29 Sep 2013 08:30:55 +0000 (17:30 +0900)]
evas/canvas - code refactoring. more clean code.
Daniel Zaoui [Sun, 29 Sep 2013 06:34:03 +0000 (09:34 +0300)]
Reduce the number of deleted objects to reduce the number of expected error prints
Daniel Zaoui [Sun, 29 Sep 2013 05:50:32 +0000 (08:50 +0300)]
Eo: fix when detaching the composite of its parent ... that has to exist
Tom Hacohen [Fri, 27 Sep 2013 16:21:08 +0000 (17:21 +0100)]
Eo: merge _eo_obj_dov_internal and _eo_class_dov_internal.
They are the same except for really minor differences.
Tom Hacohen [Fri, 27 Sep 2013 16:01:51 +0000 (17:01 +0100)]
Eo: get rid of eo_class_do(_super) which we don't need anymore.
We now completely use eo_do(_super), so those are not needed.
Tom Hacohen [Fri, 27 Sep 2013 15:50:34 +0000 (16:50 +0100)]
Eo: class_get on a class should not return itself.
This is there until we create a Class class of which all classes are
instances.
Tom Hacohen [Fri, 27 Sep 2013 15:44:00 +0000 (16:44 +0100)]
Eo tests: Fixed wrong prototype in one of the tests in the suite.
Tom Hacohen [Fri, 27 Sep 2013 15:26:25 +0000 (16:26 +0100)]
Revert "eo: libs,test,benchmarks Eo_Class -> Eo"
This reverts commit
1714fe93f42d6950171d0ab9069bfb808a62fd31.
We actually want this type, it makes things clearer.
Conflicts:
src/tests/eo/function_overrides/function_overrides_inherit2.c
src/tests/eo/function_overrides/function_overrides_simple.c
src/tests/eo/suite/eo_test_class_simple.c
Tom Hacohen [Fri, 27 Sep 2013 15:38:15 +0000 (16:38 +0100)]
Manually revert "eo: replace Eo_Class with Eo"
This reverts commit
ee1b0833ed28b47812407a8a6f019a80f9868bfa
I did it manually because the code changed too much.
We actually want this type, it makes things more clear and easier to
understand.
Tom Hacohen [Fri, 27 Sep 2013 11:27:00 +0000 (12:27 +0100)]
Eo: Fixed the type _eo_id_get accepts.
Tom Hacohen [Fri, 27 Sep 2013 11:10:43 +0000 (12:10 +0100)]
Eo: Explicitly include Eina.h in eo_private.h.
It's uses eina stuff, we can't just assume eina is already included.
Tom Hacohen [Fri, 27 Sep 2013 11:09:14 +0000 (12:09 +0100)]
Eo: Get rid of the _Eo type, it's not needed.
We have Eo_Base for that.
Tom Hacohen [Fri, 27 Sep 2013 11:07:26 +0000 (12:07 +0100)]
Eo: Use __FILE__ and __LINE__ instead of random values.
Tom Hacohen [Fri, 27 Sep 2013 11:01:30 +0000 (12:01 +0100)]
Eo: Rename Eo_Header to Eo_Base.
Tom Hacohen [Fri, 27 Sep 2013 10:50:41 +0000 (11:50 +0100)]
Eo: Added an Eo_Class type just for compat. Should be removed.
Tom Hacohen [Fri, 27 Sep 2013 10:13:14 +0000 (11:13 +0100)]
Eo: Get rid of handle. Use the shared header for detection.
Tom Hacohen [Fri, 27 Sep 2013 09:59:41 +0000 (10:59 +0100)]
Eo: Merge common part of class and object.
First step toward getting rid of "handle".
Tom Hacohen [Fri, 27 Sep 2013 09:50:06 +0000 (10:50 +0100)]
Eo: Class_Id and Object_Id are now the same type.
Tom Hacohen [Wed, 25 Sep 2013 17:10:03 +0000 (18:10 +0100)]
Eo: unify the class func and normal func prototypes.
Conflicts:
src/lib/eo/eo.c
Tom Hacohen [Wed, 25 Sep 2013 16:48:42 +0000 (17:48 +0100)]
Eo: Fixed unused warnings when have EO_ID.
Jérémy Zurcher [Thu, 26 Sep 2013 22:40:09 +0000 (00:40 +0200)]
eo: ojb_ref -> class_ref
Jérémy Zurcher [Thu, 26 Sep 2013 22:38:15 +0000 (00:38 +0200)]
eo: eo_do_super_internal() supports objects and classes
eo_class_do_super() macro calls eo_do_super()
eo_class_do_super_internal() and _eo_class_op_internal() are removed
Conflicts:
src/lib/eo/eo.c
Jérémy Zurcher [Thu, 26 Sep 2013 22:13:31 +0000 (00:13 +0200)]
eo: eo_class_get() supports objects and classes
Jérémy Zurcher [Thu, 26 Sep 2013 22:13:00 +0000 (00:13 +0200)]
eo: eo_class_name_get() supports objects and classes
Jérémy Zurcher [Thu, 26 Sep 2013 22:11:19 +0000 (00:11 +0200)]
eo: eo_vdo_internal() supports objects and classes
Conflicts:
src/lib/eo/Eo.h
src/lib/eo/eo.c
Jérémy Zurcher [Thu, 26 Sep 2013 22:02:30 +0000 (00:02 +0200)]
eo: eo_do_internal() supports objects and classes
eo_class_do() macro calls eo_do()
eo_class_do_internal() is removed
op_type argument is remove from eo_do, eo_vdo_internal
Conflicts:
src/lib/eo/eo.c
Jérémy Zurcher [Thu, 26 Sep 2013 21:33:19 +0000 (23:33 +0200)]
eo: add union _Eo to unify objects and classes internal pointers
Jérémy Zurcher [Thu, 26 Sep 2013 21:32:43 +0000 (23:32 +0200)]
eo: add _eo_is_a_class(const Eo *obj_id)
Jérémy Zurcher [Thu, 26 Sep 2013 21:31:39 +0000 (23:31 +0200)]
eo: _Eo -> _Eo_Object
Conflicts:
src/lib/eo/eo.c
Jérémy Zurcher [Thu, 26 Sep 2013 21:14:39 +0000 (23:14 +0200)]
eo: libs,test,benchmarks Eo_Class -> Eo
Conflicts:
src/tests/eo/suite/eo_test_general.c
Jérémy Zurcher [Thu, 26 Sep 2013 21:13:57 +0000 (23:13 +0200)]
eo: replace Eo_Class with Eo
Jérémy Zurcher [Thu, 26 Sep 2013 21:12:48 +0000 (23:12 +0200)]
eo: if HAVE_EO_ID use MBS to tag Eo_Id
a bit is taken from generation bits to tag objects references so that we
know if a Eo* is a class or an object
Jérémy Zurcher [Thu, 26 Sep 2013 21:12:06 +0000 (23:12 +0200)]
eo: if !HAVE_EO_ID front-pad _Eo_Class and _Eo_Object with _Eo_Handle
this is the first step on the road to remove class specific EAPI from Eo.h
using this handle we will know if a Eo* is a class or an object pointer
Conflicts:
src/lib/eo/eo.c
Carsten Haitzler (Rasterman) [Fri, 27 Sep 2013 08:57:41 +0000 (17:57 +0900)]
Revert "evas gl engine - simplify and optimise pipe region intersection checks."
This reverts commit
d4861504127c8a2d7375b076c18c22086914e94c.
Tom Hacohen [Thu, 26 Sep 2013 15:57:37 +0000 (16:57 +0100)]
Evas image: Moved a variable decl into the ifdef.
This variable is only ever used in the ifdef so there it should
reside.
Tom Hacohen [Thu, 26 Sep 2013 15:06:46 +0000 (16:06 +0100)]
Eo: remove the classe's EINA_MAGIC when using eo_id.
Chris Michael [Thu, 26 Sep 2013 07:35:22 +0000 (08:35 +0100)]
Fix doxy typo/grammar
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Carsten Haitzler (Rasterman) [Thu, 26 Sep 2013 10:19:50 +0000 (19:19 +0900)]
evas gl engine - simplify and optimise pipe region intersection checks.
Mike Blumenkrantz [Thu, 26 Sep 2013 08:02:54 +0000 (09:02 +0100)]
edje swallowing on the currently-swallowed part, which is a noop, now once again returns true
Cedric Bail [Thu, 26 Sep 2013 06:51:02 +0000 (15:51 +0900)]
gitignore: do not track generated files.
Cedric Bail [Thu, 26 Sep 2013 06:04:21 +0000 (15:04 +0900)]
eina: improve benchmark logic to be able to choose which one to run.
Note: Eina_Hash benchmark is not really matching all our usecase.
We need a better tests that would expand the bench with a wider range
of key size. Basically giving a 3d dimension to our gnuplot. Don't know
if it is doable.
Cedric Bail [Thu, 26 Sep 2013 05:51:54 +0000 (14:51 +0900)]
eina: check if the complete hash match before checking if the key match during children walk.
This give an interesting +15% for all Eina_Hash user whatever hash function they use. The inlined
djb2 is still the fastest one and all other give very close result.
This idea was given by Lucas De Marchi's blog :
http://www.politreco.com/2013/09/optimizing-hash-table-with-kmod-as-testbed/
I do believe that rolling a crc32 implementation as a hash function should give interesting result
in our test.
Ryuan Choi [Thu, 26 Sep 2013 04:04:37 +0000 (13:04 +0900)]
configure: Add evas to ETHUMB_CLIENT_INTERNAL_LIBS
It is to fix possible build break of ethumb_client after
b3749450
Lucas De Marchi [Thu, 26 Sep 2013 01:51:03 +0000 (22:51 -0300)]
Revert "eina: add functions to alloc strings from a printf fmt"
This reverts commit
b5fce696c743c50ea0a049c4f879756b5ed231d4 and fixes
to NEWS and @since that came later.
These functions are pretty trivial and their functionality can be
obtained with asprintf() and snprintf. The first is not available only
on windows, but there's an implementation for that one on Evil, that
should be used instead.
Tom Hacohen [Wed, 25 Sep 2013 14:05:01 +0000 (15:05 +0100)]
Evas font: Fixed evas_font_path_* functions to apply to fontconfig.
Until now those were only used for custom fonts, and not for fontconfig
searches. With this commit, fontconfig will also start looking in those
dirs.
Tom Hacohen [Wed, 25 Sep 2013 13:53:37 +0000 (14:53 +0100)]
Evas font: Use our own custom fontconfig config.
This will make sure people that change the default config don't affect us.
Tae-Hwan Kim [Wed, 25 Sep 2013 09:29:23 +0000 (18:29 +0900)]
eina: add EINA_INLIST_REVERSE_FOREACH_FROM.
Vorobiov Vitalii [Wed, 25 Sep 2013 07:18:05 +0000 (16:18 +0900)]
edje: add text min and max getters/setter to edje_edit.
Cedric Bail [Wed, 25 Sep 2013 06:29:19 +0000 (15:29 +0900)]
eo: fix those anoying check.
Cedric Bail [Wed, 25 Sep 2013 04:32:56 +0000 (13:32 +0900)]
evas: update to new eo_parent_get/set API.
Cedric Bail [Wed, 25 Sep 2013 04:32:41 +0000 (13:32 +0900)]
ecore: update to new eo_parent_get/set API.
Cedric Bail [Wed, 25 Sep 2013 04:32:13 +0000 (13:32 +0900)]
eo: make eo_parent_get/set part of eo_base_class.
Carsten Haitzler (Rasterman) [Wed, 25 Sep 2013 04:05:41 +0000 (13:05 +0900)]
fix if obj->layer is null during shutdown
Jérémy Zurcher [Thu, 19 Sep 2013 07:48:19 +0000 (09:48 +0200)]
eo: rename _Eo_Internal -> _Eo_Object
Jérémy Zurcher [Wed, 18 Sep 2013 20:05:26 +0000 (22:05 +0200)]
eo: typedef uintptr_t Eo_Id; as Eo_Class_Id
Chris Michael [Tue, 24 Sep 2013 10:33:13 +0000 (11:33 +0100)]
Do not call actual wl_surface_commit unless we have a buffer attached.
NB: Fixes zmike multi-client problem
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 24 Sep 2013 10:32:52 +0000 (11:32 +0100)]
Add structure member to mark if window has an actual buffer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Tue, 24 Sep 2013 10:32:24 +0000 (11:32 +0100)]
evas render bug--
objects that were visible and marked as "render del" rects during render are now detected when they magically change visibility during the same render loop, fixing a very hard to reproduce E19 corner case related to fullscreen client rendering with nocomp disabled
<raster> for now all i can say is "put the patch in and lets see if things break"