Commit Graph

1076 Commits

Author SHA1 Message Date
Subodh Kumar e0251ad46f Edje entry: Do not update anchors outside viewport.
Summary:
Do not update anchors outside viewport.

Problem is that when entry contains large number of anchors,
scrolling and launch performance is degraded due to lots of objects
being created and maintained, so to enhance the performance of
entry with anchors,  anchors is not  updated outside the viewport.

Test Plan:
1. Should have large number of anchors in entry
2. Observe the launch and scrolling performance.

Reviewers: tasn, raster, herdsman

Subscribers: thiepha, raster, cedric, jpeg

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D3543
2016-07-12 10:50:53 +00:00
Shinwoo Kim c52eda0bf1 edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
Summary: Need discussion about the repeat_events property

Test Plan: Swallow an object which has EINA_TRUE repeat_events to a swallow part which has EINA_FALSE repeat_events

Reviewers: Hermet, cedric, raster, jpeg

Reviewed By: raster, jpeg

Subscribers: jaehwan, seoz, woohyun

Differential Revision: https://phab.enlightenment.org/D3580
2016-07-12 10:53:32 +09:00
Youngbok Shin 982ef0b9d0 Edje calc: Fix Evas Text width calculation with ellipsis
Summary:
To keep consistency with Evas Textblock part in edje,
text.min has to work logically even if ellipsis is enabled.
If a Text part has minimum width, maximum width and "text.min: 1 X;",
Text part should be expanded until its width reaches to the maximum width.
Then, ellipsis will work. Singleline Textblock is also working like this.
@fix

Reviewers: cedric, herdsman, raster, tasn

Subscribers: Blackmole, z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D3587
2016-07-12 10:48:17 +09:00
Chris Michael ce9379398f edje: Fix issue of null pointer dereference
Coverity reports that 'text' here is a null pointer dereference so
check for valid 'text' variable before trying to use it.

Fixes Coverity CID1267490

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-11 11:20:23 -04:00
Subodh Kumar 4aa0590ebd Edje entry: Add link press effect
Summary:
Add link press effect

Custom tag (linked_pressed) has to be supplied in entry tb style
with color value for press effect to be applied on link text.

Reviewers: tasn

Subscribers: shilpasingh, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3629
2016-07-11 18:26:29 +09:00
Youngbok Shin df40586f65 Edje entry: Skip codes for updating cursor when cursor position is not changed
Summary:
When ever a Edje's cursor function is called, "cursor,changed" signal is
emitted. Even if the position is not changed. And, in Elementary, the signal
will trigger evas_smart_objects_calculate() from elm_widget_show_region_set().
It causes bad performace.
@fix

Test Plan: N/A

Reviewers: tasn, herdsman, cedric, woohyun

Subscribers: jpeg, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D3902
2016-07-11 17:09:36 +09:00
Carsten Haitzler 899d2d957a edje - language emit - handle null language and convert to none
cleans up an emit string being edje,language,(null) if no language is
set. use none instead of (null).
2016-07-11 13:46:21 +09:00
Youngbok Shin 8e93b88175 edje: update a style when a style is added as class's member
Summary:
If there is no member styles when a text_class is updated,
newly added styles can't be updated.
So, newly added styles as member of text_class should be updated.
@fix

Test Plan:
Test case is included.

1. Run "elementary_test -to "font overlay""
2. Press Next button. Check the font size.
3. Press Prev button.
4. Put font_size as 50
5. Click Apply button.
6. Press Next button. Check the font size is not changed.

Reviewers: cedric, tasn, herdsman, raster

Subscribers: jpeg, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D4125
2016-07-11 13:13:39 +09:00
Shilpa Singh 5b791420ea Accessibility: Read pre-edit text.
Summary:
Edje_entry:  In order to read pre-edit characters as well,
send entry_change_info with preedit,changed
Elm_entry: In order to read pre-edit characters as well,
send text to screen reader on preedit,changed.

