platform/upstream/efl.git
10 years agoEolian: Set eolian_flags in .pc files and ship .eo files.
Tom Hacohen [Thu, 13 Mar 2014 09:55:12 +0000 (09:55 +0000)]
Eolian: Set eolian_flags in .pc files and ship .eo files.

10 years agoecore-drm: Set sprite output to NULL by default
Chris Michael [Thu, 13 Mar 2014 08:14:27 +0000 (08:14 +0000)]
ecore-drm: Set sprite output to NULL by default

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Remove dead commented line
Chris Michael [Thu, 13 Mar 2014 08:13:57 +0000 (08:13 +0000)]
ecore-drm: Remove dead commented line

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Remove debug message for key repeat events
Chris Michael [Wed, 12 Mar 2014 10:46:55 +0000 (10:46 +0000)]
ecore-drm: Remove debug message for key repeat events

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoEvas gl_x11: Fix usage of glReadPixels
Jean-Philippe Andre [Thu, 13 Mar 2014 06:54:58 +0000 (15:54 +0900)]
Evas gl_x11: Fix usage of glReadPixels

It is not necessary to dynamically link to glReadPixels since
this is not an extension. This code wouldn't even work on some
devices.

Also, the pixels returned are not premultiplied (yeah >_<)

And some devices (EGL) don't support GL_BGRA... so glReadPixels
would just fail and not fill in the pixels. Conversion is required.

10 years agoEolian: Integration of Evas Out
Yossi Kantor [Wed, 12 Mar 2014 18:13:45 +0000 (20:13 +0200)]
Eolian: Integration of Evas Out

10 years agoEolian: Integration of Evas Image
Yossi Kantor [Wed, 12 Mar 2014 14:28:40 +0000 (16:28 +0200)]
Eolian: Integration of Evas Image

10 years agoEolian/Generator: fix generation of headers for const params.
Daniel Zaoui [Thu, 13 Mar 2014 06:32:56 +0000 (08:32 +0200)]
Eolian/Generator: fix generation of headers for const params.

When a parameter of a property is const for get but not for set, the
.eo file indicates it by setting a flag 'const' for this parameter.
The generation was checking this flag for C files generation but not for
H files.

10 years agoevas: simplify path logic and make backend code more robust.
Cedric BAIL [Thu, 13 Mar 2014 01:57:38 +0000 (10:57 +0900)]
evas: simplify path logic and make backend code more robust.

Fix CID 1039665.

10 years agoevas: track modifier in the limited range of unsigned long long.
Cedric BAIL [Thu, 13 Mar 2014 01:52:37 +0000 (10:52 +0900)]
evas: track modifier in the limited range of unsigned long long.

This fix CID 1191924, CID 1191923, CID 1191922 and CID 1191921.

10 years agoevas: be consistent in our check for NULL layer.
Cedric BAIL [Thu, 13 Mar 2014 01:46:05 +0000 (10:46 +0900)]
evas: be consistent in our check for NULL layer.

Fix CID 1191913.

10 years agoevas: protect correctly for object layer not being set.
Cedric BAIL [Thu, 13 Mar 2014 01:44:15 +0000 (10:44 +0900)]
evas: protect correctly for object layer not being set.

FIX CID 1191914, CID 1191915, CID 1191916 and CID 1191917.

10 years agoevas: protect against potential NULL access.
Cedric BAIL [Thu, 13 Mar 2014 01:39:27 +0000 (10:39 +0900)]
evas: protect against potential NULL access.

Fix CID 1191919.

10 years agoevas: let's not access a potential NULL object when looping on a corrupted object...
Cedric BAIL [Thu, 13 Mar 2014 01:36:43 +0000 (10:36 +0900)]
evas: let's not access a potential NULL object when looping on a corrupted object list.

This fix CID 1191920.

10 years agoevas: the while guarantee that obj will be NULL, so let's not access it.
Cedric BAIL [Thu, 13 Mar 2014 01:34:55 +0000 (10:34 +0900)]
evas: the while guarantee that obj will be NULL, so let's not access it.

