Commit Graph

21265 Commits

Author SHA1 Message Date
Xavi Artigas a80b1dca23 doxygen docs: Fix grouping mess in Eina Simple XML
Seriously, who came up with such convoluted doxygen code?
2020-05-08 12:32:09 +02:00
Xavi Artigas 78aa7a7467 doxygen docs: Complete docs for Eina Module
And fix yet another doxygen grouping mess
2020-05-08 12:32:09 +02:00
Xavi Artigas 2aae4a0c85 doxygen docs: Complete docs for Eina Log 2020-05-08 12:32:09 +02:00
Xavi Artigas 361aa83a17 doxygen docs: Complete docs for Eina CPU functions 2020-05-08 12:32:09 +02:00
Xavi Artigas 88d1c886bd doxygen docs: Complete docs for Eina_Rectangle 2020-05-08 12:32:09 +02:00
Vincent Torri d135957ffa Use __func__ C99 identifier instead of __FUNCTION__ compiler extension
Summary: see http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf section 6.4.2.2 page 52

Test Plan: compilation

Reviewers: raster, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11785
2020-05-07 09:27:07 -04:00
Ali Alzyod 287ec50203 edje_textblock: content_fit size_range update
Summary: update size range will skip empty font_sizes

Reviewers: woohyun, bowonryu

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11507
2020-05-06 20:33:42 +09:00
Ali Alzyod 4447e10b63 edje_textblock: optimize priority handling for content_fit options
Summary: this patch will reduce amount of unnessesary calculations, if user set both font_size_array and size_range for content fit.

Reviewers: woohyun, bowonryu

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11498
2020-05-06 20:30:15 +09:00
Ali Alzyod 4976097bd4 evas_textblock: clear paragraphs during markup_set
Summary: Clear paragraph during markup set, instead of waiting until next text layout to happen, this will release unused memory right away

Reviewers: woohyun, zmike, bu5hm4n, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11773
2020-05-06 10:40:37 +01:00
Stefan Schmidt e1c26157f4 ecore_drm: ensure we have the symbol available at the right place.
Summary:
Linking under Fedora32 toolchain got more picky. Ecore_drm_device.c
needs the symbol so make sure we have it there.

Reviewers: devilhorns, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11772
2020-05-05 11:29:19 +01:00
Ali Alzyod 3dff471826 evas_textblock: optimize calculate main format once in layout setup stage
Summary:
This change based on discussion on D9533 , where @smohanty example shows that unnecessary calculation happened on textblock related to lay-outing

Where now _layout_setup will not calculate main format using (_format_fill) unless style has been changed.

expedite commit:
https://git.enlightenment.org/tools/expedite.git/commit/?id=dc6c931dc2e6c240d3e240f24578980c689ab7fc
src/bin/textblock_text_fill_format.c

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1
#include <Eina.h>
#include <Efl.h>
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *textblock;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("Main", "App");
   elm_win_autodel_set(win, EINA_TRUE);

   int l, r, t, b;
   textblock = evas_object_textblock_add(evas_object_evas_get(win));

   Evas_Textblock_Style *st = evas_textblock_style_new();
   evas_textblock_style_set (st, "DEFAULT='font=Sans font_size=10 color=#000000 wrap=word align=left outline_color=#000 shadow_color=#fff8 shadow_color=#0002 glow2_color=#fe87 glow_color=#f214 underline_color=#00f linesize=40'");
   evas_object_textblock_style_set(textblock, st);
   int sizes[] = {600, 700};
   evas_object_textblock_text_markup_set(textblock, "This test resize text block and keep style (style parsed only once)");
   clock_t start, end;
   start = clock();
   for (int i = 0; i < 10000; i++)
   {
      evas_object_resize(textblock, sizes[i % 2], sizes[i % 2]);
      evas_object_textblock_style_insets_get(textblock, &l, &r, &t, &b);
   }
   end = clock();
   double total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
   printf("total time = %f\n", total_Time1);

   evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(textblock);

   evas_object_move(textblock, 0, 0);
   evas_object_resize(textblock, 640, 800);
   evas_object_resize(win, 640, 800);

   evas_object_show(win);
   elm_run();

   return 0;
}
ELM_MAIN()

