Commit Graph

14621 Commits

Author SHA1 Message Date
Marcel Hollerbach ffbb17a568 elm_gengrid: force the item to be realized once we try to move focus
So the widget is there, once we try to register it
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 2e26d7a6cf efl_ui_focus_manager_calc: move the debug output in there
reduces the load of debug messages, and the debug messages are now only
emitted from the manager that is not the redirect. And the real elements
that are focused are printed
2017-10-19 15:20:59 +02:00
Carsten Haitzler 64529eac19 elm config - finish flagging all other values that can be set by api
this now means any app that called elm_config_*set on any field at all
will keep what it set forever until it changes it even if shared/core
config changed.
2017-10-19 17:32:47 +09:00
Carsten Haitzler a04d8a929a elm config - track which vars you set locally and keep them as-is
this now flags about 1/4 of the config vars in elm config if you set
them locally so they wont change on conifg reload. i have just started
and this is the first batch. needs more work.
2017-10-19 17:32:47 +09:00
Marcel Hollerbach 56e9f582b6 elm_interface_scrollable: make sure this region is really visual
right now we just request the complete geom to be visible since there
seems to be no way ot checking where the new widgets will be in. This
needs some improvements.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 67234dcde1 efl_ui_focus_manager_calc: reimplement move to be more compact & small
this fixes a bug when a redirect was unset while going the prev
direction.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 6956dfc7a6 efl_ui_focus_manager_calc: put every element on the focus stack
move the addition to the focus stack to the general path. This means
every element is now on the focus stack.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach d701597eb9 efl_ui_focus_manager_calc: move unfocusing the last element into its own
function
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 0220418b84 efl_ui_focus_manager_calc: check if we are already focused earlier
if we dont do that we may unset a redirect just to set the same redirect
again.
2017-10-19 10:04:59 +02:00
Jean-Philippe Andre 0a13e15c7d evas/gesture: Fix up a couple of APIs, add some FIXME
Some things have clearly not been tested. Some APIs have not been
modified after repeated review comments. C++ failed to build due to
"long" being used as a namespace.

Remaining issues:
 - The original finger_list API was broken by design. I didn't try to
   replace it yet.
 - Long tap is also broken by design: if no move happens the recognizer
   gets no event, and doesn't trigger anything when the timeout is
   reached. An API or event is lacking here.
 - Only 2 very basic gestures have been implemented. All the gestures
   from elm_gesture_layer need to be covered. None of the multi touch
   support has been really implemented, except for a single bool flag.
 - The configuration must be loaded from elm_config, passed on to the
   recognizers.
 - Some micro optimization may be required, especially if the input
   device is high frequency (eg. 1KHz gaming mouse).
2017-10-19 12:25:57 +09:00
smohanty 20fad2e78e evas/gesture: Enabled efl_provider_get() to find gesture manager 2017-10-19 10:33:12 +09:00
smohanty d5f72053fd evas/gesture: Added long_tap gesture to gesture framework 2017-10-19 10:33:12 +09:00
smohanty 28869a9395 evas/gesture: Integrated gesture framework to evas. 2017-10-19 10:33:12 +09:00
smohanty 9da7a7f0d2 evas/gesture: Added gesture manager implementaion. 2017-10-19 10:33:12 +09:00
smohanty 4b997e89e5 evas/gesture: added recognizer and tap recognizer implementation 2017-10-19 10:33:12 +09:00
smohanty 5af499b01b evas/gesture: Added gesture and tap gesture implementation. 2017-10-19 10:33:12 +09:00
smohanty e65f18ef3e evas/gesture: Added touch accumulator class implementation. 2017-10-19 10:33:12 +09:00
smohanty a403023242 evas/gesture: Added gesture_private header file. 2017-10-19 10:33:12 +09:00
smohanty b1c6915ab4 evas/gesture: Added Eo classes for evas gesture framework. 2017-10-19 10:33:12 +09:00
Lukasz Stanislawski 57aefc53c1 elm: rename Elm_Interface_Atspi_Accessible interface
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5341
2017-10-19 10:13:54 +09:00
Jean-Philippe Andre dfd98b3e48 win: Do not forward all key events on win (legacy)
OMG... I do not like this patch.

See T6148, two key down events are received when a key grab is installed
on a Win object. This is because all input events are propagated from
ecore all the way up to win and can be listened on. Unfortunately this
breaks existing applications that use the key grab API properly to
listen to key events.

Another side effect is that ALL key events are received by the window,
which means it's not limited to what the application expected (from its
list of grabs).

Solution (ugly): block propagation of key down/up events if the window
is a legacy window. This means that no key grab is required for EO
windows, but key grabs are still required for legacy windows.

Fixes T6148

@fix
2017-10-18 21:01:56 +09:00
Jeonghyun Yun 80a5297ae4 elm_scroller: fix scrolling with key move
Use content_region_show instead of content_pos_set in _key_action_move