Test Plan:
1. Change keyboard language to korean/enable prediction
2. Check the reading, text should be read even before committing

Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>

Reviewers: thiepha, jihoon, cedric, raster

Reviewed By: raster

Subscribers: raster, kimcinoo, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4145
2016-07-11 10:36:39 +09:00
Carsten Haitzler 116993504a edje edit - api was broken with incorrect l r t b ordering for border
this fixes ordering to match everywhere else ANd usage of the get
func. this was broken already where top/bottom border would swap -
plese see coverity scan CID 1355590 for an example of problems this
created.
2016-07-09 12:17:46 +09:00
Cedric Bail 1be63c1b66 edje: fix build without ephysics.
T4050
2016-07-08 14:16:39 -07:00
Jee-Yong Um 399bb5a0ba edje: add a helper for recursive searching in hash
Summary:
If color class of an edje part is defined as "aaa/bbb/ccc/ddd",
edje will search for color class by the following sequence.
   "aaa/bbb/ccc/ddd"
   "aaa/bbb/ddd"
   "aaa/ddd"
   "ddd"
So, without additional lookup table, edje classes (color, text, size)
can have the functionality like inheritance.

Reviewers: jpeg, raster, cedric

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-08 10:50:20 -07:00
perepelits.m 52df6171e9 edje_player: create scene in the edje_player if there are some 3D-components
Summary: check if the size of scene is bigger than 0x0 and build 3D scene in the edje_player in this case and use "opengl_x11"

Reviewers: Hermet, jpeg, cedric

Subscribers: NikaWhite, Oleksander, artem.popov, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-08 10:49:49 -07:00
Hermet Park 9873358f68 edje: fix the map state issue.
While the part state switching, map won't gonna be disabled again,
due to the incorrect state checking.

If there param1 indicates the current state with map off.
then it should disable the map obviously.
But It assumed the param1 is the previous state, not the current!,
so the map didn't go disabled state.

It was intended to avoid the duplicated map state setting.
So to keeping the intention, now it disable the map, only if
the map is actually enabled.

So both are fine.

@fix
2016-07-08 21:22:44 +09:00
Carsten Haitzler bfbb7b15f2 edje edit - fix leaks spotted by coverity
fixes CID 1356630
2016-07-08 16:00:29 +09:00
Vitalii Vorobiov 1017b0ceba edje_edit: on save_all firstly save all cached group, then all other
this will fix case when aliased group was changed and alias-group was loaded,
so then on saving alias-group WON'T rewrite all changed to aliased group

@fix
2016-07-07 20:31:01 +03:00
Subhransu Mohanty 9be9da17bf edje/svg: added _edje_svg_node_free() function
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4143
2016-07-07 16:29:21 +09:00
Subhransu Mohanty 80413dda8c svg/loader: use stringshare instead of malloc for storing string.
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4142
2016-07-07 16:27:17 +09:00
Subhransu Mohanty 522b82b026 edje: fix parsing and and visualizing gradients.
Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-07-06 12:55:44 -07:00
Mykyta Biliavskyi 3eb322518f Edje_Edit: allow set NULL as a style name for textblock part.
NULL as 'style' value remove style name from textblock part state.
2016-07-05 20:24:07 +03:00
Carsten Haitzler e2d7c11665 edje - reduce memory footprint by rearranging structs and types
this should cut some memory used by edje by using smaller types like
shorts instead of ints where we just dont need a full int range and
short will do, and re-ordering in memory data soit packs better when
accoutning for alignment
2016-07-04 15:01:52 +09:00
Carsten Haitzler 0dc74232a1 edje signal cb - dont delete already deleted signals
let's assume you registered a callback twice with the same ptr data
and same func and same sig/src... if you delete it once you're ok.
delete twice... and you re-delete the first one (just makging it for
delete_me). this fixes this corner case

