Efl.Animation.Group.Parallel is a class for animations started in
parallel.
Efl.Animation.Object.Group.Parallel is a class which provides methods
for an object of Efl.Animation.Group.Parallel.
The objects added into the parallel group animation object start in
parallel.
Efl.Animation.Object is a class which starts or cancels animation.
Efl.Animation.Object instance is created by Efl.Animation instance.
So Efl.Animation.Object instance contains animation properties from
Efl.animation instance.
Animation properties are set by using Efl.Animation instance and the
animation is started or cancelled by using Efl.Animation.Object.
This region has little to do with focus, as it's more of a region of
interest within the widget, and not directly related to the highlight
geometry, for instance. It's related to focus in the sense that only
widgets with focus would really care about this region.
I decided to change this name after talking with @bu5hm4n.
Note that gengrid uses this but is also completely broken (the focus
highlight floats around and you don't even see the focused item).
Note: This is very close to show_region but I'm not sure those can be
merged safely (since the default "focus_region" is NULL while the
default "show_region" is the widget's geometry).
Ref T5363
This is modifying how a rarely used environment variable that sets the
DPI used for font sizing is parsed. The previous form remains valid, of
course. Note that EFL tends to use "scaling" instead of this DPI. The
font DPI is useful for me to open up a terminology window with almost
the same size as my IDE's code viewer.
Use case:
export EVAS_FONT_DPI=95x94 terminology
Note:
I still don't get a 1:1 match with Qt's rendering, and in fact
94x95 works better than what 95x94 (which is reported by xdpyinfo).
Interesting though :)
@feature
These timestamp functions are not currently being called, perhaps they
were intended for something later?, but for now just #if 0 them out as
they are not used
Signed-off-by: Chris Michael <cp.michael@samsung.com>
they are not anymore needed, before they existed for keeping the focus
in the window, even if the keystrokes should be focus movements. This is
already working without this.
the focus rectangle is basically just a normal efl.canvas.rectangle, but
with the focus interface implemented.
This fixes alot of errors which gets called when the root_focus manager
is used, with the submanager as mixin.
I kept the safety error message for easier debugging.
Test scenario:
elementary_test -to "Window Inline"
Click on an entry. Press Shift+Tab.
Ping @bu5hm4n
This makes EAPI evas_object_del() and EO API efl_del() work the same on
evas objects, i.e. a del() implies an immediate call to hide() and mark
the object as "delete_me".
If the refcount remains > 0 the object won't be actually deleted, thus
EFL_EVENT_DEL won't be triggered. I think it would probably be a good
idea to have a new event "del,request", to signal reference owners that
this object "wants" to die.
Ping @raster @zmike
Summary:
There is no effect of assingning a variable while clean up.
@fix
Reviewers: raster, cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5272
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
There is no effect of comparing with same expression.
@fix
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5271
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Unsigned integer should not be compared to less than zero.
@fix
Reviewers: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5270
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Unsigned integer should not be compared to less than zero
@fix
Test Plan: NA
Reviewers: cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5269
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
If you call focus_set(m, o) where o is a logical child, then the focus
will go to any none logical child of o, or if there is nothing in the
children of o, then the focus will remain on the now focused element.
This reverts commit 7a98f617e9.
this commit breaks compiling things against efl badly. i'm on holiday
and haver only a mini screen and keyboard wwith me so any serious wok
in hunting these issues isn't going to be fun or easy. as this causes
bad build brreaks this is worth a revert IMHO. please re-submit wwhen
you've tested against efl by building things against it. also our
public headers just should not have such ifdefs/if's that change api
presented based on how efl is cnfigured. we expose the same api and
macros and types regardless of internal config.
Summary:
Wrong camparision with less than zero for unsigned integer.
@fix
Test Plan: NA
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5262
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Variable assigned is not used anywhere else, making it unused.
@fix
Test Plan: Na
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5263
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Unsigned interger should not be compared to less than zero.
@fix
Test Plan: Na
Reviewers: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5264
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Passing NULL to variadic funtion may lead to undefined behaviour.
@fix
Test Plan: NA
Reviewers: lukasz.stanislawski
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5265
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
As 'flags' can be supplied by application, in case application is supplying
a big string(error case), it can cause crash in some version of glibc.
Setting maximum possible input (0x64) length as width specifier
Fix for static code analyzer warnings
- scanf without field width limits can crash with huge input data on some versions of libc
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Test Plan: Run SonarQube
Reviewers: cedric, raster, Princekrdubey, rajeshps
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5266
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
since fd9cf1d3b6, All Eo canvas objects remain
visible by default.
but elm_hover doesn't want to be shown in combobox constructor.
showing elm_hover in constructor occurs unexpected behavior.
this fixes that bug.
Test Plan:
1. elementary_test - Combobox
2. Click the combobox to Expand the list.
Reviewers: jpeg, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5267
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Realization of audio data playback through WASAPI (Windows Audio Session API).(minimal)
WASAPI model:
1. Find a playback device (in the default system)
2. Register the client on the playback device.
3. Create a playback format for audio data.
4. Initialize the client with the created format, and access mode, ....
5. Take the object-rendering from the client for play the data stream.
6. Play data stream
ecore_audio model:
1. create a object for play the data stream(out object)
2. create a object to receive the data stream(in object)
3. register in the out-object the in-object
4. play data stream
Necessary:
Realize the ecore_audio object to play the data stream using the WASAPI model.
How implemented:
1. The object ecore_audio_out_wasapi is implemented
2. object ecore_audio_out_wasapi - the object constructor is find a playback device (in the default system)(WASAPI)
3. _ecore_audio_out_wasapi_ecore_audio_out_input_attach - register in the out-object the in-object
3.1 Register the client on the playback device.(WASAPI)
3.2 Create a playback format for audio data.(WASAPI)
3.3 Initialize the client with the created format, and access mode, ....(WASAPI)
4. _write_cb - play data
4.1 Take the object-rendering from the client for play the data stream.(WASAPI)
4.2 Play data stream(WASAPI)
Reviewers: cedric, vtorri, raster, an.kroitor, NikaWhite, FurryMyad, rimmed, t.naumenko, Jaehyun, bowonryu
Reviewed By: vtorri, NikaWhite
Subscribers: artem.popov, cedric, jpeg
Tags: #windows
Differential Revision: https://phab.enlightenment.org/D5029
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
elput_input_pointer_rotation_set may be getting called before input
devices are actually added, so we need to be able to set pointer
rotation when a device actually gets added.
To fix this, we will store the requested input rotation value, and
apply it at the time of input device creation.
NB: The current case is that the wl_drm module will apply existing
output rotation before Input has completely initialized, thus any
calls to set the pointer rotation there will not succeed as input
devices have not been created yet.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Test Plan: run on XP
Reviewers: jpeg, cedric, ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D5245
Keep the legacy code path when using edje_object_part_text_set.
Fixes e's notification that got broken after
3642b3ae67.
Also, limit new efl_text_markup set to TEXTBLOCK parts.
there can be cases where the call to such a function is never going to
be directed to the actual implementation. In those cases the FallackCall
will be called.
Summary:
There was missing info when text is deleted by _edje_entry_imf_event_delete_surrounding_cb().
@fix
Test Plan: N/A
Reviewers: kimcinoo, raster, cedric, jpeg, herdsman
Differential Revision: https://phab.enlightenment.org/D5240
Summary:
Evas should add font when only FcPatternGet function gives matched result.
@fix
Test Plan: N/A
Reviewers: raster, cedric, herdsman, jpeg
Differential Revision: https://phab.enlightenment.org/D5236
fix CID 1379920 - event_flags is actually never NULL or undefined in
the function logic. it's always set to point to the specific event
flags field depending on struct type or the function will return
before using the pointer.
Also implement markup_set/get for:
- Efl.Ui.Frame
- Efl.Ui.Slider
Users may choose between text_set/get and markup_set/get, depending on
whether they want to escape their text or not.
Users can now do either:
efl_text_set(efl_part(obj, "part"), "text");
efl_text_markup_set(efl_part(obj, "part"), "text");
Also have efl_text_get/markup_get.
Using markup_set will allow to choose whether to set a markup or a text
to the text part.
Adds basic markup operations for text objects, and implements it in
Efl.Canvas.Text.
Also, this adds the Efl.Text.Markup_Util class.
This utility class allows basic text-markup conversions.
@feature
Refer to the previous commits for more context.
When an evas object is given to a container, be it with a variant of
efl_pack() or efl_content_set(), its "ownership" is given to the new
parent container. But ownership here means that the new container may
delete the child when it sees fit (i.e. when the container itself dies,
for instance). This does not mean that a reference was passed from the
calling context to the container. The actual EO owner of the child is
always the canvas or another canvas object, even if it the object is
unpacked.
Note: This means that invalid calls to efl_pack or efl_content_set will
not automatically delete the child object. This is the same as legacy,
and results in floating objects. Just check the return value! :)
Hopefully this is correct for bindings.
This comes back to an earlier situation where the fake event objects
created by efl_input_dup() had a parent (it should be the evas or maybe
the window). But that led to issues as efl_unref() would print error
messages. Using efl_allow_parent_unref_set() we hide the error message,
because in this situation we want the caller to use efl_unref() and not
efl_del() (eg. think of bindings...).
See d3436af616
See 6bed255fc4
See 96d94e0076 <-- main commit
This allows deleting an object by simply calling efl_unref() on it, even
if there is a parent. Normally the parent is in charge, and you can
request deletion by calling efl_del() or efl_parent_set(NULL).
But in some rare cases, you want to give ownership of an object (@owned)
and still give a parent to that object. efl_unref() should be used (and
would be used by bindings when going out of scope or on garbage
collection), which would then print an error message. This API allows
the specific behaviour.
@feature
export EO_LIFECYCLE_BACKTRACE=0
This means that the lifecycle can be tracked but we don't care about the
backtraces. Related to some recent eo_debug patches.
If an object still has a parent inside the del intercept, we shouldn't
reset the "parent_sunk" flag. This would indeed break logic as
parent_sunk == false implies that a parent was never set, which means
the parent must be null. Right now this case isn't used but it can be
imagined with caches of evas objects (they should remain parented to
their evas).
@fix
the count ?: 1 check is pointless as count is already checked above.
make it clearer that it's > 0 and remove the ? check. silence for
coverity CID 1380542
edje_object_part_text_style_user_push() doesnt need you to
stringshare_add a string... some other code did it because it "gets"
the string from an obj that might free/delete the string on push etc.
or before so it keeps a copy but then it stringshare_del's it
anyway... the _textpath_ellipsis_set() code creates a trsbuf that
wasn't freed if enabled was false and it never stringshare_del'd the
string is stringshare_added... all of this was pointless code anyway.
you could just pass the constant string directly.
fixes CID 1380543
efl_data_scope_safe_get() is often used to assert that an object is of a
certain type, but assuming it may be NULL or not of the required type.
This means that encountering an invalid type is an error handled by the
caller (we return NULL), and shouldn't print out extra ERR() logs.
This fixes issues with E run under eo_debug. E's code was safe as it's
using evas_object_smart_data_get() and verifies whether the returned
value is NULL (which is expected for a rectangle, for instance).
@fix
This solves issues with efl_input_dup() which didn't properly give a
reference to the caller, resulting in dangling eo ids.
Note: This may trigger leaks (instead of invalid refs), but this now
actually reflects the meaning of @owned. This should work with bindings
and C API users should know to call efl_unref().
This patch is the reason for the previous improvements on eo_debug.
@fix
This is done via the syntax (not documented yet):
EO_LIFECYCLE_DEBUG=N:<class names>
Where N is:
1. new/free
2. new/free/ref/unref
3. new/free/ref/unref/reuse
@feature
Summary:
If object just has update of map point without other changes included child,
the map surface can be reused.
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D5181
Summary:
In case of emile, unmap the memory of the image file when the image file is closing.
But closing of image file happen when the image is flushed from the cache, so the
mapped memory of image file remain for long period of time with no benefit (If it is
in cache, it won't get decoded again). So I think we don't need to keep the mapped
memory of image file.
Test Plan: self
Reviewers: cedric, jpeg, jypark
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D5210
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
If the main loop is destroyed a lot of companion information might already
have been so relying on EFL_EVENT_DEL might be way to late in the shutdown
process. terminate will be triggered as soon as the process of shutting down
is started, so all the data are still valid and have not been destroyed yet.
Summary:
The patch will adjust ascent/descent with considering main font's ascent/descent
as minimum value. Actually, this patch re-apply D5217 with resolving linegap issue
on the _layout_format_ascent_descent_adjust() function.
@fix
Test Plan: Put a text which will load smaller font. And put a text which will load primary font.
Reviewers: raster, cedric, herdsman, jpeg
Differential Revision: https://phab.enlightenment.org/D5227
After ecore_shutdown the main loop is dead, so the flag do_quit can be
safely reset to 0. This will fix issues with cycles of
elm_init/shutdown. This fixes:
CK_FORK=no tests/elementary/elm_suite elm_win
This patch relies on a few of the previous patches which ensure that
ecore is well shut down.
@fix
It's not enough to check the init generation count, if the cache data is
not reset properly.
This patch adds safety in two ways:
1. Actually reset the op call cache when we detect a new generation
2. Verify that we don't return NULL function pointer
The 1st point is absolutely necessary, 2nd is optional (extra cost of
one if()).
@fix
An old comment mentioned that this was explicitely not unregistered, but
I believe the comment isn't valid since ecore_event_type_flush() was
introduced.