```

**Old  Code output : total time = 0.096900
New Code output : total time = 0.045580**

Reviewers: smohanty, woohyun, Hermet, bowonryu, cedric, bu5hm4n, zmike

Reviewed By: zmike

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9536
2020-05-04 15:25:07 -04:00
Vincent Torri 3c619b96fc remove arguments of LOGFN in ecre_x and ecore_wayland as the are always the same
Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11769
2020-05-04 15:15:07 +01:00
Christopher Michael 09df69a3eb ecore-buffer: Fix formatting
NB: No functional changes
2020-05-02 14:51:41 -04:00
Christopher Michael 7c1c09f3ed ecore-drm2: Add support for using page_flip_handler2
In our current Ecore_Drm2_Context structure, we are missing support
for using page_flip_handler2. This patch adds that ability. This could
prove useful when working with ecore_drm2 as it allows
page_flip_handler callbacks to setup a handler for page_flip_handler2,
which when the callback gets received, passes back the crtc_id which
the pageflip occured on.

@feature
2020-05-01 10:29:45 -04:00
Carsten Haitzler b2a2ba39af edje - don't set font sizes less than 1
this makes evas unhappy and results in noise.

@fix
2020-05-01 12:50:53 +01:00
Marcel Hollerbach 7b68960d3a ecore_evas: only define these eina errors once
Summary:
they are not needed multiple times, infact this is creating multiple
definition errors.

@fix

Reviewers: stefan_schmidt, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11766
2020-04-30 09:22:01 -04:00
Marcel Hollerbach f21df93595 elm_fileselector: support expandable items
Summary:
the fileselector can store exactly 1 model and monitor that for changes,
which works normally just well. However, when we expand a items, another
model comes into play, which is not monitored, and no additional
reference is taken. Which means, _process_last will simply delete it,
and elements that did not come into play at the _populate call are never
displayed.

With this commit, we check that we do not have a parent item, and
explictly wait for the model to publish all its items, before we call
_process_last.

Additionally, that showed that the tracking of the list/grid item is
ultimatly buggy, as there is no assertion that the parent model is
really the parent directoy. Hence we need to hand pass the parent item
here, as a fallback option to set the correct parent item.

fixes T8689

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8689

Differential Revision: https://phab.enlightenment.org/D11765
2020-04-29 11:47:05 -04:00
Xavi Artigas 37e94d635b doxygen docs: Add missing group braces
Without them, these Evil docs had no group and therefore didn't appear anywhere.
2020-04-29 17:33:39 +02:00
Xavi Artigas e72912393e doxygen docs: add missing example references 2020-04-29 17:33:39 +02:00
Xavi Artigas 39cb46917c doxygen docs: Replace broken URL with doxygen ref 2020-04-29 17:33:39 +02:00
Xavi Artigas 203c3963ef doxygen docs: Fix missing links in Ecore_Drm
Ecore_Drm_Input had SOME docs, so a group for them is created.
Ecore_Drm_Sprite had NO DOCS at all, so the link is just removed.
This is a deprecated library anyway.
2020-04-29 17:33:39 +02:00
Stefan Schmidt d1a1688513 edje: efl: add new EFL_VERSION_1_25 define for new cycle
Allow things to be marked for the upcoming 1.25 release version while we
develop it.
2020-04-29 15:47:36 +02:00
Xavi Artigas 933b2e5a2d doxygen docs: Add @since tags to EE selection API
This is the first time Ecore_Evas selection API is released so it has
earned some @since 1.24 tags.
Also, put these methods in their own group.
2020-04-29 09:08:45 +02:00
Xavi Artigas 53004b72a5 doxygen docs: Move CnP API out of the Remove Canvas group
The new CnP API had been wrongly added to the Remote Canvases group.
2020-04-29 08:51:51 +02:00
Hermet Park e83746cf04 canvas vg: Correct order of data free.
vfd data is firstly initialized and
must be freed in the last.
2020-04-29 13:27:08 +09:00
Christopher Michael d0dbc48f1b ecore-drm2: Change _output_crtc_find to accept an int
There is no reason to be passing the whole device structure here just
to get the fd
2020-04-28 12:40:53 -04:00
Christopher Michael 590d5745a9 ecore-evas: Fix formatting
NB: No functional changes
2020-04-28 12:39:24 -04:00
Boris Faure 96c176d866 meson: allow debug-threads to be disabled in debug
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11756
2020-04-28 14:41:38 +02:00
Mike Blumenkrantz 02ad4d18ba elm/list: avoid erroring on non-elm item contents
putting raw evas and edje objects in here has historically been done,
so handle it without errors

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11747
2020-04-28 13:29:32 +02:00
Marcel Hollerbach 3614c4190d efl_fileselector_entry: do not crash on a invalid model
something is happening during shutdown, when a fileselector was created
before. This is ending up in a strcmp to a NULL ptr, which crashes, with
the now, we ensure that we are not crashing anymore, when that is
happning.

TO solve this properly we should really fix the cause of a invalid model
beeing returned, however, i do not feel compftable doing that so short
before a release.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11762
2020-04-28 11:46:44 +02:00
Marcel Hollerbach 1aed1cef59 efl_ui_focus_manager_calc: correctly flag elements used
when setting the relation from two widgets a<->b a is used as well as b.
This now correctly sets these flags.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11730
2020-04-28 11:00:49 +02:00
Hermet Park 88dd66f3d1 canvas clip: replace hash to cached array.
Each child_map_across_mark() takes 0.026ms with eina_hash
we can reduce the performing time by replacing the hash to array to 0.0041ms in a device.

Before Average: 0.026ms
Mostly it takes 23 times in the scrolling. thus it takes 3%(0.48ms) in one frame rendering (16ms)

After Average: 0.0041ms
Mostly it takes 23 times in the scrolling. thus it takes 0.6%(0.096ms) in one frame rendering (16ms)
result: map calc 5x faster than original (0.384ms improved)

Thanks Subhransu for report this.

@optimization
2020-04-28 14:50:13 +09:00
Mike Blumenkrantz 0de64f2d91 elm/cnp: remove const from static function return
this makes no sense

../src/lib/elementary/elm_cnp.c:54:15: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
   54 | static inline const Elm_Sel_Format

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11759
2020-04-27 12:03:57 -04:00
Xavi Artigas bc7608da73 doxygen docs: Fix most errors on Evas_Legacy.h
Oh boy... References to Unified API, horribly misshapen groups,
typos, invalid commands, invalid references, and on top of that,
Evas VG.
2020-04-27 17:25:27 +02:00
Xavi Artigas 0aa18d93ca doxygen docs: Put Evas_Canvas legacy methods in the right group
"Evas_Group" does not exist, and "Evas" is a top-level group without content
(only subgroups). So I guess all these methods belong to the "Evas_Canvas" group.
This brings even more docs into existence, fixing multiple missing references.
2020-04-27 15:54:10 +02:00
Xavi Artigas bbba18d406 doxygen docs: Fix invalid refs to Layout
All widgets copy&pasted the same description, including an invalid reference
to "Layout", which should be "Elm_Layout".
SOME of them had been fixed over the years but this commit fixes all of them.
This significantly reduces the number of Doxygen warnings and adds meaningful
links to the docs.
2020-04-27 15:15:12 +02:00
Xavi Artigas 0e1d931be9 doxygen docs: Match doc with correct enum for Render_Op
Docs did not match the intended enum value due to incorrect usage of the
doxygen tags.
Also, Evas_Render_Op was the only member of the top-level Evas group, so
I moved it inside one subgroup, where methods using it reside.
2020-04-27 13:42:55 +02:00
Xavi Artigas 4d24b29b9d doxygen docs: Put APIs in correct group
"Evas_Object" does not exist as a group, so the docs for these 29 methods
did not show in the output.
2020-04-27 13:42:55 +02:00
junsu choi 0b28f9df54 efl_ui_image: Fix unnecessary unload of memfile_set.
Summary:
In D11392, fixed to call file_unload when doing memfile_set.
Therefore, "load,error" callback was called while unloading object
that was not loaded when first load with memfile_set.
So fix it to avoid unnecessary unloading.

Test Plan:
{F3871804}
cp ./test_imge.c ./efl/
cd efl
gcc -o test_image test_image.c -g `pkg-config --cflags --libs elementary`

./test_image
Loading image...
Async file load failed.
Image is ready to show.

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11758
2020-04-27 19:29:47 +09:00
Xavi Artigas 4cf59afcc9 doxygen docs: Document compositor sync API as deprecated
This is currently a NOP and we should remove this API later on.
Meanwhile, turn the note about this API being experimental into
a deprecation warning.
2020-04-27 10:01:09 +02:00
Carsten Haitzler cd7b594466 elm - combobox - pretty borken but make it a little less
add some tests so i can see smaller comboboxes with padding and fix
the scaling which was broken.
2020-04-26 13:16:11 +01:00
Daniel Kolesa d261dca06c eolian: require opaque structs to be used by ref always
For now only in stable API.
2020-04-26 02:29:35 +02:00
Carsten Haitzler 680dee1daf efreet - work around conconforming apps putting startupwmclass in quotes
riot does

StartupWMClass="Riot"

https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

does not allow for quoting here. you can quote fields in an exec line
- for shell and replacement purposes, but not other fields like this
above. this is a workaround a broken app so matching window to desktop
file works.

@fix
2020-04-25 14:44:23 +01:00
Hermet Park ed9ab21fdf canvas layer: +prevent null layer objects. 2020-04-24 21:11:27 +09:00
Hermet Park 052f562c42 canvas layer: find the top item for only valids.
In some case, top layer doesn't have valid objects,
That case, we must find and return top object in the next layer.
2020-04-24 21:03:48 +09:00
Carsten Haitzler 1c971fbe40 Revert "meson: do not install .eo files of not installed header files"
This reverts commit d4946a0d07.

install these - e builds against efl will fail if they try use
efl-canvas-wl without headers... :)
2020-04-23 11:38:20 +01:00
Ali Alzyod f619a2fbad EFl_Canvas_Text: add typedef for backward compatibility in legacy headers
Reviewed-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11744
2020-04-22 14:02:59 +02:00
Carsten Haitzler 56e2e21ae7 ecore_file - address issue about false positive of finding a file in ./
it may report an exe is installed if it happens to be in cwd but cwd
isnt in path. the "full/relative" path handling case mishandled this.
fixes T8678

@fix
2020-04-22 12:51:50 +01:00
Alastair Poole 53044bf107 ecore_wl2: EFL Wayland Build on FreeBSD
This enables a user to build EFL with wayland support enabled
on FreeBSD. It is NOT functioning, but everything starts at
some point.

This requires also linking against -lepoll-shim.
Meson arguments:
-Deeze=false -Dv4l2=false -Dfb=false -Ddrm=false -Dwl=true \
-Dsystemd=false

@fix T8659
2020-04-21 18:19:36 +01:00
Daniel Kolesa 5115f824e9 eolian: clarify @move tag usage in documentation 2020-04-21 17:46:17 +02:00