@fix
2016-07-03 15:45:36 +09:00
Daniel Hirt 6df439b3e9 edje: fix return type for part_text_cursor_content_get
Another spot that should've stayed "char *" and not "string". Also added the
missing 'own'.
Found due to a warning after ee36fdc218.
2016-06-30 17:05:13 +00:00
Vitalii Vorobiov 9a2ad54681 edje_edit: remove useless pointer grab as it conflicts with elementary combobox
Summary:
So currently having an issue related to clip_to function from
EdjeEdit API. I am not sure about how and why combobox use pointer grabbing
(just started to use it) but when setting NULL into clip_to of edje edit it
suddenly block entire screen away from mouse. Only when point is moved out of
window and back, only then it will be able to access widgets again.

Take a look at video and maybe try example to reproduce problem

I am not sure if deleting those functions from edje_edit is actually right
decision. But it will fix the problem of course.

Test Plan: See attached video and examples in attached files

Reviewers: NikaWhite, reutskiy.v.v, Hermet, cedric, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4081
2016-06-30 12:08:46 +03:00
Jean-Philippe Andre 197c036306 edje: Lower ERR to INF for message about non fixed parts
This message really is just informational at best, since it's
not an error, and we even implemented an optimization.

It should be done at compile (edje_cc) time though.
See comments on D3801
2016-06-30 14:34:59 +09:00
Jean-Philippe Andre 6b8228ffbd evas: Move map to a separate mixin
Evas map is not translated to proper eo apis yet.
Efl.Canvas.Map will be a mixin implementing the evas map
API in a bindable API.
2016-06-29 09:12:26 +09:00
Jee-Yong Um b543f4c896 edje: refactor edje color class API
Summary:
refactor setter and getter of edje color class and
move edje_color_class_set/get() into Edje.Object as class functions

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: kimcinoo

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

Note by jpeg:
The EO APIs introduced here will be revisited in upcoming patches,
in particular:
1. avoid non-premultiplied colors
2. move to a common color class interface
2016-06-28 10:39:37 +09:00
Jean-Philippe Andre 9f5d279722 Evas events: Implement support for hold event 2016-06-27 16:38:46 +09:00
Subhransu Mohanty 48d3abf84b edje: fix the order of applying transformation when creating vg tree.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4087
2016-06-24 15:15:54 +09:00
Subhransu Mohanty de7809a868 edje/svg: add few error message reagrding parsing and storing of svg file.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-23 10:12:23 -07:00
Youngbok Shin 47df443972 edje: replace 4000x4000 min size limitarion with loop count restriction.
Summary:
4000x4000 min size limitation was added to prevent infinite
calculation loop. But, it can ruin calculation of some proper Edjes.
Normally, properly generated Edje runs the calculation loop below 10 times.
So, "255" could be proper limitation for calculation loop.
It also make better performance for broken Edje.

Test Plan: N/A

Reviewers: raster, Hermet, woohyun, cedric

Reviewed By: cedric

Subscribers: jpeg, z-wony, Blackmole

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-23 10:11:42 -07:00
Subhransu Mohanty c2fbac0f1f svg/loader : Added parsing support for use and def node.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4078
2016-06-23 17:44:37 +09:00
Vyacheslav Reutskiy fb352e17c6 edje_text: fix the fit calculation for different text size
Fixed T3569

@fix
2016-06-23 09:13:53 +03:00
Subhransu Mohanty d876027564 svg_loader: Fixed the parsing of style attribute in g node as well as inheriting style attribute from parent.
Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4070
2016-06-23 10:20:44 +09:00
Jean-Philippe Andre 269fc4f7a6 evas: Remove common interface and use provider_find
Evas.Common_Interface not only had a bad name, it also
wasn't in line with how we can get a loop object, for
instance.