This will fix CID 1191918.

10 years agoevas: restore behavior of stack above and below when no rel is specified.
Cedric BAIL [Thu, 13 Mar 2014 01:33:05 +0000 (10:33 +0900)]
evas: restore behavior of stack above and below when no rel is specified.

This will fix CID 1191907 and CID 1191906.

@fix

10 years agoedje: external is already used directly before, so checking it is unnecessary.
Cedric BAIL [Thu, 13 Mar 2014 01:29:27 +0000 (10:29 +0900)]
edje: external is already used directly before, so checking it is unnecessary.

CID 1191908.

10 years agoedje_edit: adding of NULL-checks
perepelits.m [Thu, 13 Mar 2014 01:26:20 +0000 (10:26 +0900)]
edje_edit: adding of NULL-checks

Summary:
New NULL-checks have been added in:

edje_edit_state_color_class_set
edje_edit_state_external_param_get
edje_edit_state_external_param_int_get
edje_edit_state_external_param_bool_get
edje_edit_state_external_param_double_get
edje_edit_state_external_param_string_get
edje_edit_state_external_param_choice_get
edje_edit_state_external_param_set

Reviewers: cedric, seoz, raster

Reviewed By: cedric

CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D629

10 years agoecore-evas-drm: Fix printing of device name error message
Chris Michael [Wed, 12 Mar 2014 10:43:44 +0000 (10:43 +0000)]
ecore-evas-drm: Fix printing of device name error message

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Quiet down ecore_drm_output rendering messages
Chris Michael [Wed, 12 Mar 2014 10:41:57 +0000 (10:41 +0000)]
ecore-drm: Quiet down ecore_drm_output rendering messages

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Fix doxygen group for sprites
Chris Michael [Wed, 12 Mar 2014 10:30:33 +0000 (10:30 +0000)]
ecore-drm: Fix doxygen group for sprites

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-evas-drm: Remove FIXME comment
Chris Michael [Wed, 12 Mar 2014 10:29:34 +0000 (10:29 +0000)]
ecore-evas-drm: Remove FIXME comment

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-evas-drm: Try to find a drm device with the given name
Chris Michael [Wed, 12 Mar 2014 10:25:36 +0000 (10:25 +0000)]
ecore-evas-drm: Try to find a drm device with the given name

If we are given a drm device name, tell ecore_drm to try and find That
device. If it is not found, we fallback to the default drm device.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-evas-drm: If not device name is passed in, use the device name
Chris Michael [Wed, 12 Mar 2014 10:17:00 +0000 (10:17 +0000)]
ecore-evas-drm: If not device name is passed in, use the device name
from drm.

This assigns a name to the ecore_evas. If no device name was passed
in, we will get the device name from the drm card.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add API function to return the drm device name
Chris Michael [Wed, 12 Mar 2014 09:26:43 +0000 (09:26 +0000)]
ecore-drm: Add API function to return the drm device name

@feature: Add new API function to return the drm device name

NB: This will be used in the ecore_evas_drm code to set the
ecore_evas->name.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoEolian: Integration of Evas Grid
Yossi Kantor [Mon, 10 Mar 2014 15:02:10 +0000 (17:02 +0200)]
Eolian: Integration of Evas Grid

10 years agoEolian: Integration of Evas
Daniel Zaoui [Wed, 12 Mar 2014 06:53:00 +0000 (08:53 +0200)]
Eolian: Integration of Evas

10 years agoEolian: Integration of Evas Object.
Daniel Zaoui [Tue, 11 Mar 2014 11:51:35 +0000 (13:51 +0200)]
Eolian: Integration of Evas Object.

const have been added in object parameter of two legacy APIs to fit
Eolian generated files.
Since these functions retrieve information from object, it is logic that
the object would be const.

10 years agoecore-evas: Predefine Ecore_X_Atom and Ecore_X_Icon
Chris Michael [Wed, 12 Mar 2014 08:41:15 +0000 (08:41 +0000)]
ecore-evas: Predefine Ecore_X_Atom and Ecore_X_Icon

