Commit Graph

62127 Commits

Author SHA1 Message Date
Mike Blumenkrantz e0164711be elm_actionslider: fix internal state when programmatically changing value
this value is supposed to always match the current widget state and signal
emission breaks if the states are not consistent

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9319
2019-09-04 12:41:47 -04:00
Mike Blumenkrantz 2440d82650 elm_actionslider: fix signal emission for left selection
this is supposed to be a comparison, not a filter

ref a65cb62853

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9318
2019-09-04 12:41:42 -04:00
Mike Blumenkrantz 3e0dacae36 efl_ui_widget_part: implement some expected methods
checking part type and part geometry is pretty common, so these base
implementations can fill in gaps in existing functionality

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9317
2019-09-04 12:41:39 -04:00
Mike Blumenkrantz 74b61654f4 examples: fix function signature for edje color class example
Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9303
2019-09-04 12:40:03 -04:00
Boris Faure 99d3204edf efl.h: avoid redefinition of typedef 'Efl_Gfx_Path_Command'
Reviewers: zmike, bu5hm4n, cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9311
2019-09-04 12:39:44 -04:00
Cedric BAIL e16c62ac78 ecore_evas: on internal Evas canvas uncontrolled death, properly clean up Ecore_Evas.
This allow evas test to work with an Ecore_Evas directly. It prevent leaking of memory
in the case of half destroying Ecore_Evas.

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9104
2019-09-04 12:38:54 -04:00
Godly T.Alias b3dc92e3ec Evas Events: Decrement grab count on freeze state
Summary:
Decrement grab count of mouse event when mouse up happen during a freeze state.
Currently as grab count is not reduced in this scenario, further touches gets ignored.

Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>

Test Plan: (on scenario where proxy exists) mouse down -> freeze events -> mouse up -> unfreeze events

Reviewers: cedric, raster, zmike, Hermet

Reviewed By: zmike

Subscribers: zmike, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9214
2019-09-04 12:37:46 -04:00
Mike Blumenkrantz 219ccc8ff1 evas/render: clear smart render cache when re-adding smart parent in post-render
given the following scenario:
* object is added to smartobj
* smartobj is otherwise unchanged
* render occurs
object will never render due to smartobj's render cache not including object

by clearing this cache when reinserting smartobj into the render tree for a
followup render, the object chain will be correctly processed on the next pass

fix T7990

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9287
2019-09-04 12:37:32 -04:00
Marcel Hollerbach b57927ce21 efl_ui_list: fix warnings
Summary: nothing to see here, move on!

Reviewers: zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9283
2019-09-04 12:36:53 -04:00
Alastair Poole 2815e8cf27 ELM_CODE: Fix for theming of widget.
Change inhertitence for object so we can use
themes with elm_code.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9279
2019-09-04 12:36:02 -04:00
Mike Blumenkrantz 9ef48e4cf8 edje: remove _edje_user_definition_fetch()
Summary: this is an internal function which is never used

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9205
2019-09-04 10:27:16 -04:00
Mike Blumenkrantz 7af510de1d efl/selection_manager: remove correct conditional
ref ac26c0a69d

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9265
2019-09-04 10:27:11 -04:00
Mike Blumenkrantz 12377c87e2 ecore: also error when trying to add an event handler for a type 0 event
Summary:
this is not a valid event type to add a handler for, it indicates an
uninitialized event which means the component is not active and everything
will break

@fix
Depends on D9255

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9256
2019-09-04 10:27:02 -04:00
Mike Blumenkrantz 7b50b4d991 ecore: throw an error when trying to register a handler for a nonexistent event type
Summary:
this should not be a silent return since event handlers are depended upon
so heavily
Depends on D9254

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9255
2019-09-04 10:27:00 -04:00
Mike Blumenkrantz 8535fe8ca3 events: don't check for zeroed event types before registering them
Summary:
this handles the case of reinitializing a component, but it's totally
broken in the case of doing a full ecore restart
Depends on D9253

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9254
2019-09-04 10:26:52 -04:00
Mike Blumenkrantz c5632da435 efl/selection_manager: only create wl event handlers if using wl connection
Summary:
this codepath is broken if the wl server connection does not exist