Use eo_provider_find in each implementing class.
2016-06-21 16:13:04 +09:00
Subhransu Mohanty 3ab15990d3 svg: added support for parsing and showing of polyline data.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4064
2016-06-21 14:42:44 +09:00
Jean-Philippe Andre 7bf8da2baa evas: Rename Evas.Object to Efl.Canvas.Object
One step closer to make the EO inheritance tree look like
it's all Efl.
2016-06-21 14:35:19 +09:00
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Stefan Schmidt d5c7ce3805 edje_util: make sure we have an initialized return value 2016-06-20 16:06:29 +02:00
Stefan Schmidt 5ba7065bbe edje_util: mark parameter as unused 2016-06-20 16:05:36 +02:00
Youngbok Shin 14cbd23d29 Edje, Elementary: Remove <password=off> tag when password mode is disabled
Summary:
When edje_password_show_last option is enabled, the edje_entry uses <password=off>
for showing last character. But, when password mode is disabled by the elm_entry,
<password=off> is remained in the text. It can cause some problems.

Because, there is no way to control password mode by API for the edje_entry.
The elm_entry can't remove <password=off> tag before getting text from the edje_entry.
So, the patch adds edje_object_part_text_hide_visible_password() function and
the elm_entry will use this when elm_layout_theme_apply() is called.
@fix

Test Plan:
1. Run "elementary_test".
2. Show "Entry Password" demo. (Newly added by this patch)
3. Password mode is enabled. Put some text.
4. Click "Show Password" check box to disable password mode.
5. Put more text.
6. Click "Hide Password" check box to enable password mode again.
7. See a character among the text is visible. (without this patch)

Reviewers: tasn, herdsman, cedric, jpeg, thiepha, raster

Reviewed By: raster

Subscribers: Blackmole, z-wony, woohyun

Differential Revision: https://phab.enlightenment.org/D3988
2016-06-20 21:11:25 +09:00
Jean-Philippe Andre 4fb0668c71 edje: Fix double clicks
This fixes T3895
2016-06-20 13:47:26 +09:00
Subhransu Mohanty b6e86c39e5 edje_load: fixed adding ellipse shape data.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4053
2016-06-20 10:13:26 +09:00
Jean-Philippe Andre 52f9220b3f Evas: Rename smart object into Efl.Canvas.Group 2016-06-17 19:32:43 +09:00
Jean-Philippe Andre 4653cc44dd Evas: Cleanup evas smart clipped class
This is legacy stuff. I wish we could hide it from our inheritance
entirely. Instead, just make it abstract, remove all functions from
eo (doable here) and rename with the keyword "internal" in the new
ugly java style name.
2016-06-17 19:32:43 +09:00
Jean-Philippe Andre 42b63f5507 Evas: Add smart_ prefix to all smart functions (eo)
This is a first step at separating legacy smart
object features away from standard efl interfaces.
2016-06-17 19:25:48 +09:00
Jean-Philippe Andre d4b96d33d6 Evas: Mark type as legacy and protected
Only set() is allowed for EO, and it's a constructor,
protected function. Unfortunately, this means a lot
of #define EVAS_OBJECT_PROTECTED
2016-06-17 11:37:39 +09:00
Subhransu Mohanty 901e8a0cfc edje: creation of gradient node from data parsing of color property and refactoring of fill and stroke attribute.
Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-16 16:50:08 -07:00
Daniel Hirt 3a6c648d28 Canvas text: introduce new text object
The implementation depends on creating different code paths from the now-legacy
behavior of text appending.

The annotation system introduced in this commit replaces the current way of
applying formats on text.
Up until now it has been quite a hassle for the user to control the formats, as
it required keeping track of the format positions with an opener and closer
formats almost every time (with the exception of own-closing formats).

The combination of Efl.Text API along with the Efl.Canvas.Text annotation API
essentially replaces the capabilities of the old format.

There is additional annotation API to allow more control, so be sure to check
the documentation/.eo files and the wiki page of Efl.Canvas.Text.

The style API now accepts actual strings of format style. There is not longer
need to instantiate as style with style_new() followed later by style_free().

@feature
2016-06-16 19:15:20 +01:00
Mykyta Biliavskyi ce62a8efdf Edje text: fix behavior for text source and source attribute.
Check present source by index, because name of source
can be non NULL. Updates name of source part accordingly to
the current source part index.
2016-06-16 15:57:08 +03:00