platform/upstream/efl.git
10 years agoChangeLog: Put notice at the top for efl.
Stefan Schmidt [Tue, 11 Mar 2014 12:58:11 +0000 (13:58 +0100)]
ChangeLog: Put notice at the top for efl.

For reasons that are beyond me we have a different order for the ChangeLog
in EFL compared to the other repos. But its gone now anyway no need to feel
bad about it.

+1 karma for TAsn to point it out -1 karma for TAsn to force his name into
commit messages.

10 years agoeolian: regroup buffer allocation and read checks
Jérémy Zurcher [Tue, 11 Mar 2014 13:00:20 +0000 (14:00 +0100)]
eolian: regroup buffer allocation and read checks

10 years agoeolian: silence uninitialized var warning
Jérémy Zurcher [Tue, 11 Mar 2014 10:59:13 +0000 (11:59 +0100)]
eolian: silence uninitialized var warning

10 years agoChangeLog: Add forgetten out of date notice
Stefan Schmidt [Tue, 11 Mar 2014 12:41:55 +0000 (13:41 +0100)]
ChangeLog: Add forgetten out of date notice

I only added it to some of our repos but not all. Adding it now to make
it clear for people that this file is now longer updated

10 years agoevas/font: Added evas_font_path_global_* APIs.
Youngbok Shin [Tue, 11 Mar 2014 11:15:55 +0000 (11:15 +0000)]
evas/font: Added evas_font_path_global_* APIs.

Summary:
These APIs will be used for adding font paths for the application.
The existing APIs for font path, such as evas_font_path_append,
are used for adding font paths to the given evas.
But, these APIs will affect to every evas in the process.

Reviewers: tasn, woohyun, Hermet, seoz

CC: cedric, herdsman
Differential Revision: https://phab.enlightenment.org/D621

@feature

10 years agoEolian: Ship pc file.
Tom Hacohen [Tue, 11 Mar 2014 10:03:30 +0000 (10:03 +0000)]
Eolian: Ship pc file.

10 years agoEolian/Lexer: fix EOF issue.
Daniel Zaoui [Tue, 11 Mar 2014 08:05:02 +0000 (10:05 +0200)]
Eolian/Lexer: fix EOF issue.

When a new line was added before the last } in a .eo file, the parsing
was resulting in an error. It was due to the fact that some pointer
indicating the eof was not set when the parsing was done from memory.

10 years agoecore-drm: Add code to handle mouse input
Chris Michael [Tue, 11 Mar 2014 08:41:42 +0000 (08:41 +0000)]
ecore-drm: Add code to handle mouse input

@feature: Add support in ecore-drm for handling mouse movement, wheel,
and buttons.

This adds code to pass mouse events from linux input to ecore by
raising ecore_events (ecore_event_add).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add private structure to store mouse information in evdev
Chris Michael [Tue, 11 Mar 2014 08:41:08 +0000 (08:41 +0000)]
ecore-drm: Add private structure to store mouse information in evdev

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas: Replace EINA_LIST_FOREACH_SAFE to while statement.
WooHyun Jung [Tue, 11 Mar 2014 07:34:56 +0000 (16:34 +0900)]
evas: Replace EINA_LIST_FOREACH_SAFE to while statement.

Clipees can be cleared before the loop is finished because
evas_object_clip_unset calls smart function of clip_unset.
So, if we use EINA_LIST_FOREACH_SAFE, invalid next list pointer
can be kept and read after obj->clip.clipees is freed.

Thanks to Davide Andreoli for reporting.

@fix

10 years agoEolian: Integration of Evas Table
Yossi Kantor [Mon, 10 Mar 2014 12:13:06 +0000 (14:13 +0200)]
Eolian: Integration of Evas Table

10 years agoEolian: Integration of Evas Smart Clipped
Daniel Zaoui [Mon, 10 Mar 2014 15:06:46 +0000 (17:06 +0200)]
Eolian: Integration of Evas Smart Clipped

10 years agoEolian: Support of unsigned short as int in va_arg
Yossi Kantor [Mon, 10 Mar 2014 11:35:11 +0000 (13:35 +0200)]
Eolian: Support of unsigned short as int in va_arg

10 years agoEolian: Integration of Evas Smart
Daniel Zaoui [Mon, 10 Mar 2014 09:55:22 +0000 (11:55 +0200)]
Eolian: Integration of Evas Smart

