Commit Graph

60616 Commits

Author SHA1 Message Date
Hermet Park 7c38c0c915 efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7494
2018-12-26 19:29:10 +09:00
Marcel Hollerbach 033d3031e6 build: enable luajit per default like in autotools 2018-12-25 12:11:10 +01:00
Hermet Park e9ef999de6 efl gfx_path: introduce efl_gfx_path_reserve()
Summary:
This method reserves path commands buffer in advance.
If user know the count of path commands coming,
they can reserve commands buffer in advance to avoid buffer growing job.

This reserved buffer would grow up by double size, if the buffer is full.

@feature

Reviewers: #committers, cedric

Reviewed By: #committers, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7456
2018-12-24 13:52:14 +09:00
Xavi Artigas 47728f0c89 efl-mono: Remove trailing () from doc references
Summary:
Some EO docs include () after a @method reference (some don't).
When the method reference is redered by DocFX it already includes
the trailing parenthese (and it even includes the parameter types),
so it looks very weird: Efl.Gfx.Stack.Raise()()

This patch removes the "()" string from any text comment following
an @ reference.

Test Plan:
Check DocFX docs for Efl.Gfx.Stack.Lower before and after this patch.
There are references to other methods which include the double parentheses.

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7504
2018-12-21 18:02:29 +01:00
Lauro Moura 8fa3f39e31 efl-mono: Remove warnings
Test Plan: run tests

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7501
2018-12-21 16:09:37 +01:00
Xavi Artigas 3b9f8f8d6a efl-mono: Use alternate docs when a property has no doc
Summary:
Use the getter or the setter documentation when a property has no documentation.
This is not ideal (all properties should have documentation!) but at least we
have less undocumented properties.
See for example Efl.Canvas.Vg.Above.

Test Plan:
The Efl.Canvas.Vg.Above property in src/lib/evas/canvas/efl_canvas_vg_node.eo.cs
was previously undocumented because that property (inherited from Efl.Gfx.Stack)
has no docs, only its getter has docs.

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7500
2018-12-21 15:31:33 +01:00
Xavi Artigas c84580cc05 doc: Turn comments from EO to C# XML syntax
Summary:
This allows them to be nicely rendered by IDEs and automatic
documentation generators like DocFX.
The conversion includes things like turning $name to <c>name</c>
or solving references to objects, which in turn requires converting
from EO object names to C# names.

It uses the same helper methods used to generate the C# object names,
so if these change in the future, the references in the comments
will change too.

Additionally, this patch fixes some minor bugs, like <para> tags
outside <summary> tags, misspelled <returns> tags or missing <returns>
documentation for getter methods.

Fixes T7453

Reviewers: lauromoura, vitor.sousa

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7453

Differential Revision: https://phab.enlightenment.org/D7467
2018-12-21 14:52:49 +01:00
Cedric BAIL 166d5e4767 ecore: fix build by having proper parameters order. 2018-12-20 14:07:19 -08:00
Cedric BAIL 9b5155c9f1 ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.
I am not sure this is the right way to do it as binding would have to likely
to bind it manually.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7492
2018-12-20 12:42:34 -08:00
Cedric BAIL ce56f32270 eina: add a function to free Eina_Promise attached data when the promise is destroyed.
Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7491
2018-12-20 12:42:33 -08:00
Cedric BAIL 1305f28bc1 efl: fix function call order.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7497
2018-12-20 20:52:43 +01:00
Marcel Hollerbach e43f090265 cmake: remove!
This build was never complete and also was not maintained probebly.

It is also dropped in favour of meson which is cool, merged, works & is fast.

Differential Revision: https://phab.enlightenment.org/D7010
2018-12-20 20:07:26 +01:00
Carsten Haitzler 6fcc3a56d8 meson - vix ecore wl2 pc generation to not include nonexistent wl lib
the ecore wl2.pc wanted to -lwayland_protocol ... which is never
installed. it's an in-tree .a we stattically link in, so remove it
from the pub libs in the pc. rthis was causing things that build
against efl to fail (like enlightenment).
2018-12-20 19:00:37 +00:00
Cedric BAIL e74578c7d3 elementary: switch to the new efl_future_then syntax.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7448
2018-12-20 10:44:45 -08:00
Cedric BAIL 50d675d6c1 elementary: make all view generate an event when the item is created.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7447
2018-12-20 10:44:44 -08:00
Cedric BAIL b992cc479e efl: add facility to generate an event when an item is created by the factory.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7446
2018-12-20 10:44:41 -08:00
Cedric BAIL 3ef87a251b eina: use the correct type for casting to avoid issue on Windows.
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7458
2018-12-20 09:57:02 -08:00
Marcel Hollerbach 117d94d90e eio-tests: fix deadlocking of the testsuite
what happens was is that efl_model_children_count_get trigger the
monitoring to start. However, that means that *sometimes* the created
file in this test was sometimes called in a ADDED event due to the
listing of files, and sometimes due to the event of a newly added file.
The problem here is that when the ADDED event is added due to the file
listing and not the monitoring, then there *could* be a ADDED event and
the deletion of the file will not trigger a REMOVED event. Which is a
bug.

However, up to this point it is not fully clear to me if this is
solvable with this setup of monitoring or not. So this test is changed
to not trigger this deadlock anymore, the idea of the test is still
tested, just in another way.

ref T7478

Differential Revision: https://phab.enlightenment.org/D7412
2018-12-20 14:05:58 +01:00
Marcel Hollerbach e15d696372 theme: hide next and prev buttons when title is hidden
This ensures that a button is hidden when not beeing able to be visible.

fixes T6891

Differential Revision: https://phab.enlightenment.org/D7420
2018-12-20 14:05:14 +01:00
Marcel Hollerbach 20ddd4c679 efl_app: introduce app_main for getting the app object
This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.

fix T7509

Differential Revision: https://phab.enlightenment.org/D7480
2018-12-20 12:56:54 +01:00
Marcel Hollerbach 7031a8cd7e elm_widget: remove defines that are not implemented
Summary:
they are not implemented - so using them would not work, to me it looks
like they can be dropped.

Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7455
2018-12-20 19:55:20 +09:00
Stefan Schmidt ec3685f24f tests: eolian_cxx: ensure property_holder.eo file lands in dist
Summary:
In commit 98b716d0fa the new file was
added but the autotools build system not made aware that it is needed in
dist as well. The missing file broke the eolian_cxx tes suite build in
distcheck.
Depends on D7477

Reviewers: lauromoura, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7478
2018-12-20 11:49:50 +01:00
Stefan Schmidt 947b4f2c78 build: ensure we have a data_aux direcroy in our dist for the test eo files
Summary:
Due to our EXTRA_DIST2 crutch we need to handle the directory creation
on our won here. That was forgotten for the new data_aux folder in the
eolian tests. Creating it allows the files to be copied over and the
eolain seuite to pass in distcheck.

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7477
2018-12-20 11:45:15 +01:00
Hermet Park 149dcb17cb evas vg: optimize vg object internal connections.
Dectected huge amount of unnecessray internal events triggering
which were signaled via vg nodes.

By events, nodes were connected with each others,
and finally reaches to vg object to update its rendering properly.

However GFX_PATH_CHANGE signal is too commonly triggered for scenarios,
listening and response it is too burdensome.

We acutally don't need to do this if all nodes could share the
vg object. Nodes directly notify vg object to update it.

Next patch will come to remove stupid GFX_PATH_CHANGE that's aweful
in performance wise.
2018-12-20 14:42:38 +09:00
Woochanlee d9a222ecf5 Intruduce Efl.Ui.Panel (Create Efl Ui Widget from elm widget(elm_panel))
Summary: Create Efl Ui Widget from elm widget(elm_panel)

Test Plan: elementary_test -> efl_ui_panel

Reviewers: woohyun, Jaehyun_Cho, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7238
2018-12-20 11:32:28 +09:00
Xavi Artigas 2e2c225093 doc: Remove misplaced blank line 2018-12-19 13:51:55 +01:00
Stefan Schmidt 008b22c8a4 evas: fix distcheck build of ector evas engine
In commit fbe92aa67f a dependency on the
software_generic header file was brought to the gl_generic module.
The include path to make this work was updated for meson but not for the
autotools build.

TravisCI distcheck builds found this for us.

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7468
2018-12-19 10:33:49 +01:00
Marcel Hollerbach 7a5fbd1db6 build: make edje files dependencies of the theme
this makes theme work way more easier
2018-12-18 16:08:18 +01:00
Jérémy Zurcher 8a617fda97 silence most left over compiler warnings
Summary: silence -Wshadow -Wunused-variable -Wunused-parameter

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7473
2018-12-18 13:08:01 +01:00
Hermet Park 83a0e83e3f evas vg: fix indentation. 2018-12-18 15:25:48 +09:00
Jaehyun Cho 7a5589b14a efl_canvas_surface: change mixin to abstract
Summary:
If Efl.Canvas.Surface is changed from mixin to abstract, then its sub
classes do not need to inherit from Efl.Object to be a class.
Moreover, Efl.Canvas.Surface's data can be derived to its sub classes
easily.

Reviewers: jpeg, segfaultxavi, woohyun, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7411
2018-12-18 11:17:12 +09:00
Marcel Hollerbach 4a4d32b60d build: make bindings cross compileable
Differential Revision: https://phab.enlightenment.org/D7470
2018-12-17 17:43:08 +01:00
Marcel Hollerbach 42a23d1afa build: remove unused meson file
this was added by accident

Differential Revision: https://phab.enlightenment.org/D7469
2018-12-17 17:43:06 +01:00
Lauro Moura 95069a3038 meson: Enable dev flags for cpp
Had to add a pragma around CityHash64 to make it work with
-f-visibility=hidden

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7466
2018-12-17 16:38:40 +01:00
Hermet Park 3f17b4f054 evas vg: remove redundant function code. 2018-12-17 19:59:29 +09:00
Jaehyun Cho 01864e166b eolian_mono: use System.Type explicitly
Previously, "Type" was used with "using System".
However, it caused ambiguity if some classes had "Type" property.

Therefore, "System.Type" is used explicitly to remove ambiguity.
2018-12-17 19:38:45 +09:00
Marcel Hollerbach 27e5e8fa75 elm_gengrid: improve genlist behaviour
the new behaviour is (as genlist in the previous commit):
- focus the first item when down is pressed
- focus the last item when up is pressed
- do not go into the widget with tab or ctrl+tab and just return
immidiantly

fixes T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7454
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 5e0a602ee8 elm_widget_item_static_focus: fix ERR prints
There is the case that the deletion of the adapter can cause another
registeration, which then calls another time prepare, which then deletes
the adapter, before the actaul deletion of the first efl_del happened,
which means it will throw an error. To avoid this we track if we are in
process of a unrealization, and if so, do not delete the item there.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7453
2018-12-17 09:12:22 +01:00
Marcel Hollerbach e779492a1c elm_genlist: behaviour fixes for genlist
This implements the behaviour in case no item is yet focused, but the
genlist is focused.

ref T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7452
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 6922761f3f elm_gen****: fix focus restoring on window focus changes
this ensures that if there is no focused item, that at least the
container is focused. This leads to the fact that the elm_genlist
/elm_gengrid is refocused when a window is unfocused and focused again.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7451
2018-12-17 09:12:22 +01:00
Marcel Hollerbach ef874d5b59 efl_ui_focus_manager: performance optimize order setting
setting the order is a little bit expensive, this performance optimizes
order setting in the focus manager.  We don't need to set the order each
time something is registered, it is enough to set it once we need the
correct order.

We don't need to evalulate the state in the Manager_Root_Focus if the
rect is not registered. If its not, then another new element cannot
cause the rect to be registered.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7450
2018-12-17 09:12:22 +01:00
Yeongjong Lee d840a64550 elm-test: add a test for checking the focus_next_object_set
The object which is set by elm_object_focus_next_object_set should be considered
first when focus moved.

ref T7389

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7310
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2df601d589 elm_focus: implement legacy targets for logical widgets
they are now handled. The list of parents is walked until a possible
candidate is found or the parent chain is the same then in the next
focused element.

fix T7389

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7404
2018-12-17 09:12:22 +01:00
Marcel Hollerbach dfc9cd8a67 elm_focus: implement elm_object_focus_next_item_set / get
you can use this now to let the focus move to the widget container of
the passed item.

I know this patch contains a whitespace change, but i have to get out
this whitespace each & every time i am editing the file - which is
annoying. So remove it once, which makes further work easier.

fixes T6183.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7408
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2d4f25fb32 elm_config: fix valgrind warnings
buf is only initializied, if on_flush is true.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7449
2018-12-17 09:11:19 +01:00
Marcel Hollerbach 28f155a5c6 build: add warnings and compiler flags to meson
this moves meson and autotools closer to each other. The flags are
selected in order to keep the amount of warnings low.

Differential Revision: https://phab.enlightenment.org/D7429
2018-12-17 09:11:18 +01:00
Carsten Haitzler 0d2b624f1e evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 fix typedef
It seems that GL_VERSION_1_5 define == these provided by gl already. At
least reading the mesa headers I do, so this should fix T7502

@fix
2018-12-15 16:19:01 +00:00
Lauro Moura 9603cc07eb efl-mono: Fix call of virtual methods after new API
Summary:
After the new API, the virtual wrapper classes (*NativeInherit) just
declared the wrappers for the current class. But as they didn't have any
inheritance information, reimplementing methods from a parent Eo class
wouldn't work. (e.g. Efl.Ui.Button reimplementing Efl.Object
FinalizeAdd).

