Cedric Bail [Wed, 15 Nov 2017 04:14:44 +0000 (20:14 -0800)]
elementary: protect from stall include.
This should be reverted before next release as this header was only
there during this release cycle.
Cedric Bail [Wed, 15 Nov 2017 04:14:01 +0000 (20:14 -0800)]
elementary: provide network when doing ui.
Cedric Bail [Wed, 15 Nov 2017 04:13:29 +0000 (20:13 -0800)]
elementary: only include Efl_Ui.h when BETA API is requested.
Cedric Bail [Wed, 15 Nov 2017 04:12:36 +0000 (20:12 -0800)]
elementary: elm_widget actually rely on elm_object_item.
Cedric Bail [Wed, 15 Nov 2017 04:11:39 +0000 (20:11 -0800)]
elementary: fix typos in header inclusion rules.
Cedric Bail [Wed, 15 Nov 2017 04:10:33 +0000 (20:10 -0800)]
ecore: always declare EFL_MAIN not just for application using the BETA flag.
Cedric Bail [Wed, 15 Nov 2017 04:08:09 +0000 (20:08 -0800)]
Revert "Revert series of patches from cedric (due to dependencies and conflicts)"
This reverts commit
2cea85db388d34337676466ef7f50c22e685c7d0.
Their was a typo that I made during cleanup of the patch before pushing that I didn't
notice broke some stuff. But also you may have an old efl_general.h in your elementary
directory that is now being picked instead of the one provided by the tree.
Carsten Haitzler (Rasterman) [Wed, 15 Nov 2017 02:48:25 +0000 (11:48 +0900)]
Revert series of patches from cedric (due to dependencies and conflicts)
Revert "elementary: currently double declare elm_init/shutdown."
This reverts commit
44bb0c18480f5094fcd0c8be93de87be5c1d78c5.
Revert "elementary: fix efl_ui_multibutton installed headers."
This reverts commit
32a213dc722be2bfec5fb2b513dd556cfb7e9f33.
Revert "elementary: introduce Efl_Ui.h."
This reverts commit
df3d3f7334a79f1ab661b31787002f50af59b3f3.
Revert "ecore: do not display error message on cancel."
This reverts commit
99654b7cd29b418e0308be350c8d26208c0905a8.
Revert "efl: and don't forget to install the new dependencies."
This reverts commit
814ffb9b6bd50d498bfd98f4b8a75f1cad3cc0cf.
Revert "ecore: remove EFL_OBJECT_BETA as Efl_Core.h is for Efl new inerfaces."
This reverts commit
619d0f3cff023414feb8f2aaeebf468806c50b44.
Revert "ecore: move EAPI_MAIN from elementary to ecore."
This reverts commit
e5d84da864214b9f772808040f22e1614889a25f.
as such commit
e5d84da864214b9f772808040f22e1614889a25f starts the
breaking. enlightenment, terminologya and other apps can't compile
against that efl anymore.
619d0f3cff023414feb8f2aaeebf468806c50b44
then makes this even worse with even more header errors and undefined
types. on top of this
df3d3f7334a79f1ab661b31787002f50af59b3f3 then
starts making elementary_test segfault when it runs. it wont even
start up.
asu such of these 7 commits in the first 4 (that are then relied on
later) 3 of these first 4 cause serious breakage. this simply is a
complete lack of testing changes, so i've rolled fl back to before
these things so it builds and works again and you can build against it.
PLEASE test these things. this looks ot me to be obviously a lack of
any testing... :(
Cedric BAIL [Wed, 15 Nov 2017 00:55:49 +0000 (16:55 -0800)]
elementary: currently double declare elm_init/shutdown.
Cedric BAIL [Wed, 15 Nov 2017 00:53:16 +0000 (16:53 -0800)]
elementary: fix efl_ui_multibutton installed headers.
Cedric BAIL [Wed, 15 Nov 2017 00:19:18 +0000 (16:19 -0800)]
elementary: introduce Efl_Ui.h.
Cedric BAIL [Tue, 14 Nov 2017 22:40:22 +0000 (14:40 -0800)]
ecore: do not display error message on cancel.
Cedric BAIL [Tue, 14 Nov 2017 22:31:00 +0000 (14:31 -0800)]
efl: and don't forget to install the new dependencies.
Cedric BAIL [Tue, 14 Nov 2017 22:17:00 +0000 (14:17 -0800)]
ecore: remove EFL_OBJECT_BETA as Efl_Core.h is for Efl new inerfaces.
Cedric BAIL [Tue, 14 Nov 2017 21:50:13 +0000 (13:50 -0800)]
ecore: move EAPI_MAIN from elementary to ecore.
Andy Williams [Tue, 14 Nov 2017 19:12:56 +0000 (19:12 +0000)]
elm_code: Add basic scope parsing to syntax highlighting.
This is currently displayed by showing scope in the widget gutter
Bryce Harrington [Tue, 14 Nov 2017 13:10:14 +0000 (13:10 +0000)]
eina: Improve API docs for eina_crc.h
Reviewers: cedric, ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: jpeg, segfaultxavi
Differential Revision: https://phab.enlightenment.org/D5468
Daniel Kolesa [Tue, 14 Nov 2017 12:42:38 +0000 (13:42 +0100)]
eolian: scan system dir by default
The '-S' option lets you reverse that. But by default, most
people will want the prefix to be scanned for eo files.
Shilpa Singh [Tue, 14 Nov 2017 00:52:46 +0000 (09:52 +0900)]
elc_popup.c: accessible name_get interface added
Summary: accessible name_get interface added, popup does not have default text.
What should be read for the name information should be define by popup.
Test Plan:
In atspi mode, when an AT-client such as screen-reader queries, it should return
as "Alert title(if present)/text(if present)"
Reviewers: kimcinoo
Subscribers: cedric, jpeg, govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D5466
Jean-Philippe Andre [Mon, 13 Nov 2017 13:39:02 +0000 (22:39 +0900)]
eolian: Fix odd syntax (remove EINA_UNUSED)
Jean-Philippe Andre [Fri, 10 Nov 2017 08:18:12 +0000 (17:18 +0900)]
cxx: Only give a single ref to unparented objects
On instantiation objects get either one or two refs:
- with a parent, they will have 2 refs, one for C++, one for the
parent.
- without a parent, they get a single ref, the one for C++
This will break the existing C++ examples, which I will fix in later
patches.
Note that the window is a strange object which can be created with no
parent but internally reparents itself to an object it creates (oh so
ugly).
Jean-Philippe Andre [Fri, 10 Nov 2017 07:50:01 +0000 (16:50 +0900)]
win: Move autodel to C only
Note: this is C only, not legacy only.
The problem is that bindings will hold a strong reference to the window,
which will then die "under the rug" if autodel is enabled. This then
leads to at least ERR if not crashes.
Note:
elm_policy needs to support autodel and quit on last del only for C
applications. Bindings will require some other mechanism that doesn't
break all assumptions wrt. references.
Amitesh Singh [Tue, 14 Nov 2017 02:08:17 +0000 (11:08 +0900)]
test calendar: Add test case for string format func.
Amitesh Singh [Tue, 14 Nov 2017 01:51:03 +0000 (10:51 +0900)]
Efl.Ui.Format: Add support for "struct tm" in string format.
Amitesh Singh [Tue, 14 Nov 2017 01:30:55 +0000 (10:30 +0900)]
test calendar: make format callback function better
Add comments too.
Amitesh Singh [Tue, 14 Nov 2017 00:54:42 +0000 (09:54 +0900)]
Efl.Ui.Slider_Interval: remove smart data associated with class.
Its not getting used anywhere.
Cedric BAIL [Mon, 13 Nov 2017 22:39:08 +0000 (14:39 -0800)]
evas: disable unecessary lock when not using evas_render2
Calling this lock for no good reason result in a 2% slow down. Easy
enough to disable as we do not use evas_render2 at all. Might be
something to consider if we ever develop evas_render2 further.
Cedric BAIL [Mon, 13 Nov 2017 22:25:10 +0000 (14:25 -0800)]
edje: last improvement of _edje_hash_find_helper speed by reducing call to eina split function.
Cedric BAIL [Mon, 13 Nov 2017 22:13:08 +0000 (14:13 -0800)]
edje: cache last string search miss to reduce useless call to eina_str_split_full by 3.
Cedric BAIL [Mon, 13 Nov 2017 22:12:42 +0000 (14:12 -0800)]
edje: cleanup life cycle of buffer in _edje_hash_find_helper.
Marcel Hollerbach [Mon, 13 Nov 2017 13:15:04 +0000 (14:15 +0100)]
efl_ui_win: unfocus and focus again the most upper widget
if we unfocus a window we should unfocus also the current focused
widget.
fix T6297
Shilpa Singh [Mon, 13 Nov 2017 11:54:05 +0000 (20:54 +0900)]
elc_naviframe.c: Append title, subtitle while reading title and subtitle in naviframe.
Summary: read title along with naviframe item title and subtitle along with naviframe subtitle.
Test Plan:
In accessibility mode, when naviframe title area is focused, The text title and subtitle should be read
out along with item's title and subtitle.
Reviewers: kimcinoo
Reviewed By: kimcinoo
Subscribers: cedric, govi, rajeshps, jpeg
Differential Revision: https://phab.enlightenment.org/D5463
Jean-Philippe Andre [Mon, 13 Nov 2017 06:39:53 +0000 (15:39 +0900)]
calendar: Remove invalid ref to elm enum
Thanks @JackDanielz for the report. This does not solve your actual
concern, though.
Vyacheslav Reutskiy [Mon, 13 Nov 2017 08:50:44 +0000 (10:50 +0200)]
edje: add event for inform about circular dependency
This commit add the event "circular,dependency" for edje object. Given
event is called when edje found the circular dependency between parts
in object. This event will be usefull and informative paired with
Edje_Edit API.
Bryce Harrington [Mon, 13 Nov 2017 03:09:21 +0000 (12:09 +0900)]
eina: Fix spelling/punctuation errors in docs (quaternion..rectangle)
Reviewers: cedric, ajwillia.ms
Subscribers: segfaultxavi, jpeg
Differential Revision: https://phab.enlightenment.org/D5450
Lukasz Stanislawski [Mon, 13 Nov 2017 03:08:57 +0000 (12:08 +0900)]
elm: evaluate MULTISELECTABLE state for genlist and gengrid
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5452
Lukasz Stanislawski [Mon, 13 Nov 2017 03:08:43 +0000 (12:08 +0900)]
elm: set accurate access role for elm_icon
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5453
Lukasz Stanislawski [Mon, 13 Nov 2017 03:08:24 +0000 (12:08 +0900)]
elm: set accurate access role for elm_popup
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5454
Bryce Harrington [Mon, 13 Nov 2017 03:05:09 +0000 (12:05 +0900)]
eina: Fix spelling/punctuation errors in documentation (safepointer..strbuf)
Reviewers: cedric, ajwillia.ms
Subscribers: segfaultxavi, jpeg
Differential Revision: https://phab.enlightenment.org/D5458
Bryce Harrington [Mon, 13 Nov 2017 03:04:59 +0000 (12:04 +0900)]
eina: Fix spelling/punctuation errors in documentation (thread..xattr)
Summary:
Also makes some of the doxygen comment line spacing/formatting
consistent.
Interesting ref on grammar of 'an uniform' vs. 'a uniform':
https://english.stackexchange.com/questions/4700/is-it-a-uniform-or-an-uniform
It is AN honor to work with such A uniform language as English. *sigh*
Reviewers: cedric, ajwillia.ms
Subscribers: segfaultxavi, jpeg
Differential Revision: https://phab.enlightenment.org/D5459
Bryce Harrington [Mon, 13 Nov 2017 03:04:39 +0000 (12:04 +0900)]
eina: Add API doxygen for eina_rbtree_inline_lookup()
Reviewers: cedric, ajwillia.ms
Subscribers: segfaultxavi, jpeg
Differential Revision: https://phab.enlightenment.org/D5460
Bryce Harrington [Mon, 13 Nov 2017 03:04:32 +0000 (12:04 +0900)]
eina: Improve eina_alloca API dox
Reviewers: cedric, ajwillia.ms
Subscribers: segfaultxavi, jpeg
Differential Revision: https://phab.enlightenment.org/D5461
Carsten Haitzler (Rasterman) [Sun, 12 Nov 2017 12:44:42 +0000 (21:44 +0900)]
libinput check - move up to requiring 1.6 as a minimum for libinput
Marcel Hollerbach [Sun, 12 Nov 2017 11:02:17 +0000 (12:02 +0100)]
elm_widget_item_static_focus: do not accept the adapter as subchild
The problem here was that the adapter we have created would be
recognized as our subchild, and thus we delete our own subchild, which
is wrong. This fixes that problem and keeps the adapter alive.
Marcel Hollerbach [Sat, 11 Nov 2017 17:26:53 +0000 (18:26 +0100)]
genlist: implement item focus
this implements item-content focus for genlist. feel free to notify me
if there are any crashes or something simular.
ref T6181
Marcel Hollerbach [Fri, 10 Nov 2017 15:05:09 +0000 (16:05 +0100)]
elm_gengrid: do not try to bring in a NULL item
Marcel Hollerbach [Fri, 10 Nov 2017 14:26:33 +0000 (15:26 +0100)]
elm_widget_item: refactor logic from gengrid into seperated class
Marcel Hollerbach [Fri, 10 Nov 2017 14:24:19 +0000 (15:24 +0100)]
elm_gengrid: improve the performance while realizing
realization is now back to the normal performance mode, the widgets are
reevalulated when composition calls for preparing
Marcel Hollerbach [Fri, 10 Nov 2017 14:15:57 +0000 (15:15 +0100)]
elm_widget: add a new api for directly reevalulating widgets
usefull if the provider changes
Marcel Hollerbach [Fri, 10 Nov 2017 14:14:16 +0000 (15:14 +0100)]
efl_ui_focus_composition: make sure to prepare before anything else
happens
this fixes mysterical focus chain changes in gengrid
Marcel Hollerbach [Fri, 10 Nov 2017 14:12:58 +0000 (15:12 +0100)]
efl_ui_focus_composition: make sure to not unregister and register again
this fixes issues where a widget suddenly changes parent...
Al Poole [Sat, 11 Nov 2017 13:23:12 +0000 (13:23 +0000)]
elm_code: add support for go syntax.
Carsten Haitzler (Rasterman) [Sat, 11 Nov 2017 03:10:32 +0000 (12:10 +0900)]
Revert "Edje: use textblock by default"
This reverts commit
ef3d2120bfa58f9247a441602bd30f13cc7f225a.
This breaks E. pager ono my right screen looks like:
http://devs.enlightenment.org/~raster/shot-2017-11-11_12-13-14.png
on my left screen shellf keeps swapping between 2 dizes wobbling back
and forth every frame eating cpu and making it "blurry"...
note - theme is the flat one in devs/raster/theme/flat2 branch. so
this change certainly breaks something...
Vincent Torri [Fri, 10 Nov 2017 21:13:06 +0000 (13:13 -0800)]
evil: add tests for Windows port.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Chris Michael [Fri, 10 Nov 2017 20:59:51 +0000 (15:59 -0500)]
ecore-wl2: Minor formatting fixes
NB: No functional changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Derek Foreman [Fri, 10 Nov 2017 19:41:00 +0000 (13:41 -0600)]
wayland: stop tracking compositor_version in engine
We don't need it anymore now that damage is posted from inside ecore_wl2.
Derek Foreman [Fri, 10 Nov 2017 19:40:22 +0000 (13:40 -0600)]
wayland_shm: Remove surface damage function
This is now in ecore_wl2
Derek Foreman [Fri, 10 Nov 2017 19:34:34 +0000 (13:34 -0600)]
wayland_shm: cosmetic code simplification
We already have this value in a temp, so use it.
Derek Foreman [Fri, 10 Nov 2017 19:33:46 +0000 (13:33 -0600)]
waylamd_shm: Use ecore_wl2_window_damage
The new library function provides the same functionality and will allow
us to stop tracking things in the engine that the library already knows
about windows (compositor_version)
Derek Foreman [Fri, 10 Nov 2017 19:31:00 +0000 (13:31 -0600)]
ecore_wl2: Add API for adding damage to a window
This was done in the engine previously, but would be better as a library
function.
Daniel Kolesa [Fri, 10 Nov 2017 18:42:43 +0000 (19:42 +0100)]
eolian: fix generation tests
Daniel Hirt [Sun, 15 Oct 2017 14:57:38 +0000 (17:57 +0300)]
Edje: use textblock by default
As most of you know, TEXT part was, up to this point, an Evas.Text
object.
This patch merges TEXT and TEXTBLOCK both to use Efl.Canvas.Text.
Code is added to emulate what TEXT did that TEXTBLOCK did not.
I believe we can move forward with TEXT, and deperacate TEXTBLOCK from
the EDC. You can also set markup to TEXT parts.
Exactness seems to show some differences, but further examination shows
that it's due to difference in how width is calculated in
Efl.Canvas.Text. The results seem correct.
Be sure to report of any breakage via Phabricator or contact me
directly.
I am running E with this and did not stumble upon any crashes or visual
bugs.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Daniel Hirt [Sun, 15 Oct 2017 14:55:20 +0000 (17:55 +0300)]
Edje: move textblock handling to a separate source
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Daniel Hirt [Fri, 20 Oct 2017 15:02:08 +0000 (18:02 +0300)]
Canvas text: change halign/valign to use doubles
There are use cases where you would want to align by a value.
The wordy alignment values are thus removed.
This commit also separates auto-modes (none, normal, locale) for
horizontal alignment to its own API.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Daniel Hirt [Wed, 1 Nov 2017 17:29:18 +0000 (19:29 +0200)]
Canvas text: adjust bottom padding at edge of text
Now the edges include both the top AND bottom paddings.
Also fixes vertical alignment.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Daniel Hirt [Sat, 14 Oct 2017 21:29:36 +0000 (00:29 +0300)]
Canvas text: fix width calculation with style effects
There are multiple places in the code where both the padded item's
width and the maximum style padding (at the edges) are accounted for.
For the sake of making calculations for wrapping/ellipsis we should
only use the maximum style padding.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Daniel Hirt [Sat, 14 Oct 2017 19:21:54 +0000 (22:21 +0300)]
Canvas text: update style pad when no format nodes are present
This updates the style pad even if there are no format nodes.
An example of this is having a default style set to the object.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Daniel Hirt [Thu, 12 Oct 2017 07:28:36 +0000 (10:28 +0300)]
Canvas text: fix applying effects
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Daniel Hirt [Sun, 8 Oct 2017 11:00:24 +0000 (14:00 +0300)]
Canvas text: favor font name parsing over set properties
Since font names can also specify styles like weight, width etc, we
should parse the font name AFTER setting the respective properties to
the font description, so it can override some if required.
This allows, for example, the following operation:
efl_text_font_weight_set(obj, EFL_TEXT_FONT_WEIGHT_NORMAL);
efl_text_font_set(obj, "Sans:Bold");
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Derek Foreman [Fri, 10 Nov 2017 15:55:58 +0000 (09:55 -0600)]
wayland_shm: Respect the alpha
The dmabuf code has been creating ARGB buffers all the time. The old
wl_shm code correctly respected the alpha field, but that was lost in
the new version.
I'm not sure we ever create non-alpha wayland buffers, since CSD has
to have alpha to do shadows, but if there's any way to do it it'll
work now.
Daniel Kolesa [Fri, 10 Nov 2017 13:46:00 +0000 (14:46 +0100)]
eolian: more intuitive generation options and mrge impls into .c
Previously the output base name used to include extension, now
you don't need to specify an extension and it's determined from
the input file name instead.
Also, implementation boilerplate used to merge with .eo.c before,
which made no sense. Now it's merged with .c instead when it
exists or makes a new .c file when it doesn't.
Jeeyong Um [Fri, 10 Nov 2017 03:59:55 +0000 (12:59 +0900)]
edje_cc: Extract function to build stack ending with wildcard
Jean-Philippe Andre [Fri, 10 Nov 2017 03:19:53 +0000 (12:19 +0900)]
cxx: Fix example for GCC
clang has no problem, but GCC complains with "support not implemented"
Discovered with distcheck
subhransu mohanty [Thu, 9 Nov 2017 07:57:00 +0000 (16:57 +0900)]
evas/vg: use surface cache for efl vg canvas
subhransu mohanty [Thu, 9 Nov 2017 07:55:44 +0000 (16:55 +0900)]
evas/vg: refactor ector engine api and backend .
subhransu mohanty [Fri, 27 Oct 2017 04:42:01 +0000 (13:42 +0900)]
evas/engine: added new engine api for ector
subhransu mohanty [Thu, 9 Nov 2017 01:31:12 +0000 (10:31 +0900)]
evas/vg: added support for engine surface cache.
subhransu mohanty [Thu, 9 Nov 2017 01:34:01 +0000 (10:34 +0900)]
evas/common: added a generic cache in evas common.
subhransu mohanty [Thu, 26 Oct 2017 02:12:42 +0000 (11:12 +0900)]
ector: move gradient generation api to draw library for reuse.
subhransu mohanty [Thu, 26 Oct 2017 01:59:16 +0000 (10:59 +0900)]
triangulator:Added stroke_set api to the triangulator_stroker.
Cedric Bail [Fri, 10 Nov 2017 02:07:31 +0000 (18:07 -0800)]
ecore_evas: improve ecore_evas fallback animator logic for legacy case.
In Enlightenment with internal window being WL window connected to the
X11 backend, you end up with the later requiring the former to tick, even
if the former do not have a proper animator source. To work around the
problem when there is one backend that is not providing support for
animator source, we do need to avoid switching on another window source
as they could be linked somehow and we can not know.
Cedric Bail [Thu, 9 Nov 2017 23:25:51 +0000 (15:25 -0800)]
ecore_con: add support for EFL_MAIN with ecore_con support.
Cedric Bail [Thu, 9 Nov 2017 23:08:40 +0000 (15:08 -0800)]
ecore: move EFL_MAIN to Efl_Core.h
This make EFL_MAIN available and working with just Ecore. For simplicity
it is available with Efl_Core.h. Ideally it should also work with Efl_Net.h
alone and finally with an Efl_Ui.h.
T6262
Cedric Bail [Thu, 9 Nov 2017 22:33:46 +0000 (14:33 -0800)]
elementary: allow efl_general.h to be included multiple time.
Cedric Bail [Thu, 9 Nov 2017 22:33:15 +0000 (14:33 -0800)]
elementary: make elm_init and elm_shutdown optional in EFL_MAIN.
Derek Foreman [Thu, 9 Nov 2017 22:08:30 +0000 (16:08 -0600)]
wayland_shm: Don't require dmabuf support to use wl_shm
Unintended side effect of my merging of the two code paths. We should
still try to use wl_shm if we can't use dmabuf here.
Derek Foreman [Thu, 9 Nov 2017 22:06:42 +0000 (16:06 -0600)]
ecore_wl2: Discard too-old dmabuf support
We need at least version 2 for create_immed, so don't even bind the
global if it's useless to us.
This will also stop us from trying to use dmabuf (and getting killed by
the compositor) on older compositors that don't support the version we
need - we'll just use wl_shm instead when this pointer is NULL.
Derek Foreman [Thu, 9 Nov 2017 18:41:22 +0000 (12:41 -0600)]
efl_wl: Add missing @since to new functions
These ones were introduced for 1.21.
Carsten Haitzler (Rasterman) [Thu, 9 Nov 2017 02:38:35 +0000 (11:38 +0900)]
elput - ref device that is in the event queue
Amitesh Singh [Thu, 9 Nov 2017 02:02:29 +0000 (11:02 +0900)]
Efl.Ui.Slider: fix documentations
Al Poole [Thu, 9 Nov 2017 00:38:51 +0000 (00:38 +0000)]
elm_code_widget: keep track of visibility.
Keep track of visibility and ensure the cursor can never be
filled when hidden. This should finally end any issue with the
cursor and visibility with the new focus system. Didn't see this
previously until working on Edi's bottom panes which caused redraw
on resize of the widgets.
@fix
Derek Foreman [Wed, 8 Nov 2017 20:33:31 +0000 (14:33 -0600)]
wayland_shm: Remove old shm code
The new shm code should be equally capable - minus one surface resize
optimization that probably didn't buy us much performance at the cost
of memory.
Derek Foreman [Wed, 8 Nov 2017 20:15:52 +0000 (14:15 -0600)]
wayland_shm: Return oldest buffer for new renders
This is what the old shm code has been doing, and it's probably better
than what the dmabuf code was doing.
We currently allocate 3 buffers. The usual case has us swapping between
two of those buffers and saving that third buffer for emergencies - if
we ever need that third buffer it'll require a full redraw.
If we return the oldest available buffer the usual case requires a little
more damage but we should never hit the full redraw case, which can cause
a frame drop on slow hardware.
Derek Foreman [Wed, 8 Nov 2017 19:58:07 +0000 (13:58 -0600)]
wayland_shm: Simplify surface commits
We no longer have the concept of a "pre" buffer (allocated but not yet
registered as a wayland buffer)
Derek Foreman [Wed, 8 Nov 2017 17:15:04 +0000 (11:15 -0600)]
wayland_shm: Remove useless function
This serves no purpose anymore.
Derek Foreman [Wed, 8 Nov 2017 19:57:20 +0000 (13:57 -0600)]
wayland_shm: Remove dmabuf fallback
Now that we're dependent on create_immed there's no possibility of falling
back to non dmabuf allocation.
The only failing case we really need to handle is failing the first
allocation, which is currently broken and I'll be adding an advance test
for it shortly.
Derek Foreman [Wed, 8 Nov 2017 16:37:06 +0000 (10:37 -0600)]
wayland_shm: Make EVAS_WAYLAND_SHM_DISABLE_DMABUF use new code
Use the new wl_shm allocation functions making the old wl_shm code
unreachable even with the use of the disable env var.
Derek Foreman [Mon, 6 Nov 2017 23:05:25 +0000 (17:05 -0600)]
wayland_shm: Add wl_shm to dmabuf
wl_shm and dmabuf only really need to differ in how they allocate a buffer,
but right now we've got them in separate files. This dramatically
reduces the complexity of the wl_shm code and shares much more
implementation with the dmabuf code.
This throws away at least one "optimization" wl_shm used - over-allocating
buffers so that window resizing doesn't always require a new buffer
allocation. If people feel that window resizing has become too slow now
this can be added to the dmabuf code to the benefit of both allocators.
Disabling dmabuf by env var still uses the old wl_shm implementation for
now, but soon that code will be removed entirely and the env var disable
will use this path.
Derek Foreman [Mon, 6 Nov 2017 23:01:16 +0000 (17:01 -0600)]
wayland_shm: Track size of buffer
Derek Foreman [Mon, 6 Nov 2017 23:00:46 +0000 (17:00 -0600)]
wayland_shm: move buffer release callback to top of file
Code motion with no functional changes.