10 years agoeina-cxx: Fixes compilation errors and warnings in clang
Felipe Magno de Almeida [Tue, 11 Mar 2014 01:07:17 +0000 (10:07 +0900)]
eina-cxx: Fixes compilation errors and warnings in clang

Summary: @fix compilation errors with defining variable and type on the same statement on clang without a default-constructor. Also removed warnings with inconsistent uses of struct/class for forward declaration and unused parameters.

Reviewers: cedric, stefan_schmidt

CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D622

10 years agoeolian: generate eo_lexer.c with ragel if available
Jérémy Zurcher [Mon, 10 Mar 2014 17:14:16 +0000 (18:14 +0100)]
eolian: generate eo_lexer.c with ragel if available

10 years agoEina Log: Fixed ABI break introduce by the addition of 'color'.
Tom Hacohen [Mon, 10 Mar 2014 16:50:03 +0000 (16:50 +0000)]
Eina Log: Fixed ABI break introduce by the addition of 'color'.

ABI break was introduced here 5913ce7ec87beb267d2d02846e5267eae08ef860

Always add new members at the end of public structures.

10 years agoEvas font: Don't add canvas specific path to the global fontconfig path list.
Tom Hacohen [Mon, 10 Mar 2014 16:15:28 +0000 (16:15 +0000)]
Evas font: Don't add canvas specific path to the global fontconfig path list.

This will come back when D621 gets in (which implements it correctly).

10 years agoEolian: fix for nightly make distcheck.
Daniel Zaoui [Mon, 10 Mar 2014 14:46:45 +0000 (16:46 +0200)]
Eolian: fix for nightly make distcheck.

Hmm, I forgot to add some .eo files to the EXTRA_DIST so they have not been
added inside the archive.
Eolian couldn't generate C files because of these missing files.

10 years agoEvas textblock: Fix clipping issues with some texts with width > advance.
Tom Hacohen [Thu, 27 Feb 2014 10:39:52 +0000 (10:39 +0000)]
Evas textblock: Fix clipping issues with some texts with width > advance.

This happens with many texts. The issue occurs when the width of the
last char is larger than it's advance. Before this patch, we didn't the
width into account when calculating width, thus causing clipping issues
in some cases.

10 years agoecore-evas-wayland: Remove unused function & declaration
Chris Michael [Mon, 10 Mar 2014 13:58:20 +0000 (13:58 +0000)]
ecore-evas-wayland: Remove unused function & declaration

Remove unused function and it's declaration. This function is not
being called from anywhere anymore, so it's no longer needed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Reset modifiers to zero before updating them on keypress
Chris Michael [Mon, 10 Mar 2014 13:44:29 +0000 (13:44 +0000)]
ecore-drm: Reset modifiers to zero before updating them on keypress

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Remove FIXME comment
Chris Michael [Mon, 10 Mar 2014 13:38:01 +0000 (13:38 +0000)]
ecore-drm: Remove FIXME comment

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add code to handle modifiers in a key event
Chris Michael [Mon, 10 Mar 2014 13:32:20 +0000 (13:32 +0000)]
ecore-drm: Add code to handle modifiers in a key event

@feature: Add handling of modifiers in a drm key event

This adds code to deal with modifiers being pressed/released during a
key event and pass those along to the ecore_event structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add private xkb fields for depressed, latched, locked, and
Chris Michael [Mon, 10 Mar 2014 13:31:18 +0000 (13:31 +0000)]
ecore-drm: Add private xkb fields for depressed, latched, locked, and
group

This adds fields to the xkb structure for storing when modifiers are
pressed, released, etc so we can handle those in key events.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoedje - allow lager clipper space.
ChunEon Park [Mon, 10 Mar 2014 13:22:42 +0000 (22:22 +0900)]
edje - allow lager clipper space.

In acutal case, some application encounted that a proxy object is larger than a source clipper size.
So the proxy is clipped by the edje clipper.
We don't have to limit the clipper size to 10000x10000

@fix

10 years agoEolian/Generator: support NULL pointers for return values.
Daniel Zaoui [Mon, 10 Mar 2014 11:19:24 +0000 (13:19 +0200)]
Eolian/Generator: support NULL pointers for return values.

