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.
Jérémy Zurcher [Tue, 11 Mar 2014 13:00:20 +0000 (14:00 +0100)]
eolian: regroup buffer allocation and read checks
Jérémy Zurcher [Tue, 11 Mar 2014 10:59:13 +0000 (11:59 +0100)]
eolian: silence uninitialized var warning
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
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
Tom Hacohen [Tue, 11 Mar 2014 10:03:30 +0000 (10:03 +0000)]
Eolian: Ship pc file.
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.
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>
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>
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
Yossi Kantor [Mon, 10 Mar 2014 12:13:06 +0000 (14:13 +0200)]
Eolian: Integration of Evas Table
Daniel Zaoui [Mon, 10 Mar 2014 15:06:46 +0000 (17:06 +0200)]
Eolian: Integration of Evas Smart Clipped
Yossi Kantor [Mon, 10 Mar 2014 11:35:11 +0000 (13:35 +0200)]
Eolian: Support of unsigned short as int in va_arg
Daniel Zaoui [Mon, 10 Mar 2014 09:55:22 +0000 (11:55 +0200)]
Eolian: Integration of Evas Smart
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
Jérémy Zurcher [Mon, 10 Mar 2014 17:14:16 +0000 (18:14 +0100)]
eolian: generate eo_lexer.c with ragel if available
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.
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).
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.
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.
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>
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>
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>
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>
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>
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
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.
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Daniel Zaoui [Sun, 9 Mar 2014 12:21:41 +0000 (14:21 +0200)]
Eolian: Integration of Evas Text Grid
Daniel Zaoui [Sun, 9 Mar 2014 11:37:01 +0000 (13:37 +0200)]
Eolian: Integration of Evas Text Block
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.
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.
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>
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
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
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
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.
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.
Daniel Zaoui [Sun, 9 Mar 2014 10:08:23 +0000 (12:08 +0200)]
Eolian/Generator: more fixes related to stars to add to params.
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.
Daniel Zaoui [Sun, 9 Mar 2014 09:56:42 +0000 (11:56 +0200)]
Eolian: Fix path to .eo
Daniel Zaoui [Sun, 9 Mar 2014 08:31:28 +0000 (10:31 +0200)]
Eolian: Integration of Evas Text
Daniel Zaoui [Sun, 9 Mar 2014 08:20:52 +0000 (10:20 +0200)]
Eolian: Integration of Evas Rectangle
Daniel Zaoui [Sun, 9 Mar 2014 08:09:19 +0000 (10:09 +0200)]
Eolian: Integration of Evas Polygon
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....
Boris Faure [Sat, 8 Mar 2014 14:38:10 +0000 (15:38 +0100)]
update .mailmap
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.
Daniel Zaoui [Fri, 7 Mar 2014 16:02:44 +0000 (18:02 +0200)]
Eolian: fix warnings
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)
Daniel Zaoui [Fri, 7 Mar 2014 08:43:56 +0000 (10:43 +0200)]
Eolian: Coverity fixes
Daniel Zaoui [Thu, 6 Mar 2014 09:18:20 +0000 (11:18 +0200)]
Eolian/Lexer: parse from memory
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
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.
Tom Hacohen [Fri, 7 Mar 2014 12:11:24 +0000 (12:11 +0000)]
Eolian Helper file: Fixed generation of legacy headers.
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.
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.
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).
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
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.
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
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>
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>
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>
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>
Cedric BAIL [Fri, 7 Mar 2014 02:26:33 +0000 (11:26 +0900)]
eina: indent test to up to date standard.
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
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.
Jean-Philippe Andre [Fri, 7 Mar 2014 01:59:54 +0000 (10:59 +0900)]
Evas filters: Reduce verbosity (INF --> DBG)
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.
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.
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.
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.
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.
Jean-Philippe Andre [Wed, 5 Mar 2014 09:04:35 +0000 (18:04 +0900)]
Evas filters: Minor change (type is void*)
Cedric BAIL [Fri, 7 Mar 2014 00:36:52 +0000 (09:36 +0900)]
git: ignore generated file.
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.
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>
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().
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
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.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:12:44 +0000 (11:12 -0300)]
ecore_fb: @fix use of uninitialized values reported by valgrind.
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.
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
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().
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.