adding an "event rect" is a common use case for rectangles, but I needed
a smarter event rect so I sent one off to school and it came back like this.
an event_grabber is a smart object which functions like a normal event rect
which has color(0,0,0,0), but with an important difference: it can have smart
members. event propagation works differently for an event_grabber:
normal:
event -> layer -> smart(obj1,obj2,obj3) ->(?) other objects
in this case, obj1,obj2,obj3 are all "inside" the smart object and their stacking
will always be considered as being inside the smart object. rendering is also
tied to the smart object in this case, as is clipping.
an event which reaches a smart object will be sent to the objects inside,
and then may continue through the smart object if there are no objects which
block repeating.
event_grabber:
event -> layer -> event_grabber -> obj1,obj2,obj3 -> STOP
in this case, obj1,obj2,obj3 are unmodified after being added to the event_grabber
and can be stacked, rendered, and clipped completely independently of the
event_grabber.
the event_grabber is considered an "event_parent" for this case. member objects
are not "inside" the event_grabber, and they are unable to receive events on
their own. instead, the event_grabber, which must be stacked above all its
members, receives events and propagates them top->down through its member objects.
if none of the member objects block the repeat of an event then the event will
still be blocked from further propagation past the event_grabber.
object lifetimes are independent of the event_grabber; deleting the event_grabber
has no effect on its members.
@feature
Summary:
Add some light function docs and code comments to explain the steps
followed in processing hardware events for keyboard hits into actual
printable characters. While this is internal functionality, the process
is important and involves a couple external dependencies (libinput and
libxkbcommon) so documenting this flow may help future developers avoid
introducing bugs.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4953
This patch updates our static_libs/libdrm header files to version
2.4.81-1 (from arch).
NB: derek, I don't have the exynos headers here. Please update them
when you can.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This check for drmModeAtomicCommit is no longer necessary as we have
moved to using static_libs/libdrm during compile time.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As we now use static_libs/libdrm for compiling ecore-drm2, we can
remove the atomic #ifdefs as we can run-time check this now.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch set allows us to use static_libs/libdrm files in order to
build ecore-drm2. This also allows us to remove a lot of the copied
drm header code from our source files and is easier to keep up-to-date.
Merge branch 'devs/devilhorns/drm_static'
As we now use static_libs/libdrm to build ecore_drm2, we need to
fix how our drm_mode variables are declared so we can use them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As we will now use static_libs/libdrm to build ecore_drm2, we no
longer need to include the copied code from the libdrm headers so
remove all of the copied code from our source files.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As we will now use static_libs/libdrm for building ecore_evas_drm, we
no longer need to include this bit of borrowed four_cc code from libdrm
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds support to Ecore_Evas_Wayland for Window Manager
Rotations so that window managers which do support rotations are able
to rotate an EFL wayland application.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As these events will be raised to ecore_evas_wl and the handlers there
do not pass along the Ecore_Evas as 'data', we need to change the type
of variable passed along in the event struture so that
ecore_event_window_match can be called to find the Ecore_Evas.
This patch also fixes some typos discovered during compile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds an API function which can be called to determine if
window manager rotation is supported.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API function which can be called to set if
window manager rotation is supported.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Dependencies are now going to be parsed strictly after the main
file, to allow proper dependency cycle behavior in all places. For
now there is correct parsing of deferred deps but they're not
queued yet.
image.zoomable can load edj files now.
usage:
efl_file_set(zoomable, "../somefile.edj", "mygroupname");
test:
elm_test -> photocam
click "open" btn
select an edj file, it would show first group in selected edj file.
@feature
Summary:
Genlist item doesn't change its size when its content size is changed,
but its size is determined in realization.
Therefore, deferred calculations for content should be performed immediately
before swallowing it by genlist item.
Test Plan: make and run attached sample
Reviewers: jpeg, SanghyeonLee, cedric
Differential Revision: https://phab.enlightenment.org/D4705