When an Eo operation returns a value, this one is stored in the last
parameter as an out parameter.
In case the caller doesn't set a pointer there, the storing will be done
in a NULL pointer and will bring to a segfault.

The generator has been modified to handle this case. Now, if the ret
pointer is NULL, the value will not be returned.

10 years agoEolian: add support of eo_prefix and data.
Daniel Zaoui [Mon, 10 Mar 2014 09:52:46 +0000 (11:52 +0200)]
Eolian: add support of eo_prefix and data.

You can add in the .eo file the eo_prefix:... and data:... in case
you want to override respectively the Eo prefix and the data type.
If "data: null" is used, no data type will be added.

10 years agoecore-evas-drm: Set window to receive input events
Chris Michael [Mon, 10 Mar 2014 12:38:51 +0000 (12:38 +0000)]
ecore-evas-drm: Set window to receive input events

After we have setup ecore-drm, we need to tell it where to send any
input events, so call the ecore-drm API function to set the window.
Also feed mouse_in to the canvas after creation, so that it gets focus.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Set the window of the Ecore_Event_Key structure
Chris Michael [Mon, 10 Mar 2014 12:36:53 +0000 (12:36 +0000)]
ecore-drm: Set the window of the Ecore_Event_Key structure

@feature: Add keyboard event processing for ecore-drm

When we get a key event from evdev and create an Ecore_Event_Key to
pass along, we need to set the window where this event occured.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add API function to set the window we should send events
Chris Michael [Mon, 10 Mar 2014 12:36:21 +0000 (12:36 +0000)]
ecore-drm: Add API function to set the window we should send events
too.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add private window field to drm device structure
Chris Michael [Mon, 10 Mar 2014 12:35:50 +0000 (12:35 +0000)]
ecore-drm: Add private window field to drm device structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Remove private framebuffer
Chris Michael [Mon, 10 Mar 2014 10:51:48 +0000 (10:51 +0000)]
evas-drm: Remove private framebuffer

We don't need to store the framebuffer of the Outbuf as it's only used
once to set resolution.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Remove private framebuffer field from Outbuf structure
Chris Michael [Mon, 10 Mar 2014 10:51:21 +0000 (10:51 +0000)]
evas-drm: Remove private framebuffer field from Outbuf structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-evas-drm: Add initial code to make ecore_evas render using drm
Chris Michael [Mon, 10 Mar 2014 10:02:31 +0000 (10:02 +0000)]
ecore-evas-drm: Add initial code to make ecore_evas render using drm

NB: This is still a work-in-progress and not complete yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add code pass along key events to ecore_event
Chris Michael [Mon, 10 Mar 2014 09:56:50 +0000 (09:56 +0000)]
ecore-drm: Add code pass along key events to ecore_event

@feature: Add keyboard input handling to ecore-drm library

This adds code to ecore_drm library to process keyboard events and
pass them to ecore_event so that ecore_evas can receive keyboard input

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Create xkb context on device open
Chris Michael [Mon, 10 Mar 2014 09:56:24 +0000 (09:56 +0000)]
ecore-drm: Create xkb context on device open

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add xkb fields to Evdev structure
Chris Michael [Mon, 10 Mar 2014 09:56:00 +0000 (09:56 +0000)]
ecore-drm: Add xkb fields to Evdev structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add xkbcontext to device structure
Chris Michael [Mon, 10 Mar 2014 08:38:21 +0000 (08:38 +0000)]
ecore-drm: Add xkbcontext to device structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add xkbcommon header
Chris Michael [Mon, 10 Mar 2014 08:32:49 +0000 (08:32 +0000)]
ecore-drm: Add xkbcommon header

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add dependency on xkbcommon
Chris Michael [Mon, 10 Mar 2014 08:30:21 +0000 (08:30 +0000)]
ecore-drm: Add dependency on xkbcommon

@feature: Add xkbcommon as a dependency for ecore_drm so we can
process input keys

In order for keyboard input to work for ecore_evas_drm, we will need
to translate keypress events into meaningful key names, so require
xkbcommon to deal with the translation.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Initialize ecore_event on ecore_drm_init
Chris Michael [Mon, 10 Mar 2014 08:26:53 +0000 (08:26 +0000)]
ecore-drm: Initialize ecore_event on ecore_drm_init