Depends on D9252

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9253
2019-09-04 10:26:47 -04:00
Mike Blumenkrantz 0855a5da5a elm/player: remove slider range setting from constructor
Summary:
this was setting an invalid 0<->0 range, which is a misuse of api
Depends on D9251

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9252
2019-09-04 10:26:40 -04:00
Hermet Park e8e2c94001 canvas event: remove unnecessary condition check.
This condition is duplicated in the function,
it's unnecessary.
2019-09-04 10:26:29 -04:00
Marcel Hollerbach 0800e0cd75 efl_ui_pan: emit the viewport change when the position changes
otherwise the viewport changes are not propagated correctly. This is
needed in order to have the new item_container bug free.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9249
2019-09-04 10:26:01 -04:00
Hermet Park 2271ea8ee2 efl_canvas_vg: prevent dangling pointers. 2019-09-04 10:24:43 -04:00
junsu choi 1808b6c8a0 Ector.Renderer: Prevent too many unref.
Summary:
pd-> surface will try efl_xref whenever surface_set is called.
desturctor is called from a subclass, ref and unref do not match.
So, Add this condition temporarily.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9235
2019-09-04 10:24:40 -04:00
Shinwoo Kim 52c34cd54d evas_render: add restacked mapped obj to redraws rect
Summary:
We are adding A object area to the redraws rect when object stack is changed
from (1) to (2) if A object is not mapped.

(1)
 ┌────────┐
 │Object A│┐
 └────────┘│
  └────────┘

(2)
 ┌────────┐
 │┌────────┐
 └│Object B│
  └────────┘

But if A object is mapped, then we are adding only part of A object area.

(part of A)
 ┌───────┐
 │┌──────┘
 └┘

So the result of stack change is (1) not (2).
This patch set is adding restacked mapped object to the restack_objects array,
after changing the stack of mapped object to add correct redraws rect.

Test Plan:
{F3727281}

{F3727280}

{F3727279}

(1) Build and Run attached example on software_x11 engine
(2) Mouse down on upper image - the image starts to use map.
(3) Then mouse up - upper image should go under the below image.
But, the changed result is NOT rendered.

Reviewers: Hermet, jsuya, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9183
2019-09-04 10:24:24 -04:00
Marcel Hollerbach 2c23300175 efl_ui_widget: optimize focus
this commit ensures 2 things:
1. This ensures that the parent is not evaluated when there was no state
changed, this cuts down roughly 30% of the calls to full_eval
2. This ensures that we only listen to parent manager changes when we
are actaully registered. This reduces the amount spend in event emission
a lot.
2019-09-04 10:22:20 -04:00
Marcel Hollerbach d5bfcd10ad efl_ui: include here efl_ui_item
Summary: this is actually a new class, it should be included here.

Reviewers: zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9200
2019-09-04 10:21:15 -04:00
Marcel Hollerbach 637d453eff evas_events: fix wrong event listening
EFL_EVENT_FOCUS_IN is wrong here, EFL_EVENT_FOCUS_IN is called on object
that received object focus. Not canvas focus, however, the code in the
callback there seems to be mainly for canvas focus handling.

Additionally, in evas_events, the event handler that was listening for
the canvas focus in / out events expected a event type, which is also
not correct, because the canvas focus in / out does not have one. In
order to catch such errors later more easily, there is now a safety
check, so we really fetched the correct seat.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9191
2019-09-04 10:20:58 -04:00
Mike Blumenkrantz a2f7f9a1b2 evas_events: implement POINTER_CANCEL event
it looks like this was left out during initial writing of eo-based eventing,
but based on the description, the intent was to have a separate cancel event
which was emitted just prior to the 'up' event using the existing state

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9184
2019-09-04 10:20:05 -04:00
Stefan Schmidt ac2a0fe313 ci: travis: update last jobs from Fedora 29 to 30 docker image
With the specsuite tests fixed now we can see that the build also works
with Fedora 30, so we can update the last missing jobs not having it.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9193
2019-09-04 10:19:51 -04:00
Mike Blumenkrantz aa607bf47f tests: remove correct callback in slider event test
typo

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9185
2019-09-04 10:19:02 -04:00
Hermet Park 9dabdf6b3a evas svg: fix missing node opacity attribute.
Any svg node could have its opacity value, we missed implementing it.

