ok. i found this once-ever-seen thing where
Edje_Signal_Callback_Matches has ALL fields NULL/0 except refcount was
huge (like 13834275 or something like that). i can't see why at the
moment, but defend against it to avoid crashes here by handling these
being null
Summary:
After the commit D2904
this commented code and comments are not required
Test Plan: NA
Reviewers: tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2938
Summary:
Fix type in edje_container_align_set,
it was originally named as edje_contain(t)er_align_set.
Reviewers: Hermet
Subscribers: cedric, Hermet
Differential Revision: https://phab.enlightenment.org/D2927
Summary:
Fix to delete selection when preedit status has not ended
In preedit mode when selection is made and input any letter,
there is duplicate character appeared because the selection
is cleared when commit happens so delete the selection in
preedit last stage.
@fix
Test Plan: Test in Tizen devices.
Reviewers: woohyun, id213sin, shilpasingh, tasn
Subscribers: rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2837
Summary:
When commit string comes from key_down text filter is applied before deleting
the range but when commit string comes from imf filter is applied after deleting
the range. Moreover when format is prepended range is deleted before applying
insert filter. Please check the _edje_key_down_cb and
_edje_entry_imf_event_commit_cb routines.
@fix
Test Plan: Tested in Tizen device
Reviewers: herdsman, thiepha, shilpasingh, raster, tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2904
The return value is used for divisor in many case.
If it return 0.0 when it fail, it can break app with div by zero.
@fix
Signed-Off-By: YoungBok Shin(id213sin) (youngb.shin@samsung.com)
For unset color_class for part used edje_edit_state_color_class_set and NULL
value for color_class, it's a string, is valid. In this case function must
return EINA_TRUE.
@fix
This is now like the other embedded scripts, where a verbatim
string is parsed. The syntax is now:
filters {
filter {
name: "filter0";
file: "filter.lua";
}
filter {
name: "filter1";
script {
blend {}
}
}
filter.file: "file.lua"; // name is "file.lua"
}
Thanks @raster for the quick review.
Yeah that was totally overkill and pure laziness on my side.
Despite having the EO API for the filters still in beta,
I want to the EDC API and EDJ binary formats to stay compatible,
so let's get it right before the release :)
Summary:
Elementary widgets dealing with Evas Events usually mask event_flags with
EVAS_EVENT_FLAG_ON_HOLD, to show that this event is already handled.
However, widget like Elm_Button, it does not handle EVAS_CALLBACK_MOUSE_DOWN directly,
but it handles Edje_Signal instead, so there's no chance to mask event_flags.
Developers can block event propagation by putting rectangle the very last part of EDC,
but this instruction can help the case making elementary widget with only Edje_Signal handling.
This is not required essentially, so please check the necessity of this function.
Reviewers: Hermet, cedric
Reviewed By: cedric
Subscribers: cedric, Hermet
Differential Revision: https://phab.enlightenment.org/D2764
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
In edje_embryo.c, there are the list for supported methods in script.
However, methods listed from line 175 to 188 don't exist actually.
This patch implements 4 methods among them.
set_mouse_events(part_id, ev)
get_mouse_events(part_id)
set_repeat_events(part_id, rep)
get_repeat_events(part_id)
Reviewers: Hermet, woohyun, cedric
Reviewed By: cedric
Subscribers: cedric, Hermet
Differential Revision: https://phab.enlightenment.org/D2766
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Until we're happy with it, keep the API as beta.
The EDC support should not change, and the Lua either, but the
API could potentially still change to accomodate for new needs
(vector graphics, anyone?). If we're happy with the current
interface, then we can remove the @beta flags.
This flag should be set iif the string passed is to be executed
rather than assigned. This is used to pass complex arguments
as data, like tables (eg. color class).
Deep down internally there was already a name, but no API could
really set it properly.
Here Edje will set the name of the filter based on the part name
or the data item name if relevant.
This creates the new interface
Efl.Gfx.Filter
And the implementation is a mixin (evas_filter_mixin.c):
Evas.Filter
All the filter rendering code has now been moved to this
new file. TODO: Merge image filtering.
Use the file data {item, file} block to embed filters code.
It can become especially useful to keep the filters as separated
Lua files, that will be embedded in the final edj file.
@feature
This should preserve ABI stability with earlier versions of
edje_cc while still providing more advanced control over
proxy bindings for evas filters from EDC.
Also fix proxy binding for filters.
@feature
Summary:
get_geometry() method calls edje_object_part_geometry_get() internally,
and the type of its arguments is Evas_Coord. (typedef'ed integer)
However, comment says that method require Float type as its arguemnts,
and get_geometry() initializes Evas_Coord variables as 0.0.
This patch corrects type mismatching and comment.
@fix
Reviewers: Hermet
Subscribers: cedric, Hermet
Differential Revision: https://phab.enlightenment.org/D2754
This reverts commit 1edb35fff3.
Accessing symbols from other libs like this should never be done. The
consequences of this are not significant enough to do this; better solution
can be found but definitely not like this.
efreet_init began to be called with the addition of translatable strings,
but allowing dbus connections in edje (and thus edje-derived tools) will
result in errors when edje_init is called without a dbus connection available
Summary:
Add the transition scale flag and the transtion scale value.
This flag can be change using "transition_scale_enable" in edje program.
If flag is true, the transition scale value affect the transition speed of edje
The transition scale value can be change by elm_config.
@feature
Test Plan: elementary_config
Reviewers: Hermet, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2287
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Coverity reports that this potentially is passing a NULL
pointer to strcmp. As the GETSTR macro Can possible return NULL we
should be checking that return before passing it to strcmp.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Those objects should never be rendered on the canvas, even if they
are visible. On the other hand, they need to be rendered in mask or
proxy surfaces.
note: this patch includes some extra whitespaces changes :(
@feature
Since masking, for performance and themeing reasons, it becomes
interesting to be able to switch clippers on the fly. In particular,
switching from an IMAGE mask to a standard RECT clipper can save a
lot of power when masking is not required.
This new flag "description.clip_to" will behave a bit like a mix of
rel.to and visible:
- It points to a part by name, just like part.clip_to. This will
override the clipper set by the part, or override the default clipper.
- Like "visible", it can not be interpolated between two values, so
it will switch only at the end of a transition.
- By default there is no clip override, which means Edje will fallback
to the part's clipper, if any, or the base (group's) clipper.
NOTE:
- Since a clipper that does not clip anything becomes a standard object,
it is visible and rendered. This will in 99.999% cases not be the
intended behaviour. Currently we can simply use a transparent RECT
in order to always have something clipped by the clipper, but this is
a hack and this will trigger rendering of masks in their surfaces even
when they are not actually used.
Ideally, there should be a flag indicating to Edje & Evas that an object
should be considered a clipper in all situations, and never be rendered
on screen.
TODO:
- Support Edje Edit
- Add Embryo & Lua functions
- Add support in edje_convert
- Add Edje/Evas flag to mark objects as "no_render"
@feature
Summary:
Implementation to support .po files in edc for translation
Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
edje_cc -md . text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
./edje-text
1) Click On the text "Click here"
The language gets changed.
Reviewers: shilpasingh, cedric
Reviewed By: shilpasingh, cedric
Subscribers: cedric, rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2573
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When caps lock is "On" and we press control + (x,a,y,z,m,c) none of
these operations work issue fix.
@fix
Test Plan:
1. Caps lock On
2. Input some text
3. Press ctrl+a, ctrl+c etc:-
4. Select, copy, cut etc:- operations does not work
Reviewers: tasn
Subscribers: raster, rajeshps, govi, poornima.srinivasan, navnbeet, subodh6129, cedric
Differential Revision: https://phab.enlightenment.org/D2633
@zmike apparently wanted to beat the b0rker in chief,
(see 172a0ccf0c) but edje_text.c came out worse than before :)
eo_do() seems to totally mess with editors' auto-formatting in
some cases.
This reverts commit c38f84e64f.
apparently many existing edje groups were written with the assumption that
this was broken, so fixing it is impossible at this point
previously these parts would fail to consume mouse events as expected,
leading to strange event chains which were inconsistent with other types
of parts
@fix
It's the first stage of replacing calls of evas_object_smart_callback_add/del/call
with eo_callback_add/del/call.
This will reduce the use of legacy events and callbacks lists in
smart_object which in turn will improve performance and reduce memory
use.
Summary:
Check for have_selection flag when left/arrow keys are pressed to jump
across the selected text, to avoid unnecessary function calls of
comparision, copy of sel_start and sel_end pointers.
Test Plan: Press left and right arrow keys on selected and normal text.
Reviewers: herdsman, tasn
Subscribers: SubodhKumar, navnbeet, cedric
Differential Revision: https://phab.enlightenment.org/D2621
Summary:
Add a new property to edje_object.eo for setting the language on one Edje_Object.
Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
./edje-text
1) Click On the text "Click here"
The language gets changed as per the specific edje object.
2) Click on the text object at bottom. "Click here"
The system language gets changed and the below two edje objects language are changed globally.
Reviewers: cedric, shilpasingh
Subscribers: poornima.srinivasan, govi, rajeshps, cedric
Differential Revision: https://phab.enlightenment.org/D2559
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This was not really useful and against the Eolian guidelines.
While I promised I won't break things until the 27th, I was ill
(still am), so I'm giving myself a 1 day pass. :P
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.
This is one of the final steps towards stabilizing Eo.
@feature
Summary: Changes float on uchar as we do in other place for color component
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2528
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.
This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.
@feature
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation
Solution: A new API set_state_anim is added.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_set_state_anim.edc) is added to edje examples to test set_state_anim API.
Reviewers: shilpasingh, raster, cedric
Reviewed By: cedric
Subscribers: poornima.srinivasan, cedric
Differential Revision: https://phab.enlightenment.org/D2470
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation, by default supports only linear
e.g: set_tween_state API
Solution: To not break backward compatibility, a new API set_tween_state_anim is added in which we can even specify type of transition required.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_tween_anim.edc) is added to edje examples to test set_tween_state_anim API.
Reviewers: raster, cedric, shilpasingh, Hermet
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, SubodhKumar, rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2344
Summary:
When edje entry is not inside the canvas view port, anchors update is aborted to improve the scrolling performance
in case of large number of anchors.
@feature
Test Plan:
1. Should have many entries inside scroller.
2. Each entry should contain large number of anchors.
3. Scroll it, scrolling is not smooth.
Reviewers: seoz, cedric, thiepha, woohyun, tasn, raster, shilpasingh, herdsman, JackDanielZ
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2108
Summary:
Internationalisation of the static text specified as part of the edc is implemented.
Problem: Static text when specified in the edc, remains unchanged when the system language is changed.
Solution: Language support is provided even for the static strings in the edc.
Test Plan:
Test code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
Compile the code with the below command
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore`
./edje-text
1) change the language of the system using the command
export LANGUAGE=hi
./edje.text
Not the text Loading gets displayed in hindi language
2) change the language of the system using the command
export LANGUAGE=ta
./edje.text
Not the text Loading gets displayed in tamil language
3) change the language of the system using the command
export LANGUAGE=en
./edje.text
Not the text Loading gets displayed in english language
As the number of .mo files in the /edje folder can be increased, those many languages can be supported
Reviewers: cedric, shilpasingh
Reviewed By: shilpasingh
Subscribers: cedric, rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2336
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Ecore_Audio now supports Apple's CoreAudio to play sounds read by libsndfile.
edje_multisense integrates this new feature to enable PLAY_SAMPLE on OS X.
Test Plan:
Compiles, links and installs fine on OS X.
Run terminology and elementary_test to hear sound played on user input.
Reviewers: raster, naguirre, cedric
Reviewed By: cedric
Subscribers: plamot, cedric
Differential Revision: https://phab.enlightenment.org/D2295
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
in some cases collections cache "ref" can be NULL and old code fails.
Replaced with reliable way of getting part list that was found in
_edje_edit_group_references_update
@fix
Reviewers: raster, Hermet, seoz, reutskiy.v.v, FurryMyad, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2450
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
list returned by evas_object_box_children_get should be freed
@fix
Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2413
This case actually happens with E. It's invalid but still happening,
and because Eo doesn't actually check the parent (or its type) fully,
an invalid, non-NULL object was returned.
See T2336 (this is not fixing the root cause!).
Summary: Fix Coverity CID1287154. _alloc function can return null
however 'color' was never checked after call to _alloc and thus Could
be NULL.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Use type Edje_Object instead of Eo in legacy EAPI's.
Spotted in TAsn's ABI report, under "Problems with Symbols".
I believe this will actually add two changes (Eo -> Edje_Object),
but I like the typing better ;)