ecore_evas_cursor_object_set
NB: Previously, if we mad calls to ecore_evas_cursor_object_set to update the
mouse cursor hotspot, the mouse cursor would be repositioned at 0,0 on
the canvas due to x & y being set to 0,0. We fix that here by fetching
the current mouse position Regardless if we are changing the object or
not (ie: perhaps we are just updating the hotspot and not the object)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
In case of png, grayscale with transparency format (transparency doesn't mean the png has alpha channel)
gl doesn't prepare that format render.
In this case, set it argb8888 to convert the data in the png loader.
@fix
NB: Rewrite the doxy paragraph for ecore_evas_object_cursor_set.
Previous documentation there was a bit confusing in how it read.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
There is param (of the map block in part's description) that allows user to
set a color for specified vertex/point of that part.
That param was undocumented so actually no one know that this param is exist and can be used in edj file.
Two main fixes:
- adding documentation for map.color param in edc reference.
- adding .edc source code example for seeing how map.color param works.
@fix
Reviewers: cedric, Hermet, raster, seoz
Reviewed By: cedric
CC: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1083
Summary:
Fix invalid read on eina tiler reported by valgrind.
This revision will prevent access to data that was gained from eina iterator, after free of eina_iterator.
Test Plan:
1. Build enlightenment on devs/devilhorns/e_comp_wl branch with efl applyied this patch.
2. Run enlightenment with valgrind options.
3. build enlightenment with this patch
4. Run any wayland app on enlightenment
5. There will be no more invalid read message by valgrind.
Reviewers: cedric, devilhorns, raster, gwanglim, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1080
Summary:
New function provides the ability to add new tones to currently loaded collection.
It takes the name that will define new tone in collection and its frequency as parameters.
@feature
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1023
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
This commit contains two new functions that provide the ability to set and get
source property of proxy parts state:
edje_edit_state_proxy_source_get() and edje_edit_state_proxy_source_set().
Also it contains the implementation of printing source data on
edc code generation.
@feature
Reviewers: cedric, Hermet, seoz, raster, reutskiy.v.v
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1061
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Delete exist item from part. This part should have BOX or TABLE type.
In parametr - name of exist item to delete it from BOX or TABLE.
@feature
Reviewers: cedric, Hermet, seoz, raster, reutskiy.v.v
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1070
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
No need to write out alpha in a RGBA color when only
the RGB values are used by the distance op.
Also, add a comment on the byte order. Maybe I'm wrong
but I believe the operations are fine wrt. byte order :)
There is still some C99 code in the file in the form of
for (int k = 0; ...)
If there's a strong requirement not to use this form, I'll
change it, otherwise I find this specific code style more
readable (k is local to this iteration).
This patch and the previous one even give a ~10% speedup
on the encoding time. Sweet :)
So I guess always compiling with debug flags and no
optimizations isn't the best idea as some really bad warnings
can be hidden. Thanks raster for the notice.
Summary:
The event descriptions of Evas_Object were hardcoded instead
of declared in evas_object.eo and thus no binding could be aware of
their existence.
Note: Evas_Canvas events were left as is.
Reviewers: cedric, tasn, q66, JackDanielZ
Reviewed By: q66
CC: felipealmeida, raster, smohanty, cedric
Differential Revision: https://phab.enlightenment.org/D1065
Summary:
This patch allows us to construct efl::eina:: types from
their respective C types.
Reviewers: cedric, felipealmeida, q66
Reviewed By: q66
CC: smohanty, woohyun, raster, cedric
Differential Revision: https://phab.enlightenment.org/D1068
Summary: Just updating the .eo's to match the new syntax.
Reviewers: cedric, q66, tasn, JackDanielZ
Reviewed By: q66
CC: felipealmeida, smohanty, woohyun, cedric
Differential Revision: https://phab.enlightenment.org/D1067
This handwritten lexer/parser is more strict and cleaner than the previous Ragel based one,
as well as faster and doesn't leak memory (or shouldn't). It's a recursive descent style
parser with separate lexer part (unlike the previous effort) which is run at the same
stage as the parser (so it doesn't pre-lex).
@feature
Summary:
This patch introduce various new logic for packing/unpacking of Eina Rectangle in a pool.
It is then used by Evas GL backend texture allocation to improve how efficiently we pack
image in texture atlas. This lead to improved memory usage and reduced power consumption
with usually a more stable higher FPS (as it use less texture to do the same task, their
is less texture switch, so saving memory and speed at the same time).
This patch was developped on Cedric's suggestions to optimize the packing logic using Skyline
algorithm. This patch is based on master and is a new submission for earlier phab link
https://phab.enlightenment.org/D774.
Signed-off-by: Sanjay Nirankari <sanjay.n1@samsung.com>
Signed-off-by: Rajeev Ranjan <rajeev.r@samsung.com>
Signed-off-by: Sreedeep Moulik <sreedeep.m@samsung.com>
Reviewers: cedric, raster
CC: wonsik, jpeg, sreedeep.m, sanjay, govi
Differential Revision: https://phab.enlightenment.org/D1063
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
NB: Don't recall what the initial point was here, but I don't see one
now lol. No real usage for checking the ecore_wl_init count anymore so
remove the variable as we don't need to do that.
@fix
Signed-off-by: Chris Michael <devilhorns@comcast.net>
Summary:
Add function, which provide fast save group(s) back into edj file,
bypassing the source code generation.
Reviewers: raster, seoz, cedric, Hermet, reutskiy.v.v
CC: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1053
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'entry_mode'. These
properties have only parts with type 'TEXTBLOCK'. These functions return or set
entry mode for a given part.
@feature
Reviewers: seoz, cedric, Hermet, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1033
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'map'.
Those functions return or set part's name which is used as center for rotation.
@feature
Reviewers: seoz, cedric, raster, Hermet
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1050
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'map'.
Those functions return or set part's name which is used as 'light'
for calculating the brightness.
@feature
Reviewers: cedric, seoz, raster, Hermet
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1049
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
This test should make the test suite fail. It sets "a<ps>b" and
"a<ps/>b" markups, and deletes the PS format. Essentially, these two
different markups should have the same result by this deletion. Instead,
only the <ps/> format gets deleted properly.
A follow-up commit is added with this as a fix.
Evas/Textblock: fix deletion of PS bug
Fixes an issue with deletion of "<ps>". Format deletion was only
performed for formats that are own-closers. This sets the paragraph
separator to be an own-closer format.
@fix
Reviewers: tasn
Reviewed By: tasn
CC: JackDanielZ, id213sin
Differential Revision: https://phab.enlightenment.org/D1046
Summary:
This commit contains two new functions edje_edit_state_limit_get() and
edje_edit_state_limit_set(). These functions allow user to set and get value of
states 'limit' property value. Also it provides an internal type to represent
limits (Edje_Edit_State_Limit) and implements printing of limits value on edc code
generation.
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1048
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
1. Changing item's paddings and getting current padding of the item.
Add getter and setter functions for padding of the item.
- edje_edit_part_item_padding_get
- edje_edit_part_item_padding_set
2. Also some code generatings fixes for paddings, box/table and max values.
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1043
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
This commit contains two new functions for setting and getting value of
fill type of IMAGE and PROXY parts: edje_edit_state_fill_type_get() and edje_edit_state_fill_type_set()
Also with this commit printing of not default value of fill type (TILE) on generation of edc code is added.
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1044
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'sound'.
Those functions return or set compression type for a given sound.
@feature
Reviewers: cedric, raster, Hermet, seoz
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1013
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
ETC2 textures were allocated using the same empty slots pool
as RGBA textures.
ETC1 texture atlasses should still be tested.
An extension string is required to avoid using the bad
fallback in place right now. But there is no such thing yet.
this fixes @draisch's report of blankness, but doesn't fix the
garbage. it's something to do with the always render move in elm gl -
it just doesn't seem to be rendering before evas renders, or if it is,
it's failing to work/produce content.
this fixes T1341. also it removes the pointless return value from
these two functions as the return is never used. also the ifdef in
ecore_main.c seemed wrong as it wasd using fcntl not execvp but the
ifdef was for execvp. this just never was discovered, so it's slid
under the hood for a long time.
Comp objects are rare, and since we allow using classes as interfaces,
we end up allocating a lot of memory for something we don't even use.
That's why it was a linked list in the first place, and that's why it
should remain a list.
This is almost a complete revert. I reverted the code itself, and the
intent (use of array instead of list), but not the tests, or the new
return value added to comp_detach, which is useful.
This reverts commit ef09ef7489.
Summary:
There are new 'get and set' API for block 'select_mode'. These
properties have only parts with type 'TEXTBLOCK'. These functions return or set
select mode for a given part.
@feature
Reviewers: seoz, cedric, Hermet, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1034
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Add some functions for setting and getting params of the items in BOX or TABLE parts.
Next item's params are added:
- min
- max
- prefer
- aspect
Functions of them looks like that:
- edje_edit_part_item_min_w_get
- edje_edit_part_item_min_w_set
- edje_edit_part_item_min_h_get
- edje_edit_part_item_min_h_set
- edje_edit_part_item_prefer_w_set
- ... etc
Also this commit adds code generation for them.
@feature
Reviewers: cedric, seoz, raster, Hermet
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1035
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Changing item's sources and getting current source of the item.
Add getter and setter for functions with source value in item.
Main functions:
- edje_edit_part_item_source_get
- edje_edit_part_item_source_set
@feature
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1027
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
This commit contains two new functions for tones editing:
edje_edit_sound_tone_frequency_set() and edje_edit_sound_tone_frequency_det()
To avoid code duplication the macross GET_TONE_BY_NAME is added and the
lines that performed the search of tone by name are replaced with this macro.
@feature
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1030
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
rename function edje_edit_sound_xxxxx_get in h-file for matching
like in c-file. This function has not called anywhere. So it should be no problem.
@fix
Reviewers: seoz, raster, Hermet, cedric
Reviewed By: cedric
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1029
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
This commit contains two new functions that provide the ability to set and
get the values of step parameter in parts state description. Also the printing of step value
on code generation is added.
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1032
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
The issue was within the fontconfig fallback mechanism and our cache. We
used to just use the fontconfig fallback list, instead of also using the
correct edje font.
This can probably be improved a bit by not caching the fontconfig set,
but cache a list of the filenames instead. This is more generic and will
improve cache as well.
Fixes T1331
@fix
ecore_evas_convert: Add -e/--encoding option
This uses directly the encoding parameter.
For now, used only by the TGV saver, but there is no other way
to specify between ETC1 and ETC2. And we don't have a mixed ETC1+2
mode (yet).
@feature
Summary: Get the list of names of all part items in the given edje.
@feature
Reviewers: cedric, raster, seoz, Hermet
Reviewed By: cedric
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1018
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'sound'.
Those functions return or set quality of the compression for a given sound.
@feature
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1017
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
New function provides the ability to add new sound samples to currently loaded collection.
It takes path to the sound-file and name that will define this sound in collection as parameters.
The sound-file of created sample will be imported to .edj-file. Due to the fact that the
edje_import_font_file() function performs the same actions as we need to perform for importing
sound file, it is renamed to _edje_edit_file_import() that takes one additional
parameter that specifies the compression level for eet_write(). This renaming is done to
avoid code duplication.
Also this commit provides small fix that shifts all the items of arrays of tones and samples
after deletion of tone or sample correspondingly. This fix simplifies the calculation of
id of item on adding new sample or tone. Also it makes generated .edc-code look better.
@feature
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1014
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Fixed compilation error on clang when std::vector<char>::iterator and
std::string::iterator are the same type in type_traits for contiguous
traits optimization.
@fix
Reviewers: MagikBSD, tasn, cedric, raster, savio, woohyun
Reviewed By: tasn
CC: cedric
Maniphest Tasks: T1328
Differential Revision: https://phab.enlightenment.org/D1004
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
We prefer ETC2 textures when ETC2 support has been detected.
According to the spec, glCompressedTexSubImage2D should work
for ETC2.
Try even with ETC1. This may fail at runtime. The fallback path
is very dubious right now but without a proper test case I'm
not sure which approach to take.
We can also imagine cases where the GPU supports TexSubImage for
ETC1 but ETC2 is not supported at all. This will need testing, as
this case is not handled.
@feature
Summary:
If one of the given tilers is empty, then crash could be occurred in internal while loop of eina_tiler_intersection.
And fix some memory leaks in eina_tiler_intersection and eina_tiler_equal.
Reviewers: devilhorns, raster, cedric, torori
CC: cedric
Differential Revision: https://phab.enlightenment.org/D996
We couldn't do evas_object_color_set() on a filtered text
object simply because the color was not properly taken into
account.
This should simplify some effects as it'll be much easier to
set a color or alpha value to the text regardless of the filter.
Hmm, is this a fix or feature? O_o
Summary:
There are new 'get and set' API for block 'text.size_range'.
Those functions return or set the min and max font size for a given text part.
@feature
Reviewers: seoz, Hermet, cedric, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D997
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Add getter and setter for functions with transition value.
Next functions are prepared:
- edje_edit_program_transition_value1_set
- edje_edit_program_transition_value1_get
- ...
Functions are made for value1, value2, value3 and value4.
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D999
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'text.repch'.
Those functions return or set replacement character for a given text part.
This string is used to replace every character to hide the details of the entry.
Normally you would use a "*", but you can use anything you like.
@feature
Reviewers: seoz, Hermet, cedric, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1001
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Added new function that allows user to delete tonefrom collection.
After successfull deletion this function will check if this sound was in use in any
PLAY_TONE action in any program of current collections groups. If such actions
are found, they will be deleted.
This commit moves action deletion into the static _delete_play_actions() function
and replaces corresponding part of edje_edit_sound_sample_del() with
the call of this function.
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D1002
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
This is essentially a revert of my recent commit. This is wrong. These
files are not built sources, as they are not/should not be used by
anything else. They are just generated files. Putting them there
essentially makes the build linear and just wrong.
See commit 2010de6810 which first
introduced this change for more details.
This reverts commit 43038144c2.
If we have ENABLE_NLS then we need to #include <locale.h> for the
'setlocale' function else we get an implicit function declaration
warning, and a build failure due to LC_ALL not being defined
@fix
Signed-off-by: Chris Michael <devilhorns@comcast.net>
Summary:
First function of the "BOX and TABLE support" feature.
Implements only few stuff
- edje_edit_part_item_append function, that append new item to the items of BOX or TABLE part
- support TABLE and PART source code generation
@feature
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D961
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'text.source'. Those function
return or set the name of part which is source of text for given part.
@feature
Reviewers: seoz, Hermet, cedric, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D979
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Some checks were removed, becouse they are useless, due macross
GET_PD_OR_RETURN(NULL) does all this work.
@fix
Reviewers: seoz, cedric, raster, Hermet
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D980
Summary:
Added new function that allows user to delete sound sample from collection.
After successfull deletion this function will check if this sound was in use in any
PLAY_SAMPLE action in any program of current collections groups. If such actions
are found, they will be deleted.
Also, this commit fixes code generation on edj-file saving:
- sound block generation is added.
- PLAY_SAMPLE and PLAY_TONE actions code generation is added.
@festure
Reviewers: cedric, Hermet, seoz, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D986
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
There are new 'get and set' API for block 'text_class'. Those function
return or set the name of text class which would be used similar to color_class,
this is the name used by the application to alter the font family and size at runtime.
@feature
Reviewers: seoz, Hermet, cedric, raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D989
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>