Commit Graph

4388 Commits

Author SHA1 Message Date
Jérémy Zurcher c69b28dac0 eolian: regroup buffer allocation and read checks 2014-03-11 14:00:32 +01:00
Jérémy Zurcher 1e2f00e654 eolian: silence uninitialized var warning 2014-03-11 14:00:32 +01:00
Youngbok Shin cb5026137b 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
2014-03-11 11:21:56 +00:00
Daniel Zaoui 0f80ed9008 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.
2014-03-11 11:22:06 +02:00
Chris Michael 7d8059e4c5 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>
2014-03-11 08:44:46 +00:00
Chris Michael 8fe9adead1 ecore-drm: Add private structure to store mouse information in evdev
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-11 08:44:46 +00:00
WooHyun Jung 2791c3dc06 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
2014-03-11 16:34:56 +09:00
Yossi Kantor 1b2f732d2a Eolian: Integration of Evas Table 2014-03-11 07:37:48 +02:00
Daniel Zaoui e203ec008e Eolian: Integration of Evas Smart Clipped 2014-03-11 07:37:48 +02:00
Yossi Kantor b070981f8f Eolian: Support of unsigned short as int in va_arg 2014-03-11 07:37:47 +02:00
Daniel Zaoui 44f9da675c Eolian: Integration of Evas Smart 2014-03-11 07:37:47 +02:00
Felipe Magno de Almeida 9e364d6f4b 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
2014-03-11 10:07:18 +09:00
Jérémy Zurcher 995eac166a eolian: generate eo_lexer.c with ragel if available 2014-03-10 18:15:25 +01:00
Tom Hacohen c6589ffc19 Eina Log: Fixed ABI break introduce by the addition of 'color'.
ABI break was introduced here 5913ce7ec8

Always add new members at the end of public structures.
2014-03-10 16:50:13 +00:00
Tom Hacohen cb9a06f550 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).
2014-03-10 16:17:21 +00:00
Daniel Zaoui c8dc39c9ae 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.
2014-03-10 16:59:46 +02:00
Tom Hacohen d175b8aa69 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.
2014-03-10 14:58:18 +00:00
Chris Michael 7fe34af84b 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>
2014-03-10 13:58:20 +00:00
Chris Michael ee5caf9016 ecore-drm: Reset modifiers to zero before updating them on keypress
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 13:44:29 +00:00
Chris Michael c0894f4810 ecore-drm: Remove FIXME comment
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 13:38:01 +00:00
Chris Michael f667f70db9 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>
2014-03-10 13:33:23 +00:00
Chris Michael 71e3e63dfd 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>
2014-03-10 13:33:22 +00:00
ChunEon Park 514cd15ccc 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
2014-03-10 22:22:42 +09:00
Daniel Zaoui d96c429179 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.
2014-03-10 15:07:05 +02:00
Daniel Zaoui 4e33fd16e2 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.
2014-03-10 15:07:05 +02:00
Chris Michael 456e6f20e0 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>
2014-03-10 12:40:31 +00:00
Chris Michael 2a36446402 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>
2014-03-10 12:40:31 +00:00
Chris Michael 42ed617302 ecore-drm: Add API function to set the window we should send events
too.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael 5ffa7cd23f ecore-drm: Add private window field to drm device structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael c4fb746e0c 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>
2014-03-10 12:40:31 +00:00
Chris Michael 005169d775 evas-drm: Remove private framebuffer field from Outbuf structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael c403035e1d 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>
2014-03-10 12:40:31 +00:00
Chris Michael 90551ff49c 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>
2014-03-10 12:40:31 +00:00
Chris Michael 739da9956e ecore-drm: Create xkb context on device open
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael 0b1cc3a17c ecore-drm: Add xkb fields to Evdev structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael 2aa64616cb ecore-drm: Add xkbcontext to device structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:30 +00:00
Chris Michael 3b5b60be45 ecore-drm: Add xkbcommon header
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:30 +00:00
Chris Michael 337a18a5dd 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>
2014-03-10 12:40:30 +00:00
Chris Michael fe7206d334 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>
2014-03-10 12:40:30 +00:00
Daniel Zaoui 2fe6c88cf0 Eolian: Integration of Evas Text Grid 2014-03-10 13:28:03 +02:00
Daniel Zaoui ee7541e202 Eolian: Integration of Evas Text Block 2014-03-10 13:28:03 +02:00
Daniel Zaoui a04e80e7f6 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.
2014-03-10 13:28:03 +02:00
Tom Hacohen 4b758f71c1 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.
2014-03-10 09:25:21 +00:00
Chris Michael 8a8924ba79 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>
2014-03-10 07:20:26 +00:00
Felipe Magno de Almeida 2ab6aac74d 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
2014-03-10 12:35:00 +09:00
Felipe Magno de Almeida 416376e03c 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
2014-03-10 12:35:00 +09:00
Felipe Magno de Almeida 5942207b25 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
2014-03-10 12:35:00 +09:00
Daniel Zaoui 4be9526cc2 Eolian/Generator: more fixes related to stars to add to params. 2014-03-09 13:19:30 +02:00
Daniel Zaoui b013815bfd Eolian/Lexer: error handling
Print and return error if no class has been parsed in the given file.
2014-03-09 13:19:07 +02:00
Daniel Zaoui e5be817b7f Eolian: Fix path to .eo 2014-03-09 13:19:07 +02:00