Summary:
When user keep pressing key down or else on scroller content, scroller
animation is lagging because of elm_interface_scrollable_content_pos_set
by step_x or step_y value.  When focus moved to next object by press key
down or else, content_pos_set by ecore_animator continuously.  In this
time, content_pos_set in _key_action_move by step_x or step_y value
caused animation lagging problem.  I fixed to use content_region_show
instead of content_pos_set in _key_action_move for remove exist
animator.

Test Plan:
1. elementary_test -> Scroller3
2. Press 3 times "Append 10 Items in 3s" button
3. focus to Item1 and keep pressing key_down

Reviewers: jpeg, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5278
2017-10-18 20:31:05 +09:00
Jean-Philippe Andre 83d063692f genlist: Fix crash on item delete
See d3440a9867

Fixes T6033
2017-10-18 20:01:35 +09:00
Jean-Philippe Andre 24c0eced77 config: Simplify EO API
This is:
 - using a property (but terribly ugly due to the ownership on the
   returned value)
 - removing an unused function

Note: This interface Efl.Config covers only elm_config for now. But it's
very generic and could be used in the future for application specific
configuration.
2017-10-18 19:32:00 +09:00
Jean-Philippe Andre 315e865f18 elm: Split elm_general.eot in two: legacy and EO
This creates efl_ui.eot
It's not called efl_ui_types.eot because a file with that name already
exists in efl/interfaces (for Efl.Ui.Drag functions).

Also add some FIXME comments, and move some types to elm_widget_item.eo.

Ref T5329
2017-10-18 19:24:28 +09:00
Taehyub Kim 5360034675 ecore: remove doxygen warning messages
Summary:
remove doxygen warning messages
@fix

Reviewers: jpeg, cedric, woohyun

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D5339
2017-10-18 19:24:28 +09:00
Shinwoo Kim 06eee29b76 elm: enhance documentation for following files
- elm_config.h
 - elm_focus.h
 - elm_genlist.h
 - elm_icon.h
 - elm_image.h
 - elm_image_legacy.h
 - elm_index.h
2017-10-18 17:38:16 +09:00
Jean-Philippe Andre d4d7a783ed widget: Add FIXME note and cleanup whitespaces 2017-10-18 11:22:34 +09:00
Jean-Philippe Andre 79a1fd94ee edje: Use EO's beta auto_unref API for parts
This simplifies code and avoids unwanted leaks.
2017-10-18 11:02:16 +09:00
Jean-Philippe Andre df304d0155 eo: Add beta API for auto_unref after a call
Before screaming in horror (C++...) here's why we may need this:
Efl.Part.part API returns an object that is by definition valid for a
single function call only. Enforcing this in practice is actually quite
hard as all implementation functions must manually take care of the
life-cycle. This is a lot of code in many places and a lot of
opportunities to forget to properly handle that life-cycle. Also, this
means any invalid function call on a part will leak an object.

This API absolutely must remain either "internal" or "beta" and
definitely not become abused by applications. On top of that such an API
can cause great trouble for bindings like C++. As a consequence, only
specially crafted APIs like efl_part() should return an object marked as
auto_unref.