If a node have a opacity, it's opacity could be multiply with fill and stroke colors.

@fix
2019-09-04 10:18:52 -04:00
Christopher Michael 42ba2cae31 ecore-wl2: Add missing doxygen for ecore_wl2_window_resizing_get
function

ref T8014
2019-09-04 10:18:29 -04:00
Christopher Michael 74f42a45b8 ecore-wl2: Add missing @since for ecore_wl2_offer_mimes_get function
ref T8014
2019-09-04 10:18:26 -04:00
Hermet Park e3103ed796 efl_canvas_vg_container: remove unnecessary parent set.
the duplicated object must be set its parent by caller,
it shouldn't set it by itself internally.
2019-09-04 10:17:32 -04:00
Hermet Park d8d2e50c33 evas vector: set proper parents of clone objects.
fill, marker, stroke need proper parent when they were cloned.

Here, they would get the container of the shape which is going to be copied.

@fix
2019-09-04 10:17:27 -04:00
Ali Alzyod 0ff3e2202b evas_common: use memcpy to copy pixel buffer
Summary: This function has no special processing when copy data, so using memcpy can enhance performance

Test Plan:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

typedef unsigned int       DATA32;

static void
oldFunc(DATA32 *src, DATA32 *dst, size_t len)
{
   DATA32 *dst_end = dst + len;
   while (dst < dst_end)
      *dst++ = *src++;
}

static void
newFunc(DATA32 *src, DATA32 *dst, size_t len)
{
   memcpy(dst, src, len * sizeof(DATA32));
}