@fix: Fix building Enlightenment without X support

These changes are needed so that we can build Enlightenment without X
support. Many places in the E code reference
Ecore_X_Atom/Ecore_X_Icon. If we build E without X support, these end
up being undefined, causing build to fail, so we need to predefine them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-x: Predefine Ecore_X_Atom and Ecore_X_Icon
Chris Michael [Wed, 12 Mar 2014 08:38:00 +0000 (08:38 +0000)]
ecore-x: Predefine Ecore_X_Atom and Ecore_X_Icon

@fix: Fix building Enlightenment without X support

These changes are needed so that we can build Enlightenment without X
support. Many places in the E code reference
Ecore_X_Atom/Ecore_X_Icon. If we build E without X support, these end
up being undefined, causing build to fail, so we need to predefine them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoEvas filters: Fix memory leak when destroying the object
Jean-Philippe Andre [Wed, 12 Mar 2014 05:06:23 +0000 (14:06 +0900)]
Evas filters: Fix memory leak when destroying the object

The GL buffers set to be freed were released only the async case...
which doesn't make sense since GL is sync.

@fix

10 years agoEvas filters: Optimize RGBA blur as well
Jean-Philippe Andre [Wed, 12 Mar 2014 04:55:44 +0000 (13:55 +0900)]
Evas filters: Optimize RGBA blur as well

Same as Alpha blur, use combination of box blurs,
and put all that code into optimizable functions.

10 years agoEvas filters: Optimize alpha box blur
Jean-Philippe Andre [Wed, 12 Mar 2014 01:20:27 +0000 (10:20 +0900)]
Evas filters: Optimize alpha box blur

Use two optimizable functions for BOX blur: vertical and horizontal.
These functions will run as many times as requested (from 1 to 6 max).

The horizontal case is pretty straightforward as the source is already
contiguous (nice in terms of cache hits). The only catch is to swap
src and dst without ever writing to the input buffer.

In case of vertical blur, we apply the same method as above, after
rotating the column into a horizontal (contiguous) span, and rotating
it back afterwards.

Now, the same needs to be done for RGBA :)

10 years agoEvas filters: Use box blur by default
Jean-Philippe Andre [Tue, 11 Mar 2014 09:21:46 +0000 (18:21 +0900)]
Evas filters: Use box blur by default

BOX blur is a lot faster (and easier to optimize, too)
than GAUSSIAN blur. Repeating 2x or 3x BOX blur will also
give similar results to GAUSSIAN blur (very smooth), but
in much less time.

Add a count parameter to the BOX blur instruction.

10 years agoEvas filters: Prepare optimization paths for BOX blur
Jean-Philippe Andre [Tue, 11 Mar 2014 07:18:41 +0000 (16:18 +0900)]
Evas filters: Prepare optimization paths for BOX blur

Actually, there is a very nice trick with BOX blur.
Pass BOX blur 3 times and you can approximate a GAUSSIAN
blur with up to 3% accuracy. This is way more than enough
for just a simple graphical effect.

So, despite the crappy quality of BOX blur, we should
optimize it a lot so we can replace large GAUSSIAN blurs
with series of BOX blurs instead.

Source: Wikipedia's page on box blur :)

This commit also moves around some duplicated definitions.

10 years agoEvas filters: Fix 1-D blurs on a single buffer
Jean-Philippe Andre [Tue, 11 Mar 2014 06:11:21 +0000 (15:11 +0900)]
Evas filters: Fix 1-D blurs on a single buffer

When a blur operation requires a copy-back to the source
buffer, then the render_op must be set to COPY instead of
BLEND. Otherwise the non blurred content will be visible.

@fix

10 years agoEvas filters: Move DEBUG_TIME macro to be used in the main file
Jean-Philippe Andre [Tue, 11 Mar 2014 05:50:11 +0000 (14:50 +0900)]
Evas filters: Move DEBUG_TIME macro to be used in the main file

Optimization can happen at a higher level than the blur function
itself... so let's measure the whole filter running time.