Alternatively this API could be defined in Eo.h or some other
Eo_Internal.h. I placed it in efl_object.eo because it's much more
convenient :) (read: I'm lazy)

****

Performance notes:

Tested with clang & gcc (with -O2), I had a look at the output of perf
top, in particular the asm view. I used eo_bench in a loop. My
conclusions are:

- EINA_LIKELY/UNLIKELY actually works. The jump statement varies
  according to the expectation. I highly doubt all those ugly goto in
  eo.c / Eo.h are even useful.

- The impact of auto_unref on a call_resolve is so small it doesn't even
  appear in the trace. It is significant inside call_end, though
  (obviously, that function is just a few lines long). That function
  accounts for ~1% to ~4% of all CPU time. The impact of auto_unref in
  call_end is ~4% of the function time. This means ~0.16% of all CPU
  time (worst measured case). _efl_object_op_api_id_get simply doesn't
  show up because of caching, so the extra check there is negligible.

PS: I also tested EINA_LIKELY/UNLIKELY by compiling with -O2 and looking
at the output with objdump. The flag is well respected, and the jump
instructions are what you would expect (no jump for LIKELY and jump for
UNLIKELY). Conclusion: The goto's in eo.c only make the code harder to
read...
2017-10-18 11:02:16 +09:00
Jean-Philippe Andre a1a04629e4 benchmarks: Fix titles in gnuplot
Just replace _ with \_ as _ means subscript.
2017-10-18 11:02:16 +09:00
Thiep Ha 6597b89f53 edje: correct the usage of EINA_SIZE2D
The usage of EINA_SIZE2D macro as left hand side variable
does not save the size value. The Eina_Size2D should be used.
2017-10-18 10:51:49 +09:00
Thiep Ha 65a87eb575 textpath: get the right size of text object
Recent change to use EINA_SIZE2D made the size be gotten incorrectly.
This corrects it.
2017-10-18 10:51:04 +09:00
Cedric Bail 6e64a104a6 eina: use a stringshare to store the filename internally.
T6164
2017-10-17 16:15:19 -07:00
Cedric Bail e0807ce797 eina: fix eina_hash_stringshared_new to actually compute the hash on the pointer.
Before this patch, the key would always be zero and the hash would solely
rely on the rbtree to be efficient. This improve the situation by using the pointer
as the key during hash computation.
2017-10-17 16:15:18 -07:00
Cedric Bail 29c6c3b95b eina: refactor eina hash computation of key length and hash value. 2017-10-17 16:15:18 -07:00
Prince Kumar Dubey 28ce98c411 elementary: fix double assignment
Summary: local variable "bp" assigned twice unnecessarily. The duplicate assignment is removed.

Reviewers: raster, cedric, jpeg

Subscribers: jpeg, rajeshps

Differential Revision: https://phab.enlightenment.org/D5323

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 11:03:24 -07:00
Bowon Ryu a5323998c7 eina: add missing documentation for quad.
Summary: This adds missing doxgen documentation for eina_quad.

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

Differential Revision: https://phab.enlightenment.org/D5330

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 11:00:53 -07:00
Bowon Ryu 47f70a43d1 eina: add missing documentation for rectangle.
Summary: This adds missing doxgen documentation for eina_rectangle.

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D5331

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 10:56:23 -07:00
Bowon Ryu a0bcf57bef eina: fix doxygen typo for eina_thread.
Summary: fix typo.

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D5332

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 10:54:24 -07:00
Cedric Bail 5a8181b3ee elementary: generic_value is to be replaced by any_value. 2017-10-17 10:51:05 -07:00
Cedric Bail 6998134669 elementary: add an exit_code to efl_exit as originally planned.
T6228
2017-10-17 10:39:05 -07:00
Marcel Hollerbach 0fb1d6e1fa elm_interface_scrollable: fix bringing in of a focused item
you also need to calculate in the object position
2017-10-17 17:49:48 +02:00
Marcel Hollerbach 0376092c78 elm_widget: print a error if there is no provider 2017-10-17 17:31:23 +02:00
Marcel Hollerbach e2975a1fcb elm_widget: also do not register if the top widget is not a win
this is currently quite a performance break, since that call is quite
heavy, lets see if we can optimize it later
2017-10-17 17:31:23 +02:00
Marcel Hollerbach 881815ec57 elm_widget: only register if you have to
first step into the direction of making that more secure
2017-10-17 17:31:23 +02:00
Marcel Hollerbach aa4c3c9eb7 elm_widget: move evaluation for registeration of widget
this is now earlier done, so we can reacted based on that
2017-10-17 17:31:23 +02:00
Shinwoo Kim 34f11c0a06 elementary: remove documentation error 2017-10-17 19:05:47 +09:00
Lauro Moura b7ab2ac1ed eo: Use any_value in eina_types.eot
Reviewers: q66, jpeg

Subscribers: jenkins, cedric

Differential Revision: https://phab.enlightenment.org/D5328
2017-10-17 17:31:38 +09:00
Jean-Philippe Andre b5c241ca08 frame: Implement content set/get/unset
Not a huge fan of my macro as it uses efl_part() where a direct call
could be possible, depending on the widget (win can, frame can't).

See D5241
2017-10-17 17:31:38 +09:00
Jean-Philippe Andre c9c9e6a209 elm: Rename Elm.Activate to Efl.Ui.Activate
Note: This is an EO-only beta API.

Ref T5329
2017-10-17 17:31:38 +09:00
Amitesh Singh 85d4a618a7 slider/progressbar: implement format_string of Efl.Ui.Format
remove the unit_format from Efl.Ui.Range.
2017-10-17 17:16:45 +09:00
SangHyeon Jade Lee 5798e226d5 fix typo space in include on eina_lock
remove space typo between #sharp and include about inline header
in eina_lock.h
2017-10-17 14:58:56 +09:00
Amitesh Singh 2d477f5672 efl_ui_format: change Eina.Strbug to @in type 2017-10-17 14:03:36 +09:00
Amitesh Singh 329dcfccd7 efl_ui_format: fix the namings and docs
it is based on review comments by Gustavo and JP.
2017-10-17 13:37:26 +09:00
Bowon Ryu 01147d084f eina: rename parameter for doxygen
Summary:
Some parameter's name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, rename that parameters.

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5327

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:39:33 -07:00
Prince Kumar Dubey e8b2a954b5 efreet: putting local variable "data" under preprocessor flag "SLOPPY_SPEC" to avoid below warning, if "SLOPPY_SPEC" is disabled.
Reviewers: raster, cedric

Subscribers: jpeg, rajeshps

Differential Revision: https://phab.enlightenment.org/D5322

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:36:38 -07:00
Prince Kumar Dubey 030a3448fb eina: fix warning if EINA_SAFETY_CHECKS is disabled
Summary:
Putting local variable "d" under preprocessor flag "EINA_SAFETY_CHECKS" to avoid below warning, if "EINA_SAFETY_CHECKS" is disabled.
        1. local variable "d" is assigned but not used.
        2. If warning 1 is resolved then variable "d" will be unused.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: jpeg, rajeshps

Differential Revision: https://phab.enlightenment.org/D5321

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:36:12 -07:00
Prince Kumar Dubey 284276b2ec ecore: removing assignment operation to avoid warning.
Summary: assignment to local variable "ret" has no meaning as it is not used after assignment. So, removing assignment operation to avoid warning.

Reviewers: raster, cedric

Subscribers: jpeg, rajeshps

Differential Revision: https://phab.enlightenment.org/D5303

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:29:02 -07:00
Subodh Kumar 71f0daa9d1 ecore_wayland: fix assigned value is never used.
Summary:
Fix assigned value is never used.

@fix

Reviewers: cedric

Subscribers: shilpasingh, jpeg

Differential Revision: https://phab.enlightenment.org/D5283

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:28:10 -07:00
Subodh Kumar 230810c4c4 edje_edit: duplicate assignment to variable.
Summary:
Avoid duplicate assignment to same variable.
@fix

Reviewers: cedric, jpeg

Reviewed By: cedric, jpeg

Subscribers: shilpasingh, jpeg

Differential Revision: https://phab.enlightenment.org/D5275

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-16 13:27:38 -07:00
Marcel Hollerbach 18194f343e elm_gengrid: implement item-content-focus
#finally

For now we focus the widgets of a item, the item content can be cycled
by tab / Ctrl + tab. up/down/right/left are for now handled by gengrid
and move the focused item (everything else feels super weird with
multiple contents in a item)

ref T6181
2017-10-16 19:51:38 +02:00
Marcel Hollerbach 38d41b4a2b efl_ui_focus_composition: support beeing a pure logical composition 2017-10-16 19:50:34 +02:00
Marcel Hollerbach 6f95bded51 efl_ui_composition: flushing elements from outside! 2017-10-16 19:50:34 +02:00
Marcel Hollerbach 44554a6044 elm_slider: do not eat all key down events 2017-10-16 15:34:36 +02:00
Amitesh Singh 0088143ccb efl intf: Add format interface
Ref T6204
2017-10-16 21:26:25 +09:00
Marcel Hollerbach 45b4cdee19 efl_ui_focus_manager_calc: maintain focus when focused element is
unregistered

this should fix T6216.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 124586c8e4 elm_toolbar: make the manager customisable
so the toolbar items can be registered correctly
2017-10-16 11:02:13 +02:00
Marcel Hollerbach ac703d8229 elm_menu: implement provider_find to walk the parent relation
it turns out elm_menu is special, it doesnt use parent_obj of
elm_widget, it has his own parent field, which should be used.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 79c93db365 efl_ui_bg: this does not handle focus 2017-10-16 11:02:13 +02:00
Marcel Hollerbach f32359baba elm_toolbar: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach d712c1a911 elm_table: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach 2eefabae8e elm_grid: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach cb27a73968 elm_box: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach 132eaba8d3 efl_ui_focus_composition: introduce dirty and prepare
this can be used in a container that has his own item management api,
Each item management call results in a dirty call, once we are called to
prepare for logical movement we can simply flush the order. So we reduce
the spam of order calls, which also safes runtime.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 0a814a0c71 elm_widget: support logical parents that are not elm_widgets 2017-10-16 11:02:13 +02:00
Marcel Hollerbach e25d494590 elm_widget: do not cache the provider
if turns out that caching the provider here is a problem, since a parent
changing does not change the provided provider
2017-10-16 11:02:12 +02:00
Marcel Hollerbach 4edba079c4 elm_widget: also unregister if the logical parent changes 2017-10-16 11:02:12 +02:00
Hermet Park 1104ff3789 update author(hermet) email. 2017-10-14 23:03:51 +08:00
JinYong Park b05cae250c ecore_file: rename parameter for doxygen
Summary:
Some parameter's name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, rename that parameters.

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D5313

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 14:02:37 -07:00
Cedric Bail 59b417c378 elementary: we actually do not use that variable. 2017-10-13 12:58:01 -07:00
Cedric Bail 6770f9b8a3 elementary: we actually do not use that object. 2017-10-13 12:58:01 -07:00
Cedric Bail 6fb1e2ff68 elementary: remove unused variable. 2017-10-13 12:58:01 -07:00
JinYong Park b86e4ca88b ecore_ipc: rename parameters and annotations for doxygen
Summary:
Some parameters' name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, change it appropriately.

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5316

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:58:00 -07:00
Prince Kumar Dubey 1235459ed3 efl: unused variable removed, removing local variable assignment which has no use at all.
Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5304

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:11:45 -07:00
Prince Kumar Dubey 68a455d10c ecore_audio: unused variables are removed to fix warning.
Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5302

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:09:12 -07:00
Prince Kumar Dubey 41197981ab efl: unsigned int/long never be less than zero. Fixed.
Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5300

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:07:28 -07:00
Prince Kumar Dubey 72a807a51c edje: no case is defined for Preprocessor Flag "EDJE_EXTRA_MODULE_NAME". So removing it to avoid printf warning.
Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5298

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:04:38 -07:00
Wonki Kim c60b889d35 elmentary: fix a potential null pointer dereferencing in elm_box
Summary:
if 'evas_object_smart_data_get' return null somehow,
logic that dereference the smart data pointer will cause problems.
This patch prevent a potential bug in advance.

Reviewers: jpeg, woohyun, cedric

Differential Revision: https://phab.enlightenment.org/D5290

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:01:04 -07:00
Godly T.Alias 295403769b evas: removing unwanted operation in interface create
Summary: Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>

Reviewers: cedric, raster, rajeshps, prince.dubey

Reviewed By: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5288

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 11:59:46 -07:00
Godly T.Alias 3ad9ac8926 evas: buffer is not used in the case where destination and source dimension is different
Summary: Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>

Reviewers: cedric, raster, rajeshps, prince.dubey

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5286

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 11:58:59 -07:00
Bryce Harrington 1f6d3b40e4 eina: spellfix comment in matrix code
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5280

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 11:51:56 -07:00
Bryce Harrington 150485b5d4 eina: document matrix3 API routines.
Summary: This adds missing doxygen documentation for eight matrix3 operations.

Reviewers: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5279

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 11:47:58 -07:00
Subodh Kumar be63db00a7 eina: comparing unsigned integer with less than zero.
Summary: Unsigned integer should not be compared less than zero.

Test Plan: NA

Reviewers: cedric

Subscribers: shilpasingh, jpeg

Differential Revision: https://phab.enlightenment.org/D5274

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 11:46:32 -07:00
Vincent Torri c47fdb8c80 evil: remove strrstr and ffs - not used in the EFL on Windows
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 11:40:10 -07:00
Jaehyun Cho 4dae43e4d1 efl_animation: Fix to set Efl_Event_Description for event animation
Any event represented by Efl_Event_Description can be registered for
event animation. (e.g. EFL_GFX_EVENT_SHOW, EFL_GFX_EVENT_HIDE, etc.)
2017-10-13 22:56:33 +09:00
Marcel Hollerbach d24c00d2be elm_toolbar: use prepare to get focus into the items again 2017-10-13 12:31:48 +02:00
Marcel Hollerbach 6acaf6350c efl_ui_focus_object: introduce prepare_logical
with this call a registered logical item could prepare itself for a
deeper traversal
2017-10-13 12:31:48 +02:00
Marcel Hollerbach 75f5ea686f efl_ui_focus: add parent_provider
thats just a little helper, where the logic to find and fetch the
provider is bound to the position in the widget tree, this means that
for example gengrid could change the way the logical parent is
evalulated. (For example to map the logical parent to a item)
2017-10-13 12:31:47 +02:00
Marcel Hollerbach 441776f7cf efl_ui_focus_manager_calc: make sure to not access out of bounds mem 2017-10-13 11:52:58 +02:00
Amitesh Singh 2cf24eb304 eina: strbuf - Add strftime related functions
eina_strbuf_append_strftime()
eina_strbuf_insert_strftime()
eina_strbuf_prepend_strftime() - macro

We need these functions for implementing generic format function
interface especially for calander.

Ref T6204
2017-10-13 16:04:24 +09:00
Jaehyun Cho 6857f349b0 efl_animation: Fix shadowing local variable warning 2017-10-13 15:37:58 +09:00
Jean-Philippe Andre 94d0967fad evas: Fix crash when object is not fully created
This fixes make check.
2017-10-13 14:29:15 +09:00
Jean-Philippe Andre 60e31101a6 evas: Fix C++ compilation
Efl.Animation and Efl.Canvas.Object need each other, and introduce a
cyclic dependency. Eolian doesn't complain... but C++ fails to compile,
as one header must be included before the other, and vice-versa.

Do we have other cyclic dependencies? I remember we lifted the
limitation in eolian itself, but can't remember exactly how it should be
handled...

Ping @q66 @felipealmeida
2017-10-13 14:15:52 +09:00
Jean-Philippe Andre ccee1c0944 eo: Simplify debug_name_override
Simply pass in the strbuf and don't expect the callee to own it. This
makes things simpler and safer (it'll crash only if the callee frees
said strbuf, and shouldn't leak). efl_ebug_name is new in the upcoming
release, EFL 1.21.

Realised this after talking with Amitesh. Thanks.

See 999dbd9764
And c4769ff898
2017-10-13 10:57:00 +09:00
Derek Foreman 10b6383640 ecore_wl2: Synchronize state with surface commits
This is really several inseparable commits mashed together, as doing this
a piece at a time would introduce broken intermediate revisions.

Double buffer incoming "configure" state from the compositor so it's held
back during asynchronous render and processed at frame completion.

Hold off on certain requests if their API has been invoked during async
render.

This should fix a lot of races, cosmetic issues, issues where weston can
kill our clients for acking configure (or not) at bad times, etc.
2017-10-12 12:24:03 -05:00
Derek Foreman 9918a2c920 ecore_wl2: Don't overwrite saved geometry if switching fs to max
If we switch from fullscreen to maximized we need to keep the pre-fs
geometry around in case we ever unmaximize AND unfullscreen.
2017-10-12 12:24:03 -05:00
Derek Foreman 10de856ee9 ecore_wl2: Don't overwrite saved geometry if switching max to fs
If we switch from maximized to fullscreen we need to keep the pre-max
geometry around in case we ever unmaximize AND unfullscreen.
2017-10-12 12:24:03 -05:00
Derek Foreman 1d1d2d76aa ecore_wl2: Push out maximize set with a display flush
We want this request to get to the compositor as soon as possible.
2017-10-12 12:24:03 -05:00
Derek Foreman da85d1330d ecore_wl2: Push out fullscreen set with a display flush
We want this request to get to the compositor as soon as possible.
2017-10-12 12:24:03 -05:00
Derek Foreman 8e3793c90b ecore_wl2: Bind dmabuf version 2
Version 2 allows for create_immed requets.  No new events are added until
version 3, so this is a trivial update.
2017-10-12 12:24:03 -05:00
Derek Foreman 4985dee49d ecore_wl2: Fix setting empty input regions
We should still update window->input_rect when the input region is empty.
2017-10-12 12:24:03 -05:00
Derek Foreman c4b19a77b6 ecore_wl2: Fix setting empty opaque regions
We should still update window->opaque when the opaque region is empty.
2017-10-12 12:24:03 -05:00
Derek Foreman f6bd73167a ecore_wl2: Add as partial commit function for setting off a tick
This adds the concept of a "false commit" that just sends a surface
commit without changing any other state.

This is intended to be used by ecore_evas to request a frame callback
from the compositor
2017-10-12 12:24:03 -05:00
Derek Foreman 0a185d3efd ecore_wl2: Add new API to latch window state for updates
Add an API to call at the beginning of render to latch state at
that moment, and use it for the wayland engine.
2017-10-12 12:24:03 -05:00
Derek Foreman 0badc0522b ecore_wl2: Split configurations into client set and compositor requested
This should lead to clearer and more maintainable code than having one
pile of state that's asynchronously fiddled with by both client and
compositor.
2017-10-12 12:24:03 -05:00
Derek Foreman 10b3a41ab0 ecore_wl2: Move some state into its own struct
These need to be double buffered, and that will be done in a follow up
patch.
2017-10-12 12:24:03 -05:00
Derek Foreman 51e2514492 ecore_wl2: Add a getter for window->resizing 2017-10-12 12:24:03 -05:00
Derek Foreman 3fba59386b ecore_wl2: Fix some @since tags
Seems my brain missed the efl release and started tagging new API
incorrectly in the doxy.

This is all beta API that should probably only be used by other EFL
internals anyway, but I suppose it's a good idea to try to be somewhat
correct.
2017-10-12 12:24:03 -05:00
Jaehyun Cho 39cc542d7f efl_animation: Add interpolator property
Interpolator property is added to apply interpolation function.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 2ae42b00ab ecore: Add Efl.Interpolator class
Efl.Interpolator class is to interpolate a value.
Efl.Interpolator class has the following interpolation function classes
as its subclasses.

Efl.Interpolator.Linear
Efl.Interpolator.Accelerate
Efl.Interpolator.Decelerate
Efl.Interpolator.Sinusoidal
Efl.Interpolator.Divisor
Efl.Interpolator.Bounce
Efl.Interpolator.Spring
Efl.Interpolator.Cubic_Bezier
2017-10-12 21:03:49 +09:00
Jaehyun Cho e83facfb37 efl_animation: Add repeat_mode property
To not display original state when the reverse repeat starts, the
animators in group parallel and group sequential are deleted.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 595f47e202 efl_animation: Add start_delay property
Add start_delay property to delay the given amount of time in seconds
from when the animation starts until the animation is animated.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 108994d383 efl_animation: Add repeat_count property 2017-10-12 21:03:49 +09:00
Jaehyun Cho 87a14507b2 efl_animation: Add pause and resume methods
Add target_map_reset method to fix flicking issue when animation is
paused and resumed.
2017-10-12 21:03:49 +09:00
Jaehyun Cho a6e03da5f0 efl_animation: Support event animation
Register an animation for an event.
Start the animation when the event happens.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 4112a68e32 efl_animation: Add sequential group animation and object
Efl.Animation.Group.Sequential is a class for animations started in
sequence.
Efl.Animation.Object.Group.Sequential is a class which provides
methods for an object of Efl.Animation.Group.Sequential.
The objects added into the sequential group animation object start
in sequence.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 923a5b02eb efl_animation: Add parallel group animation and object
Efl.Animation.Group.Parallel is a class for animations started in
parallel.
Efl.Animation.Object.Group.Parallel is a class which provides methods
for an object of Efl.Animation.Group.Parallel.
The objects added into the parallel group animation object start in
parallel.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 861a90415c efl_animation: Add group animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho e1a73fffb9 efl_animation: Add group animation
Efl.Animation.Group is an abstract class which provides methods for
group animations such as parallel and sequential group animations.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 5a1147d643 efl_animation: Add translate animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho f01c96e542 efl_animation: Add translate animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho 5540520846 efl_animation: Add scale animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho c3865609c9 efl_animation: Add scale animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho 29917e4e91 efl_animation: Add rotate animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho d4f96f9728 efl_animation: Add rotate animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho 58dd0bebaa efl_animation: Add alpha animation object 2017-10-12 21:03:49 +09:00
Jaehyun Cho 31ed27f002 efl_animation: Add alpha animation 2017-10-12 21:03:49 +09:00
Jaehyun Cho b4d4e2a2cc efl_animation: Add animation object
Efl.Animation.Object is a class which starts or cancels animation.
Efl.Animation.Object instance is created by Efl.Animation instance.
So Efl.Animation.Object instance contains animation properties from
Efl.animation instance.

Animation properties are set by using Efl.Animation instance and the
animation is started or cancelled by using Efl.Animation.Object.
2017-10-12 21:03:49 +09:00
Jaehyun Cho 5038223b61 efl_animation: Add efl_animation
Efl.Animation is a class which contains basic properties of animation
for Efl.Canvas.Object.
2017-10-12 21:03:49 +09:00
Jean-Philippe Andre 72f1fbf4f1 widget: Rename focus_region (EO)
This region has little to do with focus, as it's more of a region of
interest within the widget, and not directly related to the highlight
geometry, for instance. It's related to focus in the sense that only
widgets with focus would really care about this region.

I decided to change this name after talking with @bu5hm4n.
Note that gengrid uses this but is also completely broken (the focus
highlight floats around and you don't even see the focused item).

Note: This is very close to show_region but I'm not sure those can be
merged safely (since the default "focus_region" is NULL while the
default "show_region" is the widget's geometry).

Ref T5363
2017-10-12 19:33:04 +09:00
Jean-Philippe Andre 19dff85519 edje_object: Mark access_part_iterate as @beta
This may be internal... Not sure we need this exposed outside of the
ATSPI layer, really. Marking as beta for now.

Ref T5315
2017-10-12 16:02:04 +09:00
Sungtaek Hong 2b4f674a0d efl_ui_bg: fix ELM_BG_OPTION_CENTER bg in left top side.
Summary:
 - setting size_hint_min logic was deleted while changed elm_bg to efl_ui_bg.
 - this sets size_hint_min again.

@fix

Test Plan:
1. Run Elementary test
           2. Run Bg Option
           3. Select Center radio.
           4. Resize windows.
           5. Observe bg images remains in center.

Reviewers: jpeg, JackDanielZ

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5281
2017-10-12 15:29:39 +09:00
Jean-Philippe Andre ca581e00ba evas: Implement support for different H/V font DPI
This is modifying how a rarely used environment variable that sets the
DPI used for font sizing is parsed. The previous form remains valid, of
course. Note that EFL tends to use "scaling" instead of this DPI. The
font DPI is useful for me to open up a terminology window with almost
the same size as my IDE's code viewer.

Use case:

  export EVAS_FONT_DPI=95x94 terminology

Note:
I still don't get a 1:1 match with Qt's rendering, and in fact
94x95 works better than what 95x94 (which is reported by xdpyinfo).
Interesting though :)

@feature
2017-10-12 15:25:05 +09:00
Jean-Philippe Andre 47a4632398 widget: Some EO docs formatting
Cosmetic surgery.
2017-10-12 12:28:23 +09:00
Cedric BAIL 1ff6cbde54 elementary: add way to exit symetric to EFL_MAIN. 2017-10-11 14:21:12 -07:00
Chris Michael 7d36ef88bc evas: Compile out unused functions
These timestamp functions are not currently being called, perhaps they
were intended for something later?, but for now just #if 0 them out as
they are not used

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-11 09:17:35 -04:00
Marcel Hollerbach 9790de4b0c elm: include those headers in Elementary.h 2017-10-11 09:51:33 +02:00
WooHyun Jung 3e2f727d47 efl_ui_clock: remove unused signals 2017-10-11 11:00:25 +09:00
Marcel Hollerbach c4583e1647 elm_main: also return true when the object is a redirect manager 2017-10-10 22:25:22 +02:00
Marcel Hollerbach d15ee47db0 elm_interface_scrollable: use focus_geometry not normal geometry 2017-10-10 22:25:21 +02:00
Marcel Hollerbach 48129e7a8e elm_widget: also eval all children when we are visible 2017-10-10 21:23:42 +02:00
Marcel Hollerbach 7880dcd7d4 elm_widget: remove apis we dont need anymore 2017-10-10 19:30:01 +02:00
Marcel Hollerbach 247d203c68 elm_main: port to new focus api 2017-10-10 19:28:48 +02:00
Marcel Hollerbach 8453ebfe4e elm: move the focus direction definition to general
and remove the old definition
2017-10-10 19:28:48 +02:00
Marcel Hollerbach 9d5cc349da elm_code: remove those parts
they are not anymore needed, before they existed for keeping the focus
in the window, even if the keystrokes should be focus movements. This is
already working without this.
2017-10-10 19:28:48 +02:00
Marcel Hollerbach 17e730e8e0 efl_ui_win: port to new focus api! 2017-10-10 19:28:48 +02:00
Marcel Hollerbach 76c202c3e5 elm_access: Port to the new focus api 2017-10-10 19:28:48 +02:00
Marcel Hollerbach 5471a2249e elm_gengrid: disable the code for now
it will return later
2017-10-10 19:28:48 +02:00
Marcel Hollerbach a38f5c3892 elm_genlist: for now disable this code
it will return later
2017-10-10 19:28:48 +02:00
Marcel Hollerbach 89290b40a9 elm_list: for now disable the code
it will return later
2017-10-10 19:28:47 +02:00
Marcel Hollerbach a112aaafbb elm_colorselector: migrate to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach e7b6d8b86c elm_spinner: migrate to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5951aa8742 elm_panel: make it a layer 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 94afff21da elm_ui_focus_layer: add configurable behaviour
the layer can now be configured if it should be automatically enabled at
visibility and if the focus should cycle in the layer or not.
2017-10-10 19:28:47 +02:00
Marcel Hollerbach 383dd5de15 elm_notify: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach c2d0b08e2b elm_segment_control: migrate to composition!
Yes! We now have a widget where the we can focus items ... but nothing
more ... ?!
2017-10-10 19:28:47 +02:00
Marcel Hollerbach 911ad8a022 elm_calendar: migrate to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5b015aa881 elm_clock: convert to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 35a01340d3 introduce efl_ui_focus_composition!
It does what the class description tells
2017-10-10 19:28:47 +02:00
Marcel Hollerbach 991b7696b6 efl_ui_focus_manager_calc: delete items if they are deleted 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 65aff8c82c elm_widget: use the user_manager for setting focus 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 7a86e23642 efl_ui_Focus_manager_root_focus: add focus rectangle
the focus rectangle is basically just a normal efl.canvas.rectangle, but
with the focus interface implemented.

This fixes alot of errors which gets called when the root_focus manager
is used, with the submanager as mixin.
2017-10-10 19:28:47 +02:00
Marcel Hollerbach e8039ffc2d efl_ui_focus_manager_root_focus: correctly call state eval
when a new item is registered we should eval state to unregister the
rect
2017-10-10 19:28:47 +02:00
Marcel Hollerbach e3c87f8fed efl_ui_focus_manager_root_focus: only register if we really need to 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 6ba107b899 elm: introduce efl_ui_focus_layer
what it does is described in the mixin

this commit refactors inwin hover popup ctxpopup to use that behaviour.
Since it should do exactly that.
2017-10-10 19:28:47 +02:00
Marcel Hollerbach ac18f7fe04 elm_conform: use legacy elm_object api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach b48ef579e6 elm_dayselector: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5ca9853eda elm_toolbar: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 7cef664696 elm_slideshow: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 47b0afb315 elm_seperator: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach d2a37a7f40 elm_scroller: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5cac7531bd elm_prefs: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 9d88181510 elm_label: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 092b8b8039 elm_diskselector: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 027ffd65c8 elm_inwin: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach dd17fe8de0 elm_index: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach ff792bd3e8 elm_hover: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach cddd333b7d elm_flipselector: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 9d3559cd6b elm_fileselector_entry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach bd628bbfcc elm_fileselector: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 265a26f68e elm_entry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 233bd3cdca elm_bubble: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach e01486c2ca elm_actionslider: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 7b6ef8910c efl_ui_video: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6bc769b317 efl_ui_text: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6f9beb01c5 efl_ui_slider: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 1ef5ea660f efl_ui_progressbar: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach f918975bf0 efl_ui_panes: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach b9264b7d6c efl_ui_layout: remove old api! 2017-10-10 19:28:46 +02:00