Commit Graph

1750 Commits

Author SHA1 Message Date
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
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
Xavi Artigas e7f4bc4c2a doxygen docs: Fix all invalid @param names
There were quite a few of these...
2020-04-20 12:24:41 +02:00
Daniel Kolesa 7791d9fac6 remove unused imports in eo/eot files 2020-04-19 01:44:50 +02:00
Bowon Ryu 62b4e2a2da edje: fix cursor scrolling
If there is a string larger than the size of entry
and when the entry is auto scrolling, cursor is not visible.
Using _edje_entry_cursor_geometry_get guarantees the minimum size of the cursor,
and guarantee the size from edje. (min_restricted_calc)

Reviewed-by: Ali Alzyod <ali198724@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11649
2020-04-17 11:53:50 +02:00
Xavi Artigas 34e6fb82c6 doxygen docs: Fix missing docs in Edje 2020-04-14 18:48:30 +02:00
Xavi Artigas f528001f0d doxygen docs: Proper usage of @ingroup and @addtogroup
This patch brings in a lot of docs which were missing before.
Unfortunately, this brings along their warnings so this ends up adding
more warnings than it fixes. Still, a step in the right direction.

@ingroup puts the current block into the specified group, but IT DOES NOT
allow opening groups with @{.
This was used in lots of places, resulting in misplaced or ignored documentation.
@ingroup should be used only in individual docs. For groups we use @defgroup and
@addtogroup.

Also,this patch adds some small missing docs.
2020-04-14 18:48:30 +02:00
WooHyun Jung de943b82aa edje_calc: add null check after eet_read 2020-04-13 10:39:34 +09:00
Ali Alzyod d7d948c23d elm_entry: using keycode for main keyboard shortcuts
Previously we use key strings to detect keyboard shortcuts (for example copy/paste/select_all, .. etc)
Now we will use key code alongside with these key strings (I do not remove the key string, because I am afraid something depends on them because some methods do not send keycode with keys)

This issue can be easily detected when the keyboard layout is not a Latin language, for example Hitting "C" will produce key string depends on related language not letter C, but Keycodes remain the same regardless of keyboard layout.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11606
2020-04-03 14:39:54 +02:00
ProhtMeyhet 58860b0bcf edje_legacy: Remove EINA_UNUSED when obj is actually used
This removes EINA_UNUSED when obj is actually used
like in a call ed = _edje_fetch(obj);
Please note the macro GET_REAL_PART_ON_FAIL_RETURN
also uses obj.

No functional changes, just cleanup.

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11471
2020-04-03 10:36:28 +02:00
Mike Blumenkrantz e45767b004 edje/multisense: track and destroy multisense inputs on shutdown
leaking these means leaking file references, and there's no reason for it

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11533
2020-03-25 22:13:17 +01:00
Mike Blumenkrantz d10882ef14 edje/multisense: free multisense output on shutdown
this comment has now been addressed

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11532
2020-03-25 22:13:14 +01:00
Hermet Park 476e2b0521 canvas 3d: remove all canvas3d features across efl.
Reviewers: jsuya, kimcinoo, bu5hm4n, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11552
2020-03-25 19:14:02 +09:00
Xavi Artigas c48d4d431f doxygen docs: Fix warnings in Edje_Edit.h
And since we're at it, fix some typos too.
2020-03-24 13:43:37 +01:00
Mike Blumenkrantz 41299c2b09 efl/layout: add explicit doc note about efl.player property defaults
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11311
2020-03-20 15:58:00 +01:00
Mike Blumenkrantz e66a3bc558 efl/layout: add @empty for missing efl.player methods
need to at least track these

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11309
2020-03-20 15:57:54 +01:00
Hermet Park 849b37d641 canvas3d: remove all feature implementation in edje/edje_cc
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11547
2020-03-20 15:57:41 +01:00
Hermet Park 0583b14307 canvas 3d: remove canvas3d edje
Summary: Remove functional stuff, leave as deprecated for compatibility.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11541
2020-03-19 18:49:17 +09:00
Hosang Kim 91ab84286a edje_message_queue: decrease number of messages when message is removed.
Summary:
Sometimes edje_message_del is called while processing edje message.
It makes double free corruption.

Reviewers: raster, bu5hm4n, zmike

Reviewed By: zmike

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11393
2020-03-17 09:52:59 -04:00
Marcel Hollerbach 654b05b76f edje_part: move part_type to common interface
In EFL we have multiple hirachies of parts. One in Efl.Layout namespace
(alias edje) and one in Efl.Ui namespace. The seperation of these two
makes sense from the perspective of hiding functionality. However, a
functionality that we want to have on both is: we want to be able to
check which type of part this is. In order to do so, this commit
introduces a common interface, which allows that.

This is required because eo is currently undergoing some works, where
only APIs on a object are allowed, that are also inheriting its type,
which is normal in OOP, but sometimes, due to the lack of limitation, we
did that. This commit resolves one more case of that.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11516
2020-03-17 09:38:10 +01:00
Ali Alzyod 06e9af1b0c edje_textblock: style font size override size_range max
Summary: style font size (also text_class) will change size_range max value, regardless of what user specifed in textblock description

Reviewers: woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11493
2020-03-12 20:07:12 +09:00
junsu choi f4164bbcb8 edje_util: Prevent null pointer access
Summary: locale can be null. so add null check.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11490
2020-03-12 14:43:37 +09:00
junsu choi 107e425ef6 edje: Rename Json to Lottie in edj supporting
Summary:
The json file used by edje is for lottie output.
json can be used in many ways. So the purpose is clear.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11478
2020-03-10 15:42:13 +09:00
Marcel Hollerbach c47b78c80a efl_canvas_layout_part: remove debugging content set / get impl
this is now handled when eo is erroring.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11464
2020-03-06 15:11:26 +01:00
Marcel Hollerbach f41c497fa7 efl_canvas_layout_part: add part name, type and group name to debug info
this is usefull, as we now know which type of part we have, if a API
call does not succeed.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11463
2020-03-06 15:11:23 +01:00
Xavi Artigas 9f4b5458ea doxygen: fix duplicated toc sections 2020-02-28 11:44:19 +01:00
Xavi Artigas 6a5c2f9c20 doxygen: fix duplicated intro sections 2020-02-28 11:44:19 +01:00
Stefan Schmidt 127461549e edje_entry: avoid memory leak on error path
In commit 8cb0b193ea the logic was changed and we could return here
without free'ing the plain_text resource we allocated. Make sure we
handle this even on the error case and early return.

CID: 1408481

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11433
2020-02-27 15:58:37 +01:00
Jaehyun Cho 070333c8cc edje_load: fix possible null pointer dereference 2020-02-26 17:00:40 +09:00
Bowon Ryu 9dfcd5f9ec edje/style: Fix a problem where embedded font does not load in edj
Summary:
When edje_font_is_embedded the path of the font must be "font=edje/fonts/%s"
The previous code is "font=%s"
This causes the font to not load properly when edje_font_is_embedded.

Test Plan:
edje_cc test.edc
edje_player test.edj

collections {
    group { "main";
        fonts {
            // Set any two fonts in your local path.
            font: "ANYFONT_1.TTF" "font_1";
            font: "ANYFONT_2.TTF" "font_2";
        }
        styles {
            style { name: "textblock_style_1";
                base: "font=font_1 font_size=30 color=#ffffff";
            }
            style { name: "textblock_style_2";
                base: "font=font_2 font_size=30 color=#ffffff";
            }
        }
        parts {
            spacer { "base";
                scale;
                desc { "default";
                    min: 600 250;
                    max: 600 250;
                }
            }
            rect { "bg";
                scale;
                desc { "default";
                    rel.to: "base";
                    color: 5 5 5 255;
                }
            }
            textblock { "tb1";
                scale;
                desc { "default";
                    rel.to: base;
                    rel1.relative: 0 0;
                    rel2.relative: 1 0.5;
                    text.text: "THIS IS FONT 1";
                    text.style: "textblock_style_1";
                }
            }
            textblock { "tb2";
                scale;
                desc { "default";
                    rel.to: base;
                    rel1.relative: 0 0.5;
                    rel2.relative: 1 1;
                    text.text: "THIS IS FONT 2";
                    text.style: "textblock_style_2";
                }
            }
        }
    }
}

Reviewers: smohanty, CHAN, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11401
2020-02-24 20:16:41 +09:00
Hermet Park 0416e5757f edje: guarantee the theme abi compatility.
if old edj doesn't include "zoom_center" properly,
the initial value will be set with zero,

We can overwrite it in that case since zoom_center initial value is -1.
2020-02-20 20:34:57 +09:00
Wonki Kim 7da106ec68 edje: modify to respect user set fixed property
Summary:
this patch is related with @D11365.

rather than undoing optimization edje calc,
this patch introduces a user_set property which enables edje_calc
to respect user set property.

Reviewers: bu5hm4n, eagleeye, YOhoho, Hermet, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers, woohyun, eagleeye, bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11366
2020-02-19 12:40:39 -05:00
junsu choi a4311f73ee edje: Disable the json vector animation feature with a flag.
Summary:
Json vector animation requires the json loader to be loaded.
Therefore, if the loader does not load,
it prints an appropriate error message and disables the feature.

Depends on D11228

Test Plan: N/A

Reviewers: Hermet, Jaehyun_Cho, id213sin

Reviewed By: Hermet

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11230
2020-02-17 19:14:14 +09:00
YoungBok Shin 2fe158ce65 edje: add json file support feature
Summary:
It also starts to support following new edc properties.
This is backported patch from Tizen 5.0

1. frame
desc { "default"
   vector {
      frame: 0.5; // 0.0 ~ 1.0
   }
}

2. actions
program { "vector_animation";
   // VG_ANIM_PLAY, VG_ANIM_PLAY_BACK, VG_ANIM_LOOP,
   // VG_ANIM_STOP, VG_ANIM_PAUSE, VG_ANIM_RESUME
   action: VG_ANIM_PLAY;
   target: "your_vector_part";
}

@feature

Co-authored-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
  - Fix to remove Efl.Canvas.Animation_Player on edje

Test Plan:
{F3840540}
{F3840542}
{F3840543}
make and test attached file

edje_cc -beta -id ./ json_edc.edc json.edj
gcc -o test test_edc.c -g `pkg-config --cflags --libs evas elementary rlottie`
./test

Reviewers: Hermet, Jaehyun_Cho, id213sin

Reviewed By: Hermet

Subscribers: segfaultxavi, raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11228
2020-02-17 18:59:09 +09:00
Yeongjong Lee 225b8f3ad8 edje_multisense: fix a compiler warning for pulseaudio disable mode
Summary: `_out_fail` is not used when edje is compiled without pulseaudio.

Test Plan: meson build -Dpulseaudio=false

Reviewers: zmike, Hermet, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11361
2020-02-17 15:35:57 +09:00
WooHyun Jung ac85816283 edje_load: just remove unreachable code 2020-02-14 10:57:22 +09:00
WooHyun Jung fe7a7fa3af edje_calc: add null checking and remove unreachable code 2020-02-14 10:38:24 +09:00
ProhtMeyhet 5af0e65bff edje: use EINA_UNUSED consistently after in function signatures -- part2
Sorry, I've overlooked these as they are on a new line,
or at the beginning of a function, but I think I've got them all now.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11254
2020-01-31 14:31:54 +01:00
Proht 1f2a97cd24 edje: use EINA_UNUSED consistently after declaration in function signatures
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11237
2020-01-30 17:36:48 +01:00
Proht 0c39030011 edje_legacy: avoid calling any functions if part is NULL
This avoids calling any functions like _edje_fetch if part is NULL, because it's unnecessary. This does not fix any null pointers, the EINA_SAFE* macros are just used for convenience.

Differential Revision: https://phab.enlightenment.org/D11189
2020-01-29 12:45:23 +01:00
Subodh Kumar 5eb7ae8b58 edje_entry: Add matching tag.
When textblock has several other tags
which are closing as </>, textblock
is not able to find the matching one.

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11172
2020-01-29 09:51:44 +01:00
Carsten Haitzler 68d7f584cb edje - store original size in edje struct and dont exceed max size
evas can tell us max texture size. in edje when we have image sets
(multiple images that make up mipmaps effectively for a logical
image), we now can avoid choosing an image that exceeds max texture
size. this actually fixes bugs i have seen on the rpi3 which has a max
texture size of 2048 which makes it easy to exceed it with wallpapers
or even terminology's default theme.

so combo of new feature and fix... but requires a rebuild of the edj
files...

@feat + @fix
2020-01-22 23:34:05 +00:00
WooHyun Jung 04d4aeb8b7 edje_entry: fix some preediting bugs
1. Attributes can come with random sequence.
   So, attribute list should be sorted based on start_index.
2. None tag can be used for some languages' preediting.
   So, the tag also needs to be handled the same with other tags.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11059
2020-01-14 17:19:58 +01:00
Woochanlee 8f5f63cafa edje_load: Delete wrong free callback set for hash.
Summary:
This hash free callback already sets in the creating time.

Invalid free callback is being called additionally.
Therefore, the existing callback(_edje_user_definition_list_free_internal) could not be called, and a memory leak is occurring.

Reviewers: zmike, cedric

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11030
2020-01-07 10:13:04 -05:00
Ali Alzyod 36a50f4d82 efl.text_style: remame underline2 and glow2
Summary: rename underline2 into secondary_underline and glow2 into secondary_glow

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7857

Differential Revision: https://phab.enlightenment.org/D11024
2020-01-07 09:32:03 +01:00
a.srour 0aaad623a0 edje: implement text_class override at object level
implement text_class override at object level, where you can change the text_class for single textblock object instead of override all objects that share same text class.
This imported from TIZEN

Note:
This also fix edje_textblock font/font_size parsing by adding condition

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10598
2020-01-02 11:00:04 -08:00
Ali Alzyod 3c54f6458f Efl.Text.Font.Properties: rename Efl.Text_Font_Properties
Efl.Text.Font.Properties: rename Efl.Text_Font_Properties

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10990
2020-01-02 12:43:46 +01:00
a.srour 0164162a48 Edje: edc text_class applied without font or font_size in style
Summary:
The issue with `text_class` in Edc styles has to be within a string containing `font` & `font_size` properties to effect style, if font or font_size not presented in the same string text_class will be ignored.

So in the following Edc example, `text_class` will be ignored:
```
collections {
   text_classes {
      text_class {
         name: "tc1";
         font: "Sans";
         size: 20;
      }
   }
   styles {
      style {
         name: "style1";
         base: "color=#00FF00 text_class=tc1";
         tag: "br" "\n";
      }
   }
}
```

To apply text_class `tc1`, font and font_size has to be added to `styles.style.base` value, to be as follows:
```
...
base: "font=Serif font_size=15 color=#00FF00 text_class=tc1";
...
```

NOTE: The produced font will be `Sans` and font_size equal to `20`

Test Plan:
`layout.edc`
```
// compile: edje_cc layout.edc
// play: edje_player layout.edj
collections {
    text_classes {
       text_class {
          name: "tc1";
          font: "Sans";
          size: 20;
       }
    }
    styles {
        style {
            name: "style1";
            base: "color=#FFFFFF text_class=tc1";
        }
    }
    group {
        name : "group1";
        parts {
           part {
              name : "tb1";
              type: TEXTBLOCK;
              scale: 1;
              entry_mode: NONE;
              description {
                  state: "default" 0.0;
                  rel1.relative: 0.0 0.0;
                  rel2.relative: 0.5 0.5;
                  text {
                     style: "style1";
                     align: 0.0 0.0;
                     text: "Hello EFL";
                  }
              }
           }
        }
    }
}

Reviewers: segfaultxavi, smohanty, ali.alzyod, cedric, zmike

Reviewed By: zmike

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

Tags: #efl

Maniphest Tasks: T8477, T8478

Differential Revision: https://phab.enlightenment.org/D10692
2019-12-30 11:12:37 -05:00
Ali Alzyod 7b105b33bb efl.text.style: strikethrough_type & Background_type enum rename
Summary:
rename **solid color** to **single**
rename **disabled** to **none**

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7942, T7941

Differential Revision: https://phab.enlightenment.org/D10974
2019-12-30 10:56:37 +09:00