Commit Graph

62744 Commits

Author SHA1 Message Date
Marcel Hollerbach 577b82dad6 Introduce Efl.Ui.Item_Container
this is a new widget which aims to replace Efl.Ui.Grid / Efl.Ui.List.
The widget is split up in a widget and a interface for item placement.

Efl_Ui_Item_Position_Manager: The interface contains API which is used
by the Item_Container to place the items, there is also a set of common
tests which tests for the casual tripping wires, and ensures that the
events are emitted in the correct moments (the later part still can be
improved)

Efl_Ui_Item_Container: The widget itself, it contains the API for the
enduser to add Items to the widget, it handles the different modes for
selection type and emits the events for selection changes. The pack API
is conform with the spec unit test. An additional set of tests is
defined which should be able to be run on every widget with a specific
position_manager beeing set.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9285
2019-07-24 10:38:22 -07:00
Carsten Haitzler 0cd5427c3f build - cmake files - remove old seemingly unused cmake files 2019-07-24 17:53:09 +01:00
Carsten Haitzler a1421564e5 examples - add efl_thread and efl_exe to them 2019-07-24 17:51:27 +01:00
Carsten Haitzler c3807413e7 build - remove old .mk files that were for autofoo not meson 2019-07-24 17:44:05 +01:00
Hermet Park 54a8ba3d8c Revert "elm/scrollable: avoid unnecessary edje recalcs"
This reverts commit 4279f75f0b.

This totally breaks popup control in Tizen,

Need to consider necessity of this patch,
further potential side effects possibilities.
2019-07-24 21:31:07 +09:00
Hermet Park 735f05de76 Revert "Revert "efl/scroll manager: stop clearing animators on every wheel event""
This reverts commit a836c73ef6.

Sorry, I mistook the picking of commit id...
2019-07-24 21:31:07 +09:00
Xavi Artigas d7f1f4f3b8 mono-docs: Filter out some more unwanted constructors
These should not be used by users, so take them out of the DocFX docs.
2019-07-24 14:14:13 +02:00
Xavi Artigas a45cc2d47b docs: minor nitpicks to Efl.Ui.Win docs 2019-07-24 14:13:56 +02:00
Hermet Park a836c73ef6 Revert "efl/scroll manager: stop clearing animators on every wheel event"
This reverts commit e6393393cc.

This totally break popup control in Tizen,

Please consider necessity of this patch,
further potential side effects possibilities.
2019-07-24 20:47:28 +09:00
Hermet Park ac75934d06 textpath: + null handling. 2019-07-24 14:28:29 +09:00
Xavi Artigas 7c030aa57e mono-docs: Indicate when methods and properties are BETA
Summary:
Previous commit added a <remarks> section to BETA classes.
Methods (and properties) cannot have <remarks> section so a bit
of bold text is added instead to their summary.

Depends on D9380

Test Plan: Generate docs and observe beta methods and properties have a note regarding their betaness in the summary.

Reviewers: lauromoura, vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9382
2019-07-23 21:53:01 +02:00
Xavi Artigas d20b8ad42a mono-docs: Allow HTML codes in documentation
Summary:
All comments from EO files are HTML-escaped (i.e. "<" is turned into "&lt;"), and this is good.
However all text added by the mono code generator is HTML-escaped too, and that is a pity.
Circumventing the escaping in the generator involves serious code changes so it is simpler to
allow "escaping" characters to avoid escaping...
"<" is turned into "&lt;"
but
"\<" is turned into "<"

If you are giving these strings from C, remember that the backslash needs to be escaped too!
For example: "\\<b\\>Hello\\</b\\>"

This is intended for use in the generators, NOT in the EO docs.

Test Plan: Everything works as before, but now HTML codes can be added from the generators.

Reviewers: lauromoura, vitor.sousa, felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9380
2019-07-23 21:53:01 +02:00
Xavi Artigas 5585420e85 mono-docs: Indicate when a class is BETA
Summary:
The mono generator adds a <remarks> section to all BETA classes with an explanatory text.
These tags are understood by DocFX and Monodevelop.
On top of this, this commit modifies the DocFX template to give the Remarks section a more
prominent place in the page.