int main()
{

   int counter = 1000;
   srand(time(NULL));
   DATA32 src[50000] = {0};
   DATA32 dst[50000] = {0};

   for (int i = 0; i < 50000; i++)
      src[i] = rand();

   clock_t start, end;
   double total_Time1 = 0;
   int i;

   start = clock();
   for (i = 0; i < counter; i++)
      oldFunc(src, dst, 50000);
   end = clock();
   total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
   printf("original = %f \n", total_Time1);

   start = clock();
   for (i = 0; i < counter; i++)
      newFunc(src, dst, 50000);
   end = clock();
   total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
   printf("modified = %f \n", total_Time1);
}
```

Reviewers: raster, ManMower, woohyun, Hermet

Reviewed By: Hermet

Subscribers: Hermet, vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9155
2019-09-04 10:16:59 -04:00
Mike Blumenkrantz 9aca7a09ff tests/slider: verify emission of changed and delay,changed events
this simulates clicking and dragging a slider to avoid regressions with
these events

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9152
2019-09-04 10:16:48 -04:00
Mike Blumenkrantz 48d5256191 efl_ui_slider: remove setting pass_events on internal spacer in constructor
this object is swallowed into a layout, which means the layout will be managing
this property

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9151
2019-09-04 10:16:39 -04:00
Stefan Schmidt aa8d02a56f ci: travis: osx: switch to newer macos image and brew addon for packages
Summary:
One of the time consuming parts of the macos build we have is the
installing of the efl dependencies as packages from brew.
The brew update command alone is often taking 5m to run.

To avoid running brew update at all we are switching to a newer osx
image from Travis, which comes with a newer set of brew metadata and
gets us around a brew update for now. Together with this we are also
switching from our own dependency install script to the brew package
addon provided by travis already.

In my testing this shows we are only spending 270s in the brew package
updates comapred to 635s before. So we have a 6 minutes speedup for
every osx build!
Depends on D9161

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9162
2019-09-04 10:16:28 -04:00
Carsten Haitzler 5187f69c7a fix segv when adding optimizations to edje message handling
613e1715be (and friends) added a bit a
biug where messages in the queue were not skipped as they were before
causing a segv witha null lookup. this fixes that. eclipse about
dialog showed this bug up. no longer happens now.
2019-09-04 10:16:28 -04:00
Marcel Hollerbach cc860aecb4 evas: emit the corrent event here,
it seems we have done here something wrong, EFL_EVENT_FOCUS_IN is meant
to be emitted on objects that RECEIVE focus. This function here however
is called each time the window gets focus, which then might lead to a
object getting focus. However, those are two different things.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9137
2019-09-04 10:16:28 -04:00
Ali Alzyod eb4a833846 evas_textblock: more descriptive parameter names
Summary:
Use more descriptive parameter names.

l, r, t, b    it my confused with rgb  value or something similar.

Reviewers: segfaultxavi, woohyun, bowonryu

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9131
2019-09-04 10:16:28 -04:00
Carsten Haitzler 0b29b4c645 evas - events - protect on object deletion while calling callbacks
mouse in/out feeds can call callabcks that can then go delete objects
- ref them all to ensure they stay alive while we use them. this will
fix a segv apbbb saw.
2019-09-04 10:08:53 -04:00
Carsten Haitzler 730fd53e9e efl_wfl: fix warning and err prints for wl keymap tmp file 2019-09-04 10:08:47 -04:00
Carsten Haitzler b712b197f9 ecore - efl thread - handle write call mishaps and complain
fixes warnings too.
2019-09-04 10:08:36 -04:00
junsu choi 36fa75ef73 ector: Fix precomp layer rendering issue when it has alpha value
Summary:
When the precomp layer(parent layer) has alpha transparency and has more than 1 child layer
and they overlap each other if vg object just propagate the alpha to child layer
it will be applied twice in overlapped area.
Even if the child layer does not have alpha transparency, parent alpha is applied to each child.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9072
2019-09-04 10:08:12 -04:00
Vincent Torri ed79eb0962 Ecore net dialer Windows example: fix undeclared symbols
Summary:
missing symbols :

efl_net_dialer_address_dial_get
efl_net_socket_address_remote_get
efl_net_socket_address_local_get
EFL_NET_DIALER_EVENT_DIALER_CONNECTED
EFL_NET_DIALER_EVENT_DIALER_RESOLVED
EFL_NET_DIALER_EVENT_DIALER_ERROR
EFL_NET_DIALER_WINDOWS_CLASS

Test Plan: compilation

Reviewers: zmike, raster, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9106
2019-09-04 10:06:27 -04:00
Carsten Haitzler 6702734fd5 example - use LC_ALL not LC_MESSAGES for windows examples to build
so they don't need evil anymore. should help vtorri + windows
port/support.
2019-09-04 10:05:32 -04:00
junsu choi da61c9c5f2 efl_canvas_vg_container: Initialize alpha color
Summary:
The vg object (container, shape, ...) follows color of VG node data.
The color of node data is not initialized. it can set the required color for each object.
vg container should be layer with an alpha value of 255.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9083
2019-09-04 10:04:38 -04:00
Stefan Schmidt 3fb2661068 ci: travis: switch to newer distro releases
Summary:
We follow Debian 9.9, Ubuntu 19.04 and Fedora 30 releases.
Also adding a build for Ubuntu 18.04 LTS to the cron job.

Not all jobs are updated yet as some experience failures
(old or new versions) which need to be understand and fixed
before we move on.

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9088
2019-09-04 10:04:33 -04:00
Xavi Artigas aa6e188f10 docfx: Only add media files in use to the final docs
The setup script copied ALL media files, but only the C# tutorials and guides.
A lot of space can be saved in the generated _site folder if only the media
files relevant to C# are copied.
2019-09-04 10:04:10 -04:00
Christopher Michael c26e10a035 ecore-wl2: Add doxygen for ecore_wl2_input_seat_get
ref T8014
2019-09-04 10:03:42 -04:00