@bugfix: Initialize ecore_event on ecore_drm_init

We need to make sure ecore_event_init has been called so we can
process events for ecore_evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add API function to return the vt fd
Chris Michael [Mon, 10 Mar 2014 08:24:08 +0000 (08:24 +0000)]
ecore-drm: Add API function to return the vt fd

@feature: Added API function to return the file descriptor from the
opened virtual terminal.

This is needed for use in ecore_evas. When it sets up the canvas, we
pass this fd to the canvas for use in setting up the vt framebuffers

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoEolian: Integration of Evas Text Grid
Daniel Zaoui [Sun, 9 Mar 2014 12:21:41 +0000 (14:21 +0200)]
Eolian: Integration of Evas Text Grid

10 years agoEolian: Integration of Evas Text Block
Daniel Zaoui [Sun, 9 Mar 2014 11:37:01 +0000 (13:37 +0200)]
Eolian: Integration of Evas Text Block

10 years agoEolian/Generator: fix for legacy function name overriding.
Daniel Zaoui [Sun, 9 Mar 2014 12:07:39 +0000 (14:07 +0200)]
Eolian/Generator: fix for legacy function name overriding.

When legacy is specified in the .eo file, the generator was adding the
property/method name after the legacy name.
So if you have 'legacy evas_object_textblock_clear_all' for clear method,
it was adding the function evas_object_textblock_clear_all_clear.

10 years agoEvas map: fixed shadow warnings.
Tom Hacohen [Mon, 10 Mar 2014 09:25:21 +0000 (09:25 +0000)]
Evas map: fixed shadow warnings.

evas_map_image_loop is included from within code, so local variables
should not shadow other local variables. I just gave them a more
unique name.

10 years agoevas-fb: Fix broken build of efl
Chris Michael [Mon, 10 Mar 2014 07:20:26 +0000 (07:20 +0000)]
evas-fb: Fix broken build of efl

@bugfix: structure fb_var_screeninfo does not have a colorspace field
defined in linux/fb.h, so (for now) comment out code which was
referencing that field. Not sure what the intent was here, but build
was broken because of this.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoeina-cxx: Added malloc_clone_allocator to use with POD's when wrapping Eina C structures
Felipe Magno de Almeida [Mon, 10 Mar 2014 03:25:42 +0000 (12:25 +0900)]
eina-cxx: Added malloc_clone_allocator to use with POD's when wrapping Eina C structures

Summary:
Added efl::eina::malloc_clone_allocator to be used with ptr_* data
structures for wrapping structures allocated by EFL in C.

This allows for example:

  void foo(Eina_List* l)
  {
    efl::eina::ptr_list<int, efl::eina::malloc_clone_allocator> list(l);
  }

If the standard efl::eina::heap_no_clone_allocator is used, the
deallocation code uses C++ delete operator, which causes undefined
behavior because the allocation was originally done with malloc.

Reviewers: cedric

CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D614

10 years agoeina-cxx: Added eina_log support for C++, using IOStreams syntax
Felipe Magno de Almeida [Mon, 10 Mar 2014 03:25:20 +0000 (12:25 +0900)]
eina-cxx: Added eina_log support for C++, using IOStreams syntax

Summary:
Added eina_log support for C++ using the following macros:

For logging into a domain:

EINA_CXX_DOM_LOG
EINA_CXX_DOM_LOG_CRIT
EINA_CXX_DOM_LOG_ERR
EINA_CXX_DOM_LOG_INFO
EINA_CXX_DOM_LOG_DBG
EINA_CXX_DOM_LOG_WARN

And for logging into the default domain:

EINA_CXX_LOG
EINA_CXX_LOG_CRIT
EINA_CXX_LOG_ERR
EINA_CXX_LOG_INFO
EINA_CXX_LOG_DBG
EINA_CXX_LOG_WARN

The usage is simple as can be seen in the tests:

  efl::eina::log_domain domain("error_domain_name");
  domain.set_level(efl::eina::log_level::critical);
  EINA_CXX_DOM_LOG_CRIT(domain, "something went wrong with the following error: " << error);

@feature

Reviewers: cedric

CC: raster, savio, cedric, sanjeev
Differential Revision: https://phab.enlightenment.org/D605