This commit changes these NativeInherit classes to mimic the inheritance
chain of their regular/abstract counterparts, reusing the virtual
wrapper implementations.

In order to access the correct Eo class created, the methods on it were
changed from static to instance methods. The instance will be held as a
class member of the regular/abstract API class to keep the delegates
alive and allow getting C Function pointers from them.

The class_initializer method was also split in two. The method
collecting the wrapper delegates was extracted in order to call the
parent ones.

Also avoid exception in cached strings queries as TryGetValue requires
non-null keys.

Test Plan: Run test suite.

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7460
2018-12-14 20:47:46 -02:00
Lauro Moura dd5c230353 eolian-cxx: Add parent/extensions information to klass_def
Summary: Following new Eolian api.

Test Plan: Run newly added test

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7459
2018-12-14 19:45:44 -02:00
Lauro Moura a83c3cdba4 eolian_mono: Add support for C# style properties
Summary: Syntatic sugar around the Get/Set functions for now.

Test Plan: Run efl-mono-suite

Reviewers: vitor.sousa, segfaultxavi, felipealmeida, Jaehyun_Cho

Reviewed By: vitor.sousa

Subscribers: cedric

Tags: #efl_language_bindings

Differential Revision: https://phab.enlightenment.org/D7394
2018-12-14 18:30:59 -02:00