10 years agoEvas filters: Fix uninitialized variable warning
Jean-Philippe Andre [Tue, 11 Mar 2014 03:18:21 +0000 (12:18 +0900)]
Evas filters: Fix uninitialized variable warning

10 years agoEvas filters: Add basic optimization for RGBA gaussian blur
Jean-Philippe Andre [Tue, 11 Mar 2014 03:10:42 +0000 (12:10 +0900)]
Evas filters: Add basic optimization for RGBA gaussian blur

10 years agoEvas filters: Add optimizable blur function
Jean-Philippe Andre [Mon, 10 Mar 2014 09:36:28 +0000 (18:36 +0900)]
Evas filters: Add optimizable blur function

Prepare optimization paths for blur operations, as they are VERY
costly. This simple change, when using gcc -O3 flag, boosts
horizontal blur performance by > 50%, because STEP is 1 (and
so, memory accesses, increments, etc... are all very simple)

The objective is to have support for NEON, MMX, SSE, too, with
runtime detection.

10 years agoEvas filters: Add more time debug marks in blur
Jean-Philippe Andre [Mon, 10 Mar 2014 08:25:27 +0000 (17:25 +0900)]
Evas filters: Add more time debug marks in blur

10 years agoEvas filters: Remove dead code
Jean-Philippe Andre [Mon, 10 Mar 2014 07:46:14 +0000 (16:46 +0900)]
Evas filters: Remove dead code

Remove true Gaussian kernel code, as it is not usable over 12px and
was disabled because it gives different visual results than the
fake Gaussian curve using sin().

10 years agoEvas filters: Improve debug logs
Jean-Philippe Andre [Mon, 10 Mar 2014 07:05:55 +0000 (16:05 +0900)]
Evas filters: Improve debug logs

According to Gustavo's comment :)

10 years agomailmap: Add myself and unify my email addresses
Jean-Philippe Andre [Mon, 10 Mar 2014 05:53:46 +0000 (14:53 +0900)]
mailmap: Add myself and unify my email addresses

I didn't set up my personal laptop with my work email :)

10 years agoevas: @fix use the correct composite op on lines with pixman
Boris Faure [Mon, 3 Feb 2014 21:06:37 +0000 (22:06 +0100)]
evas: @fix use the correct composite op on lines with pixman

10 years agoEo: removed redundant macro.
Tom Hacohen [Tue, 11 Mar 2014 15:58:43 +0000 (15:58 +0000)]
Eo: removed redundant macro.

10 years agoEo: Made eo id for classes a bit more secure.
Tom Hacohen [Tue, 11 Mar 2014 15:50:44 +0000 (15:50 +0000)]
Eo: Made eo id for classes a bit more secure.

This patch sets the one before most significant bit on for classes. This
means that class ids are now very big, compared to the old ids which
were growing small integers (1, 2, 3...).
This makes accidental passing of integers (corrupted obj pointers) less
common.

@feature

10 years agoEolian/Generator: fix generation for return values.
Daniel Zaoui [Tue, 11 Mar 2014 13:17:12 +0000 (15:17 +0200)]
Eolian/Generator: fix generation for return values.

- Remove space between type and variable if a star is present.
- Initialize return value to NULL before eo_do. It is needed in case the
eo_do invocation fails (NULL object...).
- Add const to the internal return value if needed.

10 years agoEolian/Generator: fix type when no data type exists.
Daniel Zaoui [Tue, 11 Mar 2014 12:00:44 +0000 (14:00 +0200)]
Eolian/Generator: fix type when no data type exists.

When data is set as "null", the generator was writing for this data
variable "void * *_pd" instead of "void *_pd".

10 years agoEolian/Lexer: support of legacy overriding for properties.
Daniel Zaoui [Tue, 11 Mar 2014 12:02:31 +0000 (14:02 +0200)]
Eolian/Lexer: support of legacy overriding for properties.

10 years agoEolian/Generator: fix for virtual pure implementations
Daniel Zaoui [Tue, 11 Mar 2014 12:02:03 +0000 (14:02 +0200)]
Eolian/Generator: fix for virtual pure implementations

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