Cedric BAIL [Tue, 30 May 2017 21:03:31 +0000 (14:03 -0700)]
edje: temporary build fix.
Currently Edje_Eo.h does use all the internal eo file for part.
This should be fixed soon, but in the mean time we need a usable tree.
Chris Michael [Tue, 30 May 2017 19:57:07 +0000 (15:57 -0400)]
ecore-drm2: Don't free output plane states if not using atomic
If atomic support is not enabled (kernel or env var), then we will not
be filling output plane_states, so no need to free them (if non-atomic).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 30 May 2017 19:56:51 +0000 (15:56 -0400)]
ecore-drm2: Minor formatting fix
NB: No functional changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Daniel Kolesa [Tue, 30 May 2017 15:18:31 +0000 (17:18 +0200)]
eolian: add new unit API
The idea of units (as in translation units) is to encapsulate a single
parser pass into a structure to prevent leakage of data from other
passes (therefore catching error cases that couldn't be caught before).
The internals of the unit system are currently not implemented, this
batch merely switches all the relevant APIs to use units as well as
updates various things that use those APIs; implementation will come
afterwards.
@feature
Daniel Kolesa [Tue, 30 May 2017 14:42:26 +0000 (16:42 +0200)]
eolian: silence a unused warning temporarily
Daniel Kolesa [Tue, 30 May 2017 14:09:59 +0000 (16:09 +0200)]
docgen: stub out units so the generator works again
Daniel Kolesa [Fri, 26 May 2017 13:09:49 +0000 (15:09 +0200)]
eolian: use unit in typedecl c_type_get
Daniel Kolesa [Fri, 26 May 2017 13:04:49 +0000 (15:04 +0200)]
eolian: pass unit in internal type serialization
Daniel Kolesa [Fri, 26 May 2017 13:01:00 +0000 (15:01 +0200)]
eolian: doc token ref resolver now takes unit
Daniel Kolesa [Fri, 26 May 2017 12:52:44 +0000 (14:52 +0200)]
eolian: type_class_get takes unit
Daniel Kolesa [Thu, 25 May 2017 14:18:10 +0000 (16:18 +0200)]
eolian: expr eval APIs now take units
Daniel Kolesa [Thu, 25 May 2017 14:10:29 +0000 (16:10 +0200)]
eolian: more expr system unit updates
Daniel Kolesa [Thu, 25 May 2017 14:07:48 +0000 (16:07 +0200)]
eolian: pass unit around in expr eval
Daniel Kolesa [Thu, 25 May 2017 13:20:12 +0000 (15:20 +0200)]
eolian: update lua bindings with new unit apis
Daniel Kolesa [Thu, 25 May 2017 13:18:57 +0000 (15:18 +0200)]
eolian: use unit in all getters for typedecls
Daniel Kolesa [Thu, 25 May 2017 13:17:29 +0000 (15:17 +0200)]
eolian: use units in by_file getters for typedecls
Daniel Kolesa [Thu, 25 May 2017 13:15:04 +0000 (15:15 +0200)]
eolian: pass unit to enum get by name
Daniel Kolesa [Thu, 25 May 2017 13:11:08 +0000 (15:11 +0200)]
eolian: pass unit to struct get by name
Daniel Kolesa [Thu, 25 May 2017 12:56:44 +0000 (14:56 +0200)]
eolian: pass unit to alias get by name
Daniel Kolesa [Wed, 24 May 2017 15:41:31 +0000 (17:41 +0200)]
eolian: return real nil on parse failure
Daniel Kolesa [Wed, 24 May 2017 15:40:51 +0000 (17:40 +0200)]
elua: update for unit api usage
Daniel Kolesa [Wed, 24 May 2017 15:35:34 +0000 (17:35 +0200)]
eolian: update tests according to unit API
Daniel Kolesa [Wed, 24 May 2017 15:28:48 +0000 (17:28 +0200)]
eolian: pass unit to all_classes_get
Daniel Kolesa [Wed, 24 May 2017 14:36:23 +0000 (16:36 +0200)]
eolian: pass unit to class get_by_name/file
Daniel Kolesa [Thu, 18 May 2017 14:34:58 +0000 (16:34 +0200)]
eolian: make all variable lookups take unit
Daniel Kolesa [Thu, 18 May 2017 14:33:31 +0000 (16:33 +0200)]
eolian: make by-file variable lookups take unit
Daniel Kolesa [Thu, 18 May 2017 14:31:03 +0000 (16:31 +0200)]
eolian: make by-name variable lookups take unit
Daniel Kolesa [Tue, 16 May 2017 14:47:33 +0000 (16:47 +0200)]
eolian gen: pass the unit around
Daniel Kolesa [Tue, 16 May 2017 14:13:15 +0000 (16:13 +0200)]
eolian: make eolian_file_parse return unit
Daniel Kolesa [Fri, 12 May 2017 11:54:30 +0000 (13:54 +0200)]
eolian: units will contain multiple files
Daniel Kolesa [Thu, 11 May 2017 14:35:19 +0000 (16:35 +0200)]
eolian: initial structure for units
Units are Eolian files (eo/eot). Each unit contains information
about its class, dependencies, variables and types. This allows
for saner checking to be done.
Chris Michael [Tue, 30 May 2017 15:01:22 +0000 (11:01 -0400)]
ecore-drm2: Don't fill device atomic state if atomic is disabled
If atomic support is disabled (via kernel or env var), then we do not
need to fill device atomic state as it will not be used anyway.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 30 May 2017 15:00:20 +0000 (11:00 -0400)]
ecore-drm2: Don't fill output atomic states if not using atomic
If atomic support is not enabled (kernel or env var), then we should
not be filling in output atomic state
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 30 May 2017 14:59:25 +0000 (10:59 -0400)]
ecore-drm2: Remove useless return
This 'return' statement here is just useless as the code can fall
through and the function will return 0 anwyay.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Taehyub Kim [Tue, 30 May 2017 11:33:16 +0000 (20:33 +0900)]
efl_ui_image_zoomable: fix wrong initial value for zoom mode
Summary:
fix wrong initial value for ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL mode
@fix
Test Plan:
1. set zoom mode of photocam to ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL in text_photocam.c example
2. run elementary_test -to photocam
3. check it is working well
Reviewers: jpeg, cedric, raster, Hermet, singh.amitesh
Reviewed By: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D4921
jiin.moon [Tue, 30 May 2017 10:25:37 +0000 (19:25 +0900)]
evas: Fix don't redraw map_sufarce issue
Summary:
map_surface does not redraw in below case.
1) parent and child are smart object and has map.
3) drawing objects.
4) apply new map to child object.
Test Plan: sample code
Reviewers: jpeg, cedric, jypark
Differential Revision: https://phab.enlightenment.org/D4889
Jean-Philippe Andre [Tue, 30 May 2017 10:16:48 +0000 (19:16 +0900)]
evas: Set modifiers & locks on global key events
Fixes T5510
YeongJong Lee [Tue, 30 May 2017 07:33:10 +0000 (08:33 +0100)]
elm_code: fix wrong selection delete
Summary:
If multi selection have 0 column and delete the selection, 0 + 1 column also
deleted
This fix that bug.
Also, remove needless code.
Test Plan:
1. select multi line with 0 column.
2. delete the selection
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4922
Bowon Ryu [Fri, 26 May 2017 04:01:56 +0000 (13:01 +0900)]
elm_toolbar: added to ensure different sizes of items in shrink mode.
Change-Id: I9f8a14e77a8859c9a7543e442f8355d5ef5c0d3d
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Jeeyong Um [Tue, 30 May 2017 06:36:17 +0000 (15:36 +0900)]
elm_widget: optimize memory alignment for focus related fields
Jean-Philippe Andre [Tue, 30 May 2017 04:34:57 +0000 (13:34 +0900)]
edje: Add test case for signal_recursive_process
Jean-Philippe Andre [Tue, 30 May 2017 04:52:22 +0000 (13:52 +0900)]
edje: Implement part proxy for all parts
This is required for part_state_get, which is now based
on the EO API internally. This fixes the test case introduced
in the following commmit.
Jean-Philippe Andre [Mon, 29 May 2017 14:08:54 +0000 (23:08 +0900)]
edje: Also implement content_get on external part
This implements edje_object_part_external_object_get() using
efl_content_get() on the part object. Note that there are now
two ways to call APIs on the external part:
- direct call to the efl_part() as if it was the object itself
(implemented by composition),
- get a handle with efl_content_get(efl_part()) and manipulate
it directly (it is the real object).
Do we need this? Do we need the composition trick? Should we have
only one of those solutions implemented?
Jean-Philippe Andre [Mon, 29 May 2017 13:47:55 +0000 (22:47 +0900)]
edje: Compose external part with real object
This effectively replaces edje_object_part_external_object_get
and allows all function calls except those from Efl.Object.
Is this good enough? Or do we need access to the real object?
Jean-Philippe Andre [Mon, 29 May 2017 13:33:28 +0000 (22:33 +0900)]
edje: Remove external_object_get from EO
This will be replaced by a trick: composition on the part
object itself!
Jean-Philippe Andre [Mon, 29 May 2017 13:27:21 +0000 (22:27 +0900)]
edje: Remove part_external_content_get from EO
I couldn't find a use of this API. This looks like it returns
an object inside a part inside an external (so, inside an edje).
Kept as legacy only.
Jean-Philippe Andre [Mon, 29 May 2017 11:28:08 +0000 (20:28 +0900)]
edje: Move external_param_set to a efl_part API
This adds a new class: Efl.Canvas.Layout.External.
I hate this long name...
This class represents an external part, and for now only
supports param_set/get as well as param_type_get. For now
param_type_get() still returns an Edje_External_Param_Type and
not another more generic type.
TODO: enumerate choices, return object, return content
Jean-Philippe Andre [Mon, 29 May 2017 09:57:09 +0000 (18:57 +0900)]
edje: Enhance documentation for play vs animation
I had to test in order to get an idea of what those two similar
properties meant. Hopefully this is clear and not wrong.
See example: edje-animations
Jeeyong Um [Tue, 30 May 2017 04:33:19 +0000 (13:33 +0900)]
eina: Fix broken link in doc to introduce integer hash algorithms
Jean-Philippe Andre [Tue, 30 May 2017 02:11:41 +0000 (11:11 +0900)]
evas gl: Add an env var to debug GLSL version issues
Set this env var to "300 es" to test GLSL 300 ES as shader
version. This is for brokenshakles.
Example:
export EVAS_GL_GET_PROGRAM_BINARY=0
export EVAS_GL_SHADER_GLSL_VERSION="300 es"
export ELM_ACCEL=gl
elementary_test
Jean-Philippe Andre [Tue, 30 May 2017 02:02:05 +0000 (11:02 +0900)]
check: Bump version to 0.9.10 and change macro
Changing ck_assert_ptr_nonnull() to ck_assert_ptr_ne() in order to
require "only" check >= 0.9.10. ck_assert_ptr_nonnull() was
introduced in 0.11.0. ck_assert_ptr_ne() is already used a lot
in the test suite so a recent version of check is required.
Carsten Haitzler (Rasterman) [Mon, 29 May 2017 09:01:37 +0000 (18:01 +0900)]
evas - adjust code in evas init to keep threaded gl patches applying
Jean-Philippe Andre [Mon, 29 May 2017 06:41:06 +0000 (15:41 +0900)]
edje: Add recursive flag for message_signal_process
Original patch by Jinwoo Shin:
If edje has multiple levels of child group,
edje_object_message_signal_process cannot process message on
child group. To cover that, it needs to add new API which
traverses its hierarchy and process messages.
@feature
Signed-off-by: jinwoo.shin <jw0227.shin@samsung.com>
Differential Revision: https://phab.enlightenment.org/D4914
Amitesh Singh [Mon, 29 May 2017 03:00:41 +0000 (12:00 +0900)]
elm: rename elm_photocam to Efl.Ui.Image.Zoomable
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
Jean-Philippe Andre [Mon, 29 May 2017 04:36:51 +0000 (13:36 +0900)]
ecore: Try to fix build
ecore_types.eot does not exist anymore.
Jean-Philippe Andre [Mon, 29 May 2017 02:28:13 +0000 (11:28 +0900)]
eo: Make efl_cast() return NULL if invalid cast
This makes it work like C++ dynamic_cast<> operator, so that
the return value will be NULL if the object is not an instance
of the given class.
In case of efl_super() we don't do it as efl_super is used A LOT
inside EFL itself (all constructors & destructors, for a start)
and efl_isa is in fact a bit expensive. efl_cast isn't really used
and is intended to be something like dynamic_cast.
For @cedric :)
Jean-Philippe Andre [Fri, 26 May 2017 02:53:27 +0000 (11:53 +0900)]
edje: Move part_state_get to efl_part
Jean-Philippe Andre [Fri, 26 May 2017 02:33:58 +0000 (11:33 +0900)]
edje: Implement part_geometry_get with Efl.Part
This refactors even more the edje part eo internals. But now
common part APIs can easily be implemented in edje_part.c
The API now looks like:
efl_gfx_geometry_get(efl_part(edje, "part"), &x, &y, &w, &h)
Jean-Philippe Andre [Fri, 26 May 2017 01:52:57 +0000 (10:52 +0900)]
edje: Refactor a bit internal parts for edje objects (EO)
1. Make internal part "real_part_set" an internal function (EO)
2. Use a common class rather than an interface:
- Cost: 1 extra call to efl_data_scope_get() as we don't have
the data inside the EO function call implementation.
- Gain: Ability to implement common code, such as part_geometry_get
Jean-Philippe Andre [Fri, 26 May 2017 01:41:52 +0000 (10:41 +0900)]
edje: Remove part_object_get from EO
Ooooh. This one might be controversial, as some apps definitely
use the function. But it is so easily abused. For our EO API
we are trying to not expose any internal object, as this prevents
us from making changes to the internal behaviour and structure.
All the features that this API provided should be limited to
read-only access to the internal object. In order to replace
this, we will have to return an Efl.Part object that implements
all those APIs: geometry_get, visibility_get, etc...
Jean-Philippe Andre [Fri, 26 May 2017 01:29:05 +0000 (10:29 +0900)]
edje: Unify load error types for image and edje (EO)
Most of the values were the same, with edje having just a couple
more error codes.
Not entirely sure the prefix Efl.Image is correct for this type.
Maybe just Efl.Load.Error?
Jean-Philippe Andre [Fri, 26 May 2017 01:11:20 +0000 (10:11 +0900)]
edje: Move message structs to legacy header
Jean-Philippe Andre [Thu, 25 May 2017 10:22:46 +0000 (19:22 +0900)]
edje: Remove Message_Type from EO
See the previous commits, Eina_Value is used directly, no need to
specify the type.
Jean-Philippe Andre [Thu, 25 May 2017 10:12:08 +0000 (19:12 +0900)]
ecore: Remove ecore_types.eot
This moves one enum from EO to legacy only (Ecore_Pos_Map).
Ideally the type should be in Ecore_Legacy and no Common, that
can be done later.
Ref T5522
Carsten Haitzler (Rasterman) [Mon, 29 May 2017 01:14:38 +0000 (10:14 +0900)]
elm inwin - fix unised variable warning by removing it
Daniel Hirt [Tue, 23 May 2017 13:04:53 +0000 (16:04 +0300)]
Ui text: use new text api instead of 'style'
Daniel Hirt [Tue, 23 May 2017 13:04:04 +0000 (16:04 +0300)]
Ui text: use 'wrap' and 'multiline' properties
Daniel Hirt [Mon, 22 May 2017 15:02:43 +0000 (18:02 +0300)]
Canvas text: implement Font, Format and Style interfaces
This replaces the 'style' API with actual properties.
@feature
Daniel Hirt [Mon, 22 May 2017 14:36:41 +0000 (17:36 +0300)]
Efl text: add Font, Format and Style interfaces
The following text interfaces are added:
- Efl.Text.Font: font settings that decide which font to display in
the text
- Efl.Text.Format: formatting that affects the looks and layout of
the text
- Efl.Text.Style: decorations and overlays that shouldn't affect the
font choice or the layout
@feature
Andy Williams [Fri, 26 May 2017 22:07:52 +0000 (23:07 +0100)]
elm_code: Allow multibyte characters to be entered
@fix T5496
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: do not set TABLET_PAD to have POINTER caps
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: fallback to regular device name if output_name is not available
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
wayland/drm: create evas_devices and add device pointer to input events
this is still semi-broken if a seat has many pointer-ish type devices since
pointer devices in ecore-evas were never correctly implemented to be 1:1 with
seat:cursor relationships
@feature
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
evas: better handle async device creation of default mouse
instead of yolo setting the first pointer-ish device which is created,
check to see if a better match for "default mouse" can be applied
@fix
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: store output w/h and apply to devices on creation
fix async device initialization for devices which need this (e.g., touchpads)
@fix
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: add more elput_seat accessor apis
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
ecore-evas: init cursors for all pointer-ish objects
all of these will use a cursor visual if one is set
@fix
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
ecore-evas: clear cursor object cache when setting default cursor
@fix
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
ecore-evas: only apply cursor object cache for default pointer
@fix
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
ecore-drm2: simplify output name checking on device change
eina_streq handles null and stringshare params
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: start elput_device_ and elput_seat_ namespaces, rename some functions
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: rename and make public Elput_Device_Caps enum
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput/drm: redo xkb context/keymap setting
context and keymap need to be set at the same time in order to effectively
update keyboard state, and active group should be accessible through api
as well
preserve old function ABI to ensure old binaries don't crash
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: implement compose sequences
@feature
fix T5006
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: fix key/keyname strings in key events
todo: move all this duplicated code somewhere
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: sync _keyboard_keysym_translate() with ecore-wl2 code, add copyright
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: add copyright from weston
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
ecore-wl2: implement compose keys
@feature
ref T5006
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
ecore-wl2: add weston copyright notice to ecore_wl2_input.c
this file contains code copied from weston
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: handle double/triple click for pen events
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: send axis events for tablet tools
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: add initial input tablet support
@feature
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: use unrounded coords for subpixel struct members in events
@fix
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: store device pressure for use in events
Mike Blumenkrantz [Fri, 26 May 2017 20:34:10 +0000 (16:34 -0400)]
elput: group tablet input devices into pointer devices
this is consistent with x11 behavior as well as the behavior of other toolkits
under wayland
@feature
Marcel Hollerbach [Fri, 26 May 2017 19:33:34 +0000 (21:33 +0200)]
elementary_test: add a new inwin test
to show focusable widgets in the inwin
Marcel Hollerbach [Thu, 25 May 2017 21:01:51 +0000 (23:01 +0200)]
elm_inwin: set this widget as a redirect
once this widget is visible, It should handle the focus of its children
and leave no option to the underlaying widgets to gain focus.
This is implemented by making it a redirect when it gets visible.
Marcel Hollerbach [Thu, 25 May 2017 14:37:01 +0000 (16:37 +0200)]
introduce efl_ui_focus_manager_root_focus
add a class that fills a dummy element for the case of no element added
at all.
Al Poole [Wed, 24 May 2017 20:18:19 +0000 (21:18 +0100)]
elm_code: fix cursor position (100%)
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4905
Amitesh Singh [Wed, 24 May 2017 08:02:37 +0000 (17:02 +0900)]
Efl.Ui.Progressbar: Implement Efl.Ui.Progress intf for progressbar part
and remove part_value_set/get as EO APIs
ref T5360
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>