10 years agoeina-cxx: Added range types for containers
Felipe Magno de Almeida [Mon, 10 Mar 2014 03:24:29 +0000 (12:24 +0900)]
eina-cxx: Added range types for containers

Summary:
Added inarray, inlist, ptr_array and ptr_list's range types named: range_inarray, range_inlist, range_ptr_array and range_ptr_list.

Each has two "flavours": mutable and not mutable. The const versions are parameterized by a const parameter. For example: range_ptr_list<int const> and the mutable doesn't have the const, so: range_ptr_list<int>.

The difference between the two is that the const versions can't modify the elements from the sequence, while the mutable allows so. Also, the const receives a Eina_Array const* while the mutable must have a Eina_Array*.

Reviewers: cedric

CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D613

10 years agoconfigure alerts: be smarter regarding dbus and cover systemd.
Gustavo Sverzut Barbieri [Mon, 10 Mar 2014 02:58:05 +0000 (23:58 -0300)]
configure alerts: be smarter regarding dbus and cover systemd.

Some people (I'm one of them) will do user-local builds of EFL and
don't want to install services in /usr, or provide links, rather
choosing to install in ~/.local/share/dbus-1. Then figure out this
case and do not show an alert when the setup is ready.

As we mention $XDG_DATA_DIRS in our alert, we should not do the alert
when the user follows its recommendation. This is now checked.

And handle systemd services if they are used.

10 years agolink dbus and systemd services, allows systemd activation.
Gustavo Sverzut Barbieri [Mon, 10 Mar 2014 02:55:42 +0000 (23:55 -0300)]
link dbus and systemd services, allows systemd activation.

If the dbus service contains SystemdService entry and the dbus-daemon
is started with --systemd-activation, then requests for services on
the user session bus will be handled by systemd, creating cgroups and
being handled as native systemd services of Type=dbus.

10 years agoEolian/Generator: more fixes related to stars to add to params.
Daniel Zaoui [Sun, 9 Mar 2014 10:08:23 +0000 (12:08 +0200)]
Eolian/Generator: more fixes related to stars to add to params.

10 years agoEolian/Lexer: error handling
Daniel Zaoui [Sun, 9 Mar 2014 10:02:46 +0000 (12:02 +0200)]
Eolian/Lexer: error handling

Print and return error if no class has been parsed in the given file.

10 years agoEolian: Fix path to .eo
Daniel Zaoui [Sun, 9 Mar 2014 09:56:42 +0000 (11:56 +0200)]
Eolian: Fix path to .eo

10 years agoEolian: Integration of Evas Text
Daniel Zaoui [Sun, 9 Mar 2014 08:31:28 +0000 (10:31 +0200)]
Eolian: Integration of Evas Text

10 years agoEolian: Integration of Evas Rectangle
Daniel Zaoui [Sun, 9 Mar 2014 08:20:52 +0000 (10:20 +0200)]
Eolian: Integration of Evas Rectangle

10 years agoEolian: Integration of Evas Polygon
Daniel Zaoui [Sun, 9 Mar 2014 08:09:19 +0000 (10:09 +0200)]
Eolian: Integration of Evas Polygon

10 years agoFix build break because of evas_object_line_class_get
Ryuan Choi [Sun, 9 Mar 2014 00:12:25 +0000 (09:12 +0900)]
Fix build break because of evas_object_line_class_get

Added edje into internal dependencies for ethumb_client.

I got below error.
/usr/elocal/lib/libedje.so.1: undefined reference to `evas_object_line_class_get'
collect2: error: ld returned 1 exit status
make[4]: *** [bin/ethumb_client/ethumbd] Error 1
make[4]: *** Waiting for unfinished jobs....

10 years agoupdate .mailmap
Boris Faure [Sat, 8 Mar 2014 14:38:10 +0000 (15:38 +0100)]
update .mailmap

10 years agoEet vieet: Fixed to work on non-bash compat shells.
Tom Hacohen [Sat, 8 Mar 2014 10:55:37 +0000 (10:55 +0000)]
Eet vieet: Fixed to work on non-bash compat shells.

Thanks to Davide Andreoli for reporting and suggesting fixes.

10 years agoEolian: fix warnings
Daniel Zaoui [Fri, 7 Mar 2014 16:02:44 +0000 (18:02 +0200)]
Eolian: fix warnings

10 years agoEolian: Fixes into generated files.
Daniel Zaoui [Fri, 7 Mar 2014 15:37:05 +0000 (17:37 +0200)]
Eolian: Fixes into generated files.

- Added Doxygen description to parameters and return
- Added default description for parameters
- Return type needs to be after all the other parameters
- Better handling of stars for pointers: try to figure if a space is
needed between the type and the variable (e.g int *a / int a)

10 years agoEolian: Coverity fixes
Daniel Zaoui [Fri, 7 Mar 2014 08:43:56 +0000 (10:43 +0200)]
Eolian: Coverity fixes

10 years agoEolian/Lexer: parse from memory
Daniel Zaoui [Thu, 6 Mar 2014 09:18:20 +0000 (11:18 +0200)]
Eolian/Lexer: parse from memory

10 years agoEet: Added vieet a tool to edit eet files.
Tom Hacohen [Fri, 7 Mar 2014 15:11:30 +0000 (15:11 +0000)]
Eet: Added vieet a tool to edit eet files.

This tool lets you just open an eet file for editing directly,
by wrapping around 'eet' and the preferred editor defined in the env var
'EDITOR'.

@feature

10 years agoEvas line: Don't include generated headers in make dist.
Tom Hacohen [Fri, 7 Mar 2014 13:29:13 +0000 (13:29 +0000)]
Evas line: Don't include generated headers in make dist.

This fixes make distcheck.

10 years agoEolian Helper file: Fixed generation of legacy headers.
Tom Hacohen [Fri, 7 Mar 2014 12:11:24 +0000 (12:11 +0000)]
Eolian Helper file: Fixed generation of legacy headers.

10 years agoEolian gen: Have a more useful error message when failing to write file.
Tom Hacohen [Fri, 7 Mar 2014 12:01:52 +0000 (12:01 +0000)]
Eolian gen: Have a more useful error message when failing to write file.

10 years agoEvas line: Fix out of source builds.
Tom Hacohen [Fri, 7 Mar 2014 09:50:13 +0000 (09:50 +0000)]
Evas line: Fix out of source builds.

The build system only adds top lib dir to include path, so we have to
specifically put the path there.

This should probably be fixed, so we can drop the canvas dir prefix in
our includes altogether, but until then, this is needed.

10 years agoEvas filters: Use GL_FRAMEBUFFER instead of GL_READ_FRAMEBUFFER
Jean-Philippe Andre [Fri, 7 Mar 2014 08:45:16 +0000 (17:45 +0900)]
Evas filters: Use GL_FRAMEBUFFER instead of GL_READ_FRAMEBUFFER

GL_READ_FRAMEBUFFER isn't defined when compiling for Wayland
Thanks Stefan for the report.

Also, import GL_FRAMEBUFFER overrides from other GL files, so
that it points to the proper extension (_OES or _EXT if applicable).

10 years agoefl/eo: Fix Doxygen markup to prevent a warning
Jeff Grimshaw [Fri, 7 Mar 2014 08:00:03 +0000 (17:00 +0900)]
efl/eo:  Fix Doxygen markup to prevent a warning

Summary:
The closing @} for the main Eo group is inside the #ifdef
EFL_BETA_API_SUPPORT block, so it gets removed by the preprocessor
unless the project is configured with EFL_BETA_API_SUPPORT.  Moved the
@} outside the #ifdef so it will always be there and Doxygen won't
complain.

Test Plan: make doc 2> doxyerr.log

Reviewers: raster

Reviewed By: raster

CC: cedric
Differential Revision: https://phab.enlightenment.org/D609

10 years agoeio: check if we need to wake up thread when the memory limit is changed.
Cedric BAIL [Fri, 7 Mar 2014 07:49:14 +0000 (16:49 +0900)]
eio: check if we need to wake up thread when the memory limit is changed.

10 years agoedje: do not leak in case of error.
Cedric BAIL [Fri, 7 Mar 2014 06:01:36 +0000 (15:01 +0900)]
edje: do not leak in case of error.

@fix CID 1191310 and CID 1191311

10 years agoedje/entry: fix to not emit "changed" signal in unnecessary cases of password mode.
Youngbok Shin [Fri, 7 Mar 2014 05:42:49 +0000 (14:42 +0900)]
edje/entry: fix to not emit "changed" signal in unnecessary cases of password mode.

Summary:
When text is hidden by password character, "changed" signal should be emitted.
But, even if there is no visible text, the signal was emitted.

@fix

Reviewers: woohyun, tasn, cedric

Reviewed By: cedric

CC: cedric
Differential Revision: https://phab.enlightenment.org/D604

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoecore-cxx: add support for exceptions.
Felipe Magno de Almeida [Fri, 7 Mar 2014 05:33:07 +0000 (14:33 +0900)]
ecore-cxx: add support for exceptions.

Summary:
Added support for exceptions on ecore_main_loop_thread_safe_call_async and
ecore_main_loop_thread_safe_call_sync. Also optimized the transport of the
return value through a parameter on ecore_main_loop_thread_safe_call_sync.

ecore-cxx: Changed uses of alignas for aligned_storage in C++11

Reviewers: cedric, raster

CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D593

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoeina-cxx: renamed efl::eina::eina_value to efl::eina::value
Felipe Magno de Almeida [Fri, 7 Mar 2014 05:19:10 +0000 (14:19 +0900)]
eina-cxx: renamed efl::eina::eina_value to efl::eina::value

Reviewers: cedric

CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D606

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoeina: Fix bug in eina_convert_itoa
Sylvain Laperche [Fri, 7 Mar 2014 02:58:36 +0000 (10:58 +0800)]
eina: Fix bug in eina_convert_itoa

The current implementation of eina_convert_itoa cannot convert INT_MIN.

When the input number is negative, the function negates it and this is
an undefined behavior for INT_MIN since -INT_MIN cannot be represented
in a signed int.

@fix T1062

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoeina: indent test to up to date standard.
Cedric BAIL [Fri, 7 Mar 2014 02:26:33 +0000 (11:26 +0900)]
eina: indent test to up to date standard.

10 years agoevas/fb: use stride instead of width.
Gustavo Sverzut Barbieri [Fri, 7 Mar 2014 04:52:11 +0000 (01:52 -0300)]
evas/fb: use stride instead of width.

While most framebuffes use stride = width, some may have stride bigger
than width to provide better alignment. Then we must always use stride.

Thanks to Arjan van de Ven, the one that spotted the issue.

@fix

10 years agoEvas: Reduce verbosity of alpha functions
Jean-Philippe Andre [Fri, 7 Mar 2014 02:00:26 +0000 (11:00 +0900)]
Evas: Reduce verbosity of alpha functions

And remove commented-out code.

10 years agoEvas filters: Reduce verbosity (INF --> DBG)
Jean-Philippe Andre [Fri, 7 Mar 2014 01:59:54 +0000 (10:59 +0900)]
Evas filters: Reduce verbosity (INF --> DBG)

10 years agoEvas filters: Improve detection of the GL engine
Jean-Philippe Andre [Fri, 7 Mar 2014 01:32:47 +0000 (10:32 +0900)]
Evas filters: Improve detection of the GL engine

According to cedric's horrified comment :)

And add a comment in the code. Yes, this IS a temporary solution,
but the GL engineS being what they are (tons of duplicated code),
I think it's still better for now to just make things work.

10 years agoEvas filters: Complete GL support with scaling function
Jean-Philippe Andre [Thu, 6 Mar 2014 09:28:46 +0000 (18:28 +0900)]
Evas filters: Complete GL support with scaling function

Directly use the scale functions from scalecache when
running the GL engine.

With this, and glReadPixels support, the GL engine support is now
100% complete. It will be DAMN SLOW, but ALL filters should work
in both OpenGL and Software rendering.

10 years agoEvas filters: Implement proxy rendering for GL
Jean-Philippe Andre [Fri, 7 Mar 2014 00:36:16 +0000 (09:36 +0900)]
Evas filters: Implement proxy rendering for GL

Make use of glReadPixel to access the source's pixel data.
Use all classic CPU functions to blend and use that data.
Save pointer to the GL image and update it with the latest data
during target render.

Use ENFN's surface_lock, read_pixels, unlock.

Also, add some more error checks to make sure the images are valid,
or return an error at runtime.

10 years agoEvas filters: Allow image copy with the GL engine
Jean-Philippe Andre [Thu, 6 Mar 2014 08:52:57 +0000 (17:52 +0900)]
Evas filters: Allow image copy with the GL engine

For now, this simply uses memcpy.
The SW engine equivalent uses image_draw, which wouldn't work
under the GL engine.

10 years agoEvas gl_x11: Add support for glReadPixels
Jean-Philippe Andre [Thu, 6 Mar 2014 08:42:24 +0000 (17:42 +0900)]
Evas gl_x11: Add support for glReadPixels

This will be needed by the filters for proxy rendering,
for textures and maps (displacement).

Add new engine functions to unleash the (sluggish) power of glReadPixels.
The idea is to be able to bypass glReadPixels later, so 3 new APIs are
added:
- surface_lock
- surface_read_pixels
- surface_unlock
They must be called in that order.

Note (for history):
glReadPixels was always getting the wrong data during first draw,
but the right data during a redraw...
Why? Well simply because for OpenGL itself, the image had never
been drawn in teh first place! Only the Evas GL context knew
about the image drawing, as it was queued somewhere in the pipe.

One line solution: Call evas_gl_common_context_flush before
doing anything else.

10 years agoEvas filters: Minor change (type is void*)
Jean-Philippe Andre [Wed, 5 Mar 2014 09:04:35 +0000 (18:04 +0900)]
Evas filters: Minor change (type is void*)

10 years agogit: ignore generated file.
Cedric BAIL [Fri, 7 Mar 2014 00:36:52 +0000 (09:36 +0900)]
git: ignore generated file.

10 years agoevas: let's still compile when we have no hw accel for DRM.
Cedric BAIL [Fri, 7 Mar 2014 00:35:16 +0000 (09:35 +0900)]
evas: let's still compile when we have no hw accel for DRM.

10 years agoecore-drm: Add ecore-drm.pc to gitignore
Chris Michael [Thu, 6 Mar 2014 14:46:46 +0000 (14:46 +0000)]
ecore-drm: Add ecore-drm.pc to gitignore

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas/fb: implement evas_fb_outbuf_fb_reconfigure()
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:17:30 +0000 (11:17 -0300)]
evas/fb: implement evas_fb_outbuf_fb_reconfigure()

refactor code used in evas_fb_outbuf_fb_setup_fb() so it can be used
in evas_fb_outbuf_fb_reconfigure().

10 years agoevas/fb: use a copy of fb_var since ioctl() modifies it and we consider it const
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:16:27 +0000 (11:16 -0300)]
evas/fb: use a copy of fb_var since ioctl() modifies it and we consider it const

10 years agoevas/fb: make sure FB_Mode attributes are zeroed.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:15:05 +0000 (11:15 -0300)]
evas/fb: make sure FB_Mode attributes are zeroed.

We may read only geometry or timings, then make sure memory is fully
zeroed by doing a memset on the new array item.

10 years agoecore_fb: @fix use of uninitialized values reported by valgrind.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:12:44 +0000 (11:12 -0300)]
ecore_fb: @fix use of uninitialized values reported by valgrind.

10 years agoevas/fb: extensive logs to help solve bugs.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 05:18:55 +0000 (02:18 -0300)]
evas/fb: extensive logs to help solve bugs.

FrameBuffer can be tricky with all combinations and it's hard to tell
users to send useful information, then print the information we use so
we can get useful bug reports.

10 years agoevas/fb: expose and call fb_freemode() and fb_cleanup()
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 05:16:03 +0000 (02:16 -0300)]
evas/fb: expose and call fb_freemode() and fb_cleanup()

properly clean memory and restore framebuffer on error conditions.

@fix

10 years agoevas/fb: handle fds using -1 for unset/error.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 05:09:44 +0000 (02:09 -0300)]
evas/fb: handle fds using -1 for unset/error.

clean evas_fb_main.c so it returns -1 to indicate invalid fds, same as
open() and what is written in evas_fb.h example.

call fb_cleanup() in all error conditions and always return -1 in
fb_postinit() if we did call fb_cleanup().

10 years agoevas: @fix convert to 24bits so dst_jump is used properly.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 04:08:44 +0000 (01:08 -0300)]
evas: @fix convert to 24bits so dst_jump is used properly.

in all other convert functions, dst_jump is provided in pixesl and
multiplied by the number of bytes-per-pixel either explicitly or
implicitly by using a different type for dst pointer (DATA16,
DATA32...).

As in 24 bits we use DATA8 we must explicitly multiply dst_jump by 3.