Test Plan: Render docs, Beta classes should have a big blue box with a remark about the class being Beta and dangerous.

Reviewers: lauromoura, vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9381
2019-07-23 21:53:01 +02:00
Marcel Hollerbach 3eb7b3793b eolian: start to express ownership transfere
before @owned was not even expressed in the api definitions of the
generated APIs, this adds support for it.

@owned is now expressed with EFL_TRANSFER_OWNERSHIP in a arguments. And
that preprocessor directive is documented.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D9369
2019-07-23 18:09:36 +02:00
Vitor Sousa 253e18159b eolian_mono: parse `binbuf` and `event` keywords, also re-enable binbuf tests
Summary:
Parse `binbuf` and `event` type names and generate the proper binding type.

In 288f645e3c tests for `Eina.Binbuf` were disabled in order to avoid the
usage of deprecated notations in eolian.

Since the new `binbuf` keyword works as a substitute for the old notation
`ptr(Eina.Binbuf)`, tests were updated and re-enabled using the new notation.

Test Plan: `meson test`

Reviewers: felipealmeida, lauromoura, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9349
2019-07-23 14:09:24 +02:00
Subodh Kumar 8c90deecd7 [elm] Add missing sizing eval hook at check
Summary:
check is not shown in our Tizen demo.
sizing eval missing.

@fix

Test Plan: NA

Reviewers: zmike, Hermet, cedric, bu5hm4n

Subscribers: bu5hm4n, #reviewers, #committers

Tags: #efl

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9378
2019-07-23 10:06:04 +02:00
Mike Blumenkrantz 47423ab720 efl_ui/scroll_manager: mimic feel of legacy scroller
Summary:
previously this used a hard linear scroll with a fixed animation time for
mouse wheel events, resulting in an unnatural scroll feel due to abrupt
animation termination

using the decelerate interpolator improves this, and we should be using the
config to determine animation speed
Depends on D9347

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9354
2019-07-22 17:39:14 +02:00
Carsten Haitzler a26c787e2b Revert "efl_ui_layout: set needs_size_calc flag at constructor"
This reverts commit 98b1924432.

This totally broke elm widget min size calcs, e dialogs... sizing is
totally broken and unusable as a result. this is a major break and
needs immediate reverting back to a working state. Sorry Woki. You
need to test this... elementary_Test out of the box is totally broken
as all hell not to mention a lot more.
2019-07-22 15:10:40 +01:00
Christopher Michael 1b20f789dc Revert "tests/ecore_wl2: Reduce calls to ecore_wl2_display_connect"
Reverting this as it causes tests to stall (essentially 'meson test
ecore_wl2-suite' just hangs) when run inside a compositor.

This reverts commit a526285db4.
2019-07-22 10:05:27 -04:00
Christopher Michael a526285db4 tests/ecore_wl2: Reduce calls to ecore_wl2_display_connect
In order to reduce display setup time during test execution, we can
just connect once and run all the window tests after that.

ref T8016
2019-07-22 09:48:19 -04:00
Christopher Michael 725cce8cb4 tests/ecore_wl2: Combine tests of ecore_wl2_window_surface functions
ref T8016
2019-07-22 09:36:59 -04:00
Christopher Michael c1c4072b07 tests/ecore_wl2: Add wayland protocol as a dep for ecore_wl2 tests
ref T8016
2019-07-22 09:36:59 -04:00
Subodh Kumar 63275dfef8 [elm] Add missing sizing eval hook at radio
Summary:
radio is not shown in our Tizen demo.
sizing eval missing.

@fix

Reviewers: Hermet, bu5hm4n, cedric, zmike

Reviewed By: zmike

Subscribers: akanad, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9356
2019-07-22 09:09:00 -04:00
Wonki Kim 98b1924432 efl_ui_layout: set needs_size_calc flag at constructor
Summary:
even if there is a min definition on theme for some object,
the objects don't have the min size if we do nothing after creating it.

elm_layout_sizing_eval will return with doing nothing while executing contructor
so that _sizing_eval in _layout_group_calculate will never be invoked without calling hint_set, text_set, content_set, etc.

this patch modifies a initial state of needs_size_calc flag
so that object will doing _sizing_eval after executing constructor.

Test Plan:
1. remove lines that call apis such as content_set, hint_set, text_set
  in radio test on elementary_test

2. observe that radios don't have min size

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9368
2019-07-22 09:08:55 -04:00
Christopher Michael 28c232d770 tests/ecore_wl2: Add test for ecore_wl2_window_display_get
ref T8016
2019-07-22 09:02:10 -04:00
Christopher Michael a7cc7730af tests/ecore_wl2: Add test for ecore_wl2_window_aux_hints_supported_get
ref T8016
2019-07-22 09:00:17 -04:00
Christopher Michael 5cf095dd3d tests/ecore_wl2: Add test for ecore_wl2_window_output_find
ref T8016
2019-07-22 08:57:33 -04:00
Christopher Michael afe8414925 tests/ecore_wl2: Add test for ecore_wl2_window_rotation_get
ref T8016
2019-07-22 08:55:04 -04:00
Christopher Michael 8510de33c3 tests/ecore_wl2: Add test case for ecore_wl2_window_surface_id_get
ref T8016
2019-07-22 08:40:34 -04:00
Christopher Michael 11de06e5b8 tests/ecore_wl2: Add test for ecore_wl2_window_surface_get function
ref T8016
2019-07-22 08:37:39 -04:00
Christopher Michael ccfd74f17a tests/ecore_wl2: Remove use of macros for display setup & connect
ref T8016
2019-07-22 08:37:27 -04:00
Marcel Hollerbach 5fd3436b17 efl_ui_widget: fix warning 2019-07-22 10:44:30 +02:00
Mike Blumenkrantz 5dac20f69f efl_ui_widget: add safety checks to verify parents aren't being added as children
somehow it was never checked to see if a parent was being added as a subobject
of a parent's own child object (recursive hierarchy)

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9333
2019-07-22 10:44:30 +02:00
Cedric BAIL 6da5bd35a9 ecore_evas_convert: add the ability to split large jpeg file.
Summary:
After trying convert to split very large image and running out of
memory, this few line of code did seems like the best solution. Maybe
there is some benefit to try to make Ecore_Evas_Convert more useful.

Reviewers: zmike, raster, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9337
2019-07-22 10:39:42 +02:00
Hermet Park 44363bb70f efl_canvas_vg image: changed image parameter type.
it's still in improvement stage in beta.
2019-07-22 17:31:06 +09:00
Hermet Park 2e37d2f30f ecore_evas buffer: fix a deadlock issue.
We encountered a deadlock case in ecore_evas_image_object in ecore_evas_buffer
that only happens if the ecore_evas_buffer has nothing changed to render,
though it's triggered to rendering.

See this normal scenario that is working fine as our intention.

being ecore_evas_render()
...
 -> ecore_evas_buffer_prepare()
     -> evas_object_image_data_get()
         -> increment lock by backend engine. (egl/tbm ...)
 -> render()
     -> render_post()
        -> _ecore_evas_buffer_update_image()
            -> evas_object_image_data_set()
               ->decrement lock by backend engine (egl/tbm ...)
...
end ecore_evas_render()

The problem is, if the ecore_evas_buffer canvas doesn't changed at all,
render post will be skipped, it could lose the chance to unlock the image data.
Now the host can't render anymore since it's image source lost the lock.

@fix
2019-07-22 17:14:10 +09:00
Hermet Park f6729087ca efl_ui_textpath: deprecate elm_textpath_circle_set()
Summary:
this api can be replaced with elm_textpath_circular_set()

Depends on {D9260}

Reviewers: #committers, kimcinoo

Reviewed By: #committers, kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9314
2019-07-22 17:01:45 +09:00
Hermet Park bf7e05586f efl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.
Summary:
This patch revises efl_ui_textpath_circle_set() interface.

Current circle_set() behavior is wrongly working,
it makes object minimal size with (x * 2, y * 2).
Insanely, how big size if the object is far from the screen origin.

Secondly, current interface requires center position,
How this center position could be guranteed if user wants to put it into a container?

Third, actual textpath output could be out of the textpath boundary,
since the textpath is originated to middle of text height.
the display boundary can be outside of the textpath geometry by (half of text height).

All in all, put altogether in fix,
I confirmed there is no methods without any compatibility break.

This brings elm_textpath_circular_set() api introduced.

@feature

Reviewers: #committers, kimcinoo, jsuya

Subscribers: zmike, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9260
2019-07-22 16:47:43 +09:00
junsu choi e97d3c08ea evas_vg_json: Add image embedded example
Summary:
add example code and json resource.

plus)
Add ECTOR_BACKEND="default" Environment variable
because cairo backend is not supported.

Depends on
D9218 Ector.Renderer : Implement Ector.Renderer.(Software).Image class
D9219 Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class
D9220 vg_common_json : Support image data of node

Test Plan:
cd .src/examples/evas/
gcc -o evas_vg_json evas-vg-json.c `pkg-config --libs --cflags evas ecore ecore-evas eina ector eo efl`
./evas_vg_json

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9351
2019-07-22 13:54:25 +09:00
junsu choi e9f8ef6ea4 vg_common_json : Support image data of node
Summary:
When node has image data, it creates Efl.Canvas.Vg.Image class
and set transform information and data information.

Depends on
D9218 Ector.Renderer : Implement Ector.Renderer.(Software).Image class
D9219 Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9220
2019-07-22 13:53:21 +09:00
junsu choi 56ebaea1fe Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class
Summary:
Implements a vector class that can support image.
User can use this class to output an image with a vector object.

Depends on D9218:Ector.Renderer : Implement Ector.Renderer.(Software).Image class

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9219
2019-07-22 13:37:47 +09:00
junsu choi 1ce14bc85d Ector.Renderer : Implement Ector.Renderer.(Software).Image class
Summary:
Implement a class and drawer that outputs image data from the Ector.
Image data is output with a vector object and supports transform.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9218
2019-07-22 13:29:02 +09:00
Carsten Haitzler de5eea226a ecore wl2 - fall back to shm if dmabuf fails in buf init
so even if shm was an allowed mode/flag, we never fell back to shm if
dmabufs were not possible (/dev/dri/renderD128  didn't exist or wansn't
open-able). that's decidedly a bad thing to do.

@fix
2019-07-22 00:36:07 +01:00
Carsten Haitzler 3195cf6d5f ecore - efl thread - remove mroe error case cnp code and share it
more cnp code de-duplication
2019-07-20 11:55:59 +01:00
Carsten Haitzler 54b321d459 ecore - efl thread - move duplicate code into shared func to reduce cnp
more copy & paste code - put into shared func.
2019-07-20 11:55:59 +01:00
Carsten Haitzler 40800366b2 ecore - efl thread - remove more copy & paste in fd in clearing handling
move to common shared function to reduce c&p
2019-07-20 11:55:59 +01:00
Carsten Haitzler 687b06fb3f ecore - efl thread - reduce copy & paste and merge into single func
the call and call sync stuff was almost entirely copy & paste - this
moves all the common code into shared funcs that reduce code bloat. it
also moved from heap to stack for sync reply struct location.
2019-07-20 11:55:59 +01:00
Mike Blumenkrantz bf01c2382a evas/map: permit evas_map_free(NULL)
free functions in efl should always handle null pointers gracefully

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9363
2019-07-19 15:05:04 -07:00
Mike Blumenkrantz 033b438891 tests/elm: fix event starter helper function to handle elm_win objects
this class implements EFL_CANVAS_SCENE_INTERFACE but is not an Evas,
so the evas must still be fetched

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9366
2019-07-19 15:05:02 -07:00
Mike Blumenkrantz dc1630d496 evas: fix type checking of Evas pointers in legacy functions
many of these functions go directly to evas internals with no eo checks,
and the existing "MAGIC_CHECK" macro has somehow become a useless null
check

type checking here is important in order to avoid crazy behavior when the
wrong object types are passed

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9364
2019-07-19 15:05:00 -07:00