platform/upstream/efl.git
6 years agoefl_ui_focus_manager: fix api duplication
Marcel Hollerbach [Sun, 3 Dec 2017 12:26:16 +0000 (13:26 +0100)]
efl_ui_focus_manager: fix api duplication

6 years agoeolian cxx: free state on exit
Daniel Kolesa [Tue, 5 Dec 2017 15:47:19 +0000 (16:47 +0100)]
eolian cxx: free state on exit

6 years agoeolian: pass state where necessary
Daniel Kolesa [Tue, 5 Dec 2017 15:40:04 +0000 (16:40 +0100)]
eolian: pass state where necessary

This modifies the API so that global state removal is made
possible. It's still used internally for now but externally
the state is contained.

6 years agoeolian: add initial refcounting for database objects
Daniel Kolesa [Mon, 4 Dec 2017 13:44:29 +0000 (14:44 +0100)]
eolian: add initial refcounting for database objects

This will be necessary once the unit system is in (it will be used
to keep track of multiple references to objects across units).

6 years agoeolian: pass unit within validation engine
Daniel Kolesa [Mon, 4 Dec 2017 10:44:56 +0000 (11:44 +0100)]
eolian: pass unit within validation engine

6 years agoeolian: contain master state in a larger structure
Daniel Kolesa [Sun, 3 Dec 2017 20:18:20 +0000 (21:18 +0100)]
eolian: contain master state in a larger structure

6 years agoeolian: add API for master unit creation
Daniel Kolesa [Sun, 3 Dec 2017 20:10:44 +0000 (21:10 +0100)]
eolian: add API for master unit creation

6 years agoeolian: create an actual unit structure for files
Daniel Kolesa [Sun, 3 Dec 2017 19:57:43 +0000 (20:57 +0100)]
eolian: create an actual unit structure for files

Units now form an actual tree stored in their own hash. This will
later replace all global state of Eolian, by introducing a master
unit that you will pass around.

6 years agoelm_widget: simplify _eval_registration_candidate
Yeongjong Lee [Tue, 5 Dec 2017 08:57:44 +0000 (17:57 +0900)]
elm_widget: simplify _eval_registration_candidate

Test Plan: make check

Reviewers: bu5hm4n, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5588

6 years agobuild: fix examples build without c# bindings enabled
Stefan Schmidt [Tue, 5 Dec 2017 08:26:22 +0000 (09:26 +0100)]
build: fix examples build without c# bindings enabled

Listing it here without guards will break for builds without c# enabled.
It was actually taken care of a few lines below where it gets included
with the right guards. This one was just around by accident I think.

6 years agoedje: rename intf Efl.Canvas.Layout_Group to Efl.Layout.Group
Amitesh Singh [Tue, 5 Dec 2017 07:00:08 +0000 (16:00 +0900)]
edje: rename intf Efl.Canvas.Layout_Group to Efl.Layout.Group

6 years agoedje: rename intf Efl.Canvas.Layout_Calc to Efl.Layout.Calc
Amitesh Singh [Tue, 5 Dec 2017 06:29:07 +0000 (15:29 +0900)]
edje: rename intf Efl.Canvas.Layout_Calc to Efl.Layout.Calc

6 years agoedje: rename intf Efl.Canvas.Layout.Signal to Efl.Layout.Signal
Amitesh Singh [Tue, 5 Dec 2017 05:39:20 +0000 (14:39 +0900)]
edje: rename intf Efl.Canvas.Layout.Signal to Efl.Layout.Signal

6 years agoc#: Fix test case
Jean-Philippe Andre [Tue, 5 Dec 2017 05:48:29 +0000 (14:48 +0900)]
c#: Fix test case

return -1 in a void function breaks the build for me (clang)

6 years agoecore_wl2: Fix a warning
Jean-Philippe Andre [Tue, 5 Dec 2017 05:33:03 +0000 (14:33 +0900)]
ecore_wl2: Fix a warning

6 years agoeo: Move hacky API auto_unref to C only
Jean-Philippe Andre [Tue, 5 Dec 2017 05:31:22 +0000 (14:31 +0900)]
eo: Move hacky API auto_unref to C only

This API is meant to be used by parts only, and by bindings dealing with
part objects. This patch fixes make check which got broken in the after
the previous one (cxx).

6 years agocxx: Fix compilation after merge
Jean-Philippe Andre [Tue, 5 Dec 2017 01:47:09 +0000 (10:47 +0900)]
cxx: Fix compilation after merge

This resolves a few issues and brings back the experimental features.

Also, disable some of the ugliest experiments:
 - manual function overrides,
 - define APIs only in eo_cxx namespace

Some APIs are generated behind EFL_CXXPERIMENT (eg. event_name_cb_add or
some weak pointer stuff). I believe they are useful but would like to
make sure there are no serious drawbacks with generating those.

6 years agocxx: Define types after forward declarations
Jean-Philippe Andre [Tue, 28 Nov 2017 12:32:45 +0000 (21:32 +0900)]
cxx: Define types after forward declarations

This is useful if the types refer to the current class.

6 years agocxx: Include edje from elementary
Jean-Philippe Andre [Tue, 28 Nov 2017 12:18:28 +0000 (21:18 +0900)]
cxx: Include edje from elementary

6 years agocxx: Fix one conversion to Eina_Value
Jean-Philippe Andre [Tue, 28 Nov 2017 12:17:32 +0000 (21:17 +0900)]
cxx: Fix one conversion to Eina_Value

6 years agocxx: Update slider example
Jean-Philippe Andre [Tue, 28 Nov 2017 08:24:06 +0000 (17:24 +0900)]
cxx: Update slider example

6 years agocxx: Add global _delete() method to all objects
Jean-Philippe Andre [Tue, 28 Nov 2017 07:26:25 +0000 (16:26 +0900)]
cxx: Add global _delete() method to all objects

This is really just calling efl_del() and detaching the internal pointer
from the C++ object. This will not affect other references, which means
after del the object may still be alive, probably without a parent.

6 years agocxx: Use per-function guards in efl object
Jean-Philippe Andre [Tue, 28 Nov 2017 07:21:40 +0000 (16:21 +0900)]
cxx: Use per-function guards in efl object

This prevents generation of del().
I also removed constructor, finalize and destructor as I believe this
requires special work with eo_inherit (where did this work go??).

6 years agocxx: Include definition header in impl header
Jean-Philippe Andre [Tue, 28 Nov 2017 06:39:39 +0000 (15:39 +0900)]
cxx: Include definition header in impl header

Good for IDE's. Not extremely useful considering how unreadable those
files are.

6 years agocxx: Add header guards for manual definitions
Jean-Philippe Andre [Tue, 28 Nov 2017 06:32:02 +0000 (15:32 +0900)]
cxx: Add header guards for manual definitions

This will be used for things like efl_del

efl_part was a lucky case where the entire class was to be implemented
manually, thus the global header guard was sufficient.

6 years agocxx: Give ref to returned objects
Jean-Philippe Andre [Tue, 28 Nov 2017 05:37:33 +0000 (14:37 +0900)]
cxx: Give ref to returned objects

This should give a ref to obj in the following scenario:

  auto obj = other.function();

Where obj is an eo object.

6 years agocxx: Implement support for @class static functions
Jean-Philippe Andre [Tue, 28 Nov 2017 05:17:51 +0000 (14:17 +0900)]
cxx: Implement support for @class static functions

6 years agocxx: Fix indentation of ifdef guard
Jean-Philippe Andre [Mon, 27 Nov 2017 14:54:43 +0000 (23:54 +0900)]
cxx: Fix indentation of ifdef guard

6 years agowin: Allow unref until deletion
Jean-Philippe Andre [Mon, 27 Nov 2017 13:24:01 +0000 (22:24 +0900)]
win: Allow unref until deletion

This is for bindings. I wish I could actually distinguish the use case
more (between efl_add() from C and instantiation from C++).

6 years agocxx: Implement support for parts
Jean-Philippe Andre [Mon, 27 Nov 2017 10:52:44 +0000 (19:52 +0900)]
cxx: Implement support for parts

This generates methods like this:

  Part_Class part_name() const;

Which can then be used like:

  slider.indicator().format_string_set("%1.1f");

6 years agocxx: Fix evas compile test and Evas.hh
Jean-Philippe Andre [Thu, 23 Nov 2017 05:43:06 +0000 (14:43 +0900)]
cxx: Fix evas compile test and Evas.hh

The c++ header was checking the wrong header guard. Fixing that would
break the compilation test, as it was doing the wrong thing. Also I
think config.h should not be included for compilation tests. This should
make things slightly better.

6 years agocxx: Fix bg examples
Jean-Philippe Andre [Thu, 23 Nov 2017 05:10:24 +0000 (14:10 +0900)]
cxx: Fix bg examples

One uses the Bg widget and the other one uses the part.

6 years agocxx: Implement proper part support (wrt. refs)
Jean-Philippe Andre [Thu, 23 Nov 2017 04:51:10 +0000 (13:51 +0900)]
cxx: Implement proper part support (wrt. refs)

It's VERY hacky, but works as expected: no leak, no extra unref. This is
a lucky case of simply overriding efl_part() implementation in C++,
without having to modify the declaration.

6 years agocxx: Add header guards to .impl.hh
Jean-Philippe Andre [Wed, 22 Nov 2017 13:35:11 +0000 (22:35 +0900)]
cxx: Add header guards to .impl.hh

Those are included headers after all, even if they're only included once
from Elementary.hh (or whatever Efl_Header.hh).

6 years agocxx: Avoid pedantic warning with -Wold-style-cast
Jean-Philippe Andre [Wed, 22 Nov 2017 11:50:11 +0000 (20:50 +0900)]
cxx: Avoid pedantic warning with -Wold-style-cast

This affects the generated headers.

6 years agocxx: Use set for forward classes
Jean-Philippe Andre [Wed, 22 Nov 2017 11:46:26 +0000 (20:46 +0900)]
cxx: Use set for forward classes

This avoids duplication. Not very important as there are FWD_GUARD
macros anyway.

6 years agocxx: Fix some pedantic warnings from clang
Jean-Philippe Andre [Wed, 22 Nov 2017 11:35:18 +0000 (20:35 +0900)]
cxx: Fix some pedantic warnings from clang

Shadow variables, 0 used as nullptr.
clang still complains that usage() is not declared as noreturn.

6 years agocxx: Add implicit conversion to Eo* pointer
Jean-Philippe Andre [Wed, 22 Nov 2017 11:25:29 +0000 (20:25 +0900)]
cxx: Add implicit conversion to Eo* pointer

This is part of the experimental stuff.

Allows calling C functions without using ._eo_ptr() explicitly. Probably
not super useful, assuming the interfaces are done :)

6 years agocxx: Only use eo_cxx:: for methods
Jean-Philippe Andre [Wed, 22 Nov 2017 11:16:21 +0000 (20:16 +0900)]
cxx: Only use eo_cxx:: for methods

Add an experimental (disabled) macro to only generate functions inside
the eo_cxx equivalent of a class, instead of inside both the eo_cxx and
the normal class definition.

I guess the duplicated definition had something to do with doxygen, but
I'm not sure this is quite necessary as doc will be generated with
custom scripts.

6 years agocxx: No instantiate ctors for non-regular classes
Jean-Philippe Andre [Wed, 22 Nov 2017 10:45:56 +0000 (19:45 +0900)]
cxx: No instantiate ctors for non-regular classes

Only regular classes can be instantiated, this should be reflected in
the C++ binding as well.

6 years agocxx: Add define EFL_CXXPERIMENTAL for testing
Jean-Philippe Andre [Wed, 22 Nov 2017 08:17:04 +0000 (17:17 +0900)]
cxx: Add define EFL_CXXPERIMENTAL for testing

I'll hide some controversial features behind this, until we come to an
agreement with @felipealmeida and people who actually know C++ (iow: not
just me^^).

Features protected:
 - easy wref (using -> without locking)
 - xxx_event_cb_add() functions in object classes
 - instantiate(obj) to create a new object
 - add as a synonym for instantiate (both in efl::eo)

6 years agocxx: Showcase function pointer in calendar example
Jean-Philippe Andre [Wed, 22 Nov 2017 08:14:55 +0000 (17:14 +0900)]
cxx: Showcase function pointer in calendar example

This is just a work-in-progress example.

6 years agocxx: Add support for function pointers
Jean-Philippe Andre [Wed, 22 Nov 2017 07:54:57 +0000 (16:54 +0900)]
cxx: Add support for function pointers

This was tested on the function pointer Efl.Ui.Format_Func_Cb

6 years agocxx: Add strbuf to the list of recognized builtins
Jean-Philippe Andre [Wed, 22 Nov 2017 07:50:57 +0000 (16:50 +0900)]
cxx: Add strbuf to the list of recognized builtins

6 years agocxx: Add FIXME note in eina_value.hh
Jean-Philippe Andre [Wed, 22 Nov 2017 07:47:27 +0000 (16:47 +0900)]
cxx: Add FIXME note in eina_value.hh

I think some concepts are not handled properly in this set of classes.
I'll do some more experiments to see if I can find a working solution,
but I think we need 3 variants of eina_value, instead of just the two
provided.

6 years agoformat: Use strbuf builtin type instead of ptr()
Jean-Philippe Andre [Wed, 22 Nov 2017 07:28:56 +0000 (16:28 +0900)]
format: Use strbuf builtin type instead of ptr()

6 years agoeolian: Add builtin type "strbuf"
Jean-Philippe Andre [Wed, 22 Nov 2017 06:44:06 +0000 (15:44 +0900)]
eolian: Add builtin type "strbuf"

Refers to Eina_Strbuf*

6 years agocxx: Add strbuf support
Jean-Philippe Andre [Wed, 22 Nov 2017 06:04:30 +0000 (15:04 +0900)]
cxx: Add strbuf support

Comes in two fashions:
 - strbuf_view (read-only)
 - strbuf (read/write)

6 years agocxx: No need to declare the current class twice
Jean-Philippe Andre [Tue, 14 Nov 2017 08:41:24 +0000 (17:41 +0900)]
cxx: No need to declare the current class twice

This avoids double _FWD_GUARD for the current class in a .eo.hh header.

6 years agocxx: Some code style in examples
Jean-Philippe Andre [Mon, 13 Nov 2017 02:43:04 +0000 (11:43 +0900)]
cxx: Some code style in examples

Use the common form
  Class a(instantiate);
instead of
  auto a = Class(instantiate);

Also modify bg example to not use an policy.

6 years agocxx: Add event_cb_add functions to events
Jean-Philippe Andre [Fri, 10 Nov 2017 10:04:23 +0000 (19:04 +0900)]
cxx: Add event_cb_add functions to events

This enables a syntax like:

  button.clicked_event_cb_add([]() { std::cout << "Hello" << std::endl; });

I could not manage to pass the std::placeholders inside the template,
depending on whether the lambda has arguments or not. Not sure if
that's even possible.

6 years agocxx: Add alternative form to instantiate object
Jean-Philippe Andre [Fri, 10 Nov 2017 09:04:53 +0000 (18:04 +0900)]
cxx: Add alternative form to instantiate object

This still uses the instantiate object but provides a more convenient
syntax for objects declared before their creation (eg. a global win).

Note: I wonder if we shouldn't rename instantiate to add. It would be
closer to EFL API's while being much much easier to type.

6 years agoeolian: Add inarray and inlist to source generation
Felipe Magno de Almeida [Mon, 4 Dec 2017 22:32:06 +0000 (20:32 -0200)]
eolian: Add inarray and inlist to source generation

6 years agoefl_mono: fix switched reference to generated and non-generated source file in build...
Vitor Sousa [Mon, 4 Dec 2017 16:11:41 +0000 (14:11 -0200)]
efl_mono: fix switched reference to generated and non-generated source file in build system

6 years agoeolian_mono: Add evas_table_mirrored_get/set to bl
Lauro Moura [Mon, 4 Dec 2017 18:48:04 +0000 (15:48 -0300)]
eolian_mono: Add evas_table_mirrored_get/set to bl

Clashing with efl_ui_mirrored/get/set

6 years agoeolian_mono: Generate placeholder fields for empty structs
Lauro Moura [Fri, 1 Dec 2017 03:43:12 +0000 (00:43 -0300)]
eolian_mono: Generate placeholder fields for empty structs

Mono's JIT fails to generate function pointer for delegates with empty
structs in the signature, leading to those mini-amd64.c crashes on empty
fields.

This commit generates a placeholder IntPtr field in empty structs.

6 years agoefl_mono: Fix eina_value_set.
Lauro Moura [Thu, 30 Nov 2017 20:49:35 +0000 (17:49 -0300)]
efl_mono: Fix eina_value_set.

Instead of messing around with varargs, create individual wrappers for
each type supported.

The va_list approach was getting problems with float/double on Windows.

6 years agoecore: Fix compilation for GCC 4
Lauro Moura [Tue, 7 Nov 2017 20:01:56 +0000 (17:01 -0300)]
ecore: Fix compilation for GCC 4

Summary:
GCC4 support compound literals for static initializers only in C89. This
commit reverts to the previous behavior when using this version.

Currently we are using it to build on Windows.

Reviewers: felipealmeida, cedric, barbieri

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5518

6 years agoelm: Move legacy enums to elm_general.eot.
Lauro Moura [Wed, 22 Nov 2017 19:44:44 +0000 (16:44 -0300)]
elm: Move legacy enums to elm_general.eot.

efl_ui_text and friends uses some enums currently defined in
elm_entry.eo. The latter is exported outside the elm public eolian eos
and never generated.

This commit moves the enums to the "transition" file elm_general.eot.

6 years agoefl_mono: Add buildystem integration.
Lauro Moura [Fri, 24 Nov 2017 01:10:05 +0000 (22:10 -0300)]
efl_mono: Add buildystem integration.

The C# bindings are built using the --enable-csharp-bindings (disabled
by default).

6 years agoefl_mono: Add examples code.
Lauro Moura [Fri, 24 Nov 2017 01:01:25 +0000 (22:01 -0300)]
efl_mono: Add examples code.

Buildsystem support will be enabled in a future commit

6 years agoefl_mono: Add native support library
Lauro Moura [Fri, 24 Nov 2017 00:57:45 +0000 (21:57 -0300)]
efl_mono: Add native support library

Buildsystem integration will come in a future commit

6 years agoefl_mono: Add msbuild file generator
Lauro Moura [Fri, 24 Nov 2017 00:56:11 +0000 (21:56 -0300)]
efl_mono: Add msbuild file generator

Buildsystem integration will come in a future commit.

6 years agoefl_mono: Added test files for the C# bindings.
Lauro Moura [Fri, 24 Nov 2017 00:53:28 +0000 (21:53 -0300)]
efl_mono: Added test files for the C# bindings.

Buildsystem integration will come in a future commit.

6 years agoeolian_mono: Added code for eolian_mono generator
Lauro Moura [Fri, 24 Nov 2017 00:50:16 +0000 (21:50 -0300)]
eolian_mono: Added code for eolian_mono generator

Based on the eolian_cxx library generators. Buildsystem files will come
in a future commmit.

6 years agoefl_mono: Adding support code for the C# binding
Lauro Moura [Fri, 24 Nov 2017 00:49:22 +0000 (21:49 -0300)]
efl_mono: Adding support code for the C# binding

This is the C# manual code for the binding. Buildsystem integration will
come in a future commit.

6 years agoeolian_cxx: Many changes for the C# bindings
Lauro Moura [Fri, 24 Nov 2017 00:47:25 +0000 (21:47 -0300)]
eolian_cxx: Many changes for the C# bindings

- Added helper function to get all methods of a given class (local and
  inherited methods)
- Add filename information to klass
- Added new defs: enum, value (currently only integers), struct
- Generator refactoring
- Eolian C compatibility

6 years agoeolian: Add inarray and inlist
Lauro Moura [Fri, 24 Nov 2017 00:46:55 +0000 (21:46 -0300)]
eolian: Add inarray and inlist

6 years agodocs: fill in missing docs for efl_animation_ eo classes
Stefan Schmidt [Mon, 4 Dec 2017 15:43:12 +0000 (16:43 +0100)]
docs: fill in missing docs for efl_animation_ eo classes

6 years agodocs: fill in missing docs for efl_ui_calendar_item eo class
Stefan Schmidt [Mon, 4 Dec 2017 15:34:23 +0000 (16:34 +0100)]
docs: fill in missing docs for efl_ui_calendar_item eo class

6 years agodocs: fill in missing docs for efl_animation eo class
Stefan Schmidt [Mon, 4 Dec 2017 15:33:57 +0000 (16:33 +0100)]
docs: fill in missing docs for efl_animation eo class

6 years agodocs: fill in missing docs for efl_ui_popup_alert eo class
Stefan Schmidt [Mon, 4 Dec 2017 14:42:36 +0000 (15:42 +0100)]
docs: fill in missing docs for efl_ui_popup_alert eo class

6 years agodocs: fill in mising docs for efl_ui_popup_anchor class
Stefan Schmidt [Mon, 4 Dec 2017 14:32:48 +0000 (15:32 +0100)]
docs: fill in mising docs for efl_ui_popup_anchor class

6 years agodocs: fill in mising eo file docs for efl_ui_popup
Stefan Schmidt [Mon, 4 Dec 2017 14:17:32 +0000 (15:17 +0100)]
docs: fill in mising eo file docs for efl_ui_popup

6 years agoecore: removed warning from ecore_anim
Pawel Aksiutowicz [Mon, 4 Dec 2017 10:35:06 +0000 (19:35 +0900)]
ecore: removed warning from ecore_anim

Reviewers: stanluk, lukasz.stanislawski, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5535

6 years agoecore: munmap() call get size of the same type as nmap() call in "len" argument
Pawel Aksiutowicz [Mon, 4 Dec 2017 10:32:46 +0000 (19:32 +0900)]
ecore: munmap() call get size of the same type as nmap() call in "len" argument

Reviewers: stanluk, lukasz.stanislawski, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5553

6 years agoefl.gfx: move scale{} from efl.ui.base to efl.gfx
Amitesh Singh [Fri, 1 Dec 2017 02:51:56 +0000 (11:51 +0900)]
efl.gfx: move scale{} from efl.ui.base to efl.gfx

6 years agoecore: rename efl_loop_Eina_FutureXXX_timeout to efl_loop_timeout.
Cedric Bail [Mon, 4 Dec 2017 00:30:53 +0000 (16:30 -0800)]
ecore: rename efl_loop_Eina_FutureXXX_timeout to efl_loop_timeout.

6 years agoecore: remove efl_loop_timeout.
Cedric Bail [Mon, 4 Dec 2017 00:20:20 +0000 (16:20 -0800)]
ecore: remove efl_loop_timeout.

6 years agoecore: remove efl_loop_timeout tests.
Cedric Bail [Mon, 4 Dec 2017 00:09:14 +0000 (16:09 -0800)]
ecore: remove efl_loop_timeout tests.

6 years agoecore: remove a test from old efl_promise to remove use of efl_loop_timeout.
Cedric Bail [Mon, 4 Dec 2017 00:01:09 +0000 (16:01 -0800)]
ecore: remove a test from old efl_promise to remove use of efl_loop_timeout.

6 years agoRevert "BSD: resolve issue of missing symbols building E on FreeBSD."
Al Poole [Sun, 3 Dec 2017 21:46:15 +0000 (21:46 +0000)]
Revert "BSD: resolve issue of missing symbols building E on FreeBSD."

This reverts commit 482724d52aaebb21ebb228eead9ddc107b094780.

Sorry!!!

6 years agoBSD: resolve issue of missing symbols building E on FreeBSD.
Al Poole [Sun, 3 Dec 2017 13:37:42 +0000 (13:37 +0000)]
BSD: resolve issue of missing symbols building E on FreeBSD.

6 years agoeina_file_win32: also check for copy before unmapping region.
Al Poole [Sat, 2 Dec 2017 11:45:53 +0000 (11:45 +0000)]
eina_file_win32: also check for copy before unmapping region.

6 years agoecore-evas-drm: Check for XDG_SEAT existence
Chris Michael [Fri, 1 Dec 2017 20:32:35 +0000 (15:32 -0500)]
ecore-evas-drm: Check for XDG_SEAT existence

Small patch to allow specifying a different seat via XDG_SEAT env
variable. If no seat name is passed as ecore_evas options, then we
would always default to 'seat0'. As this may not be desirable in all
situations, allow for an override via XDG_SEAT env var.

ref T6455

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoecore_wl2: Add API ecore_wl2_window_surface_flush
Derek Foreman [Thu, 30 Nov 2017 21:33:38 +0000 (15:33 -0600)]
ecore_wl2: Add API ecore_wl2_window_surface_flush

This allows something that only has the Ecore_Wl2_Window (ie: something
that isn't engine code) to force dropping of all the buffers.

This should be safe to call at any time as the buffer handling logic
will properly cleanup the buffers when async render is done with them
or the compositor releases them.

This will eventually be used when a wayland client receives a
wl_output.leave events to indicate it isn't displayed on any outputs.

6 years agoecore_wl2: Add ecore_wl2_surface_flush
Derek Foreman [Thu, 30 Nov 2017 21:19:17 +0000 (15:19 -0600)]
ecore_wl2: Add ecore_wl2_surface_flush

This removes all buffers from a surface.

6 years agoecore_wl2: add Ecore_Wl2_Surface to Ecore_Wl2_Window
Derek Foreman [Thu, 30 Nov 2017 21:10:22 +0000 (15:10 -0600)]
ecore_wl2: add Ecore_Wl2_Surface to Ecore_Wl2_Window

Track the surface of a window and only allow one.

Eventually this might be worthwhile to apply to subsurfaces, but for today
lazy is the way.

6 years agoecore_wl2: Make Ecore_Wl2_Buffer struct private
Derek Foreman [Thu, 30 Nov 2017 19:15:15 +0000 (13:15 -0600)]
ecore_wl2: Make Ecore_Wl2_Buffer struct private

Nothing needs these members anymore.  If need arises in the future then
proper getter/setter functions can be added.

6 years agoecore_wl2 wayland_shm: Move surface functions into ecore_wl2
Derek Foreman [Thu, 30 Nov 2017 18:48:08 +0000 (12:48 -0600)]
ecore_wl2 wayland_shm: Move surface functions into ecore_wl2

Finish pushing these all into ecore_wl2

6 years agowayland_shm: Rename all the evas_dmabuf functions
Derek Foreman [Thu, 30 Nov 2017 18:20:01 +0000 (12:20 -0600)]
wayland_shm: Rename all the evas_dmabuf functions

These are going to find a home in ecore_wl2, and this is the last
step before moving them all over there.

6 years agowayland_shm: No longer include dmabuf header in engine.h
Derek Foreman [Thu, 30 Nov 2017 17:59:41 +0000 (11:59 -0600)]
wayland_shm: No longer include dmabuf header in engine.h

There's no longer any need for code outside of evas_dmabuf.c to
know anything about dmabuf.

6 years agowayland_shm: move surface structure to evas_dmabuf.c
Derek Foreman [Thu, 30 Nov 2017 17:58:18 +0000 (11:58 -0600)]
wayland_shm: move surface structure to evas_dmabuf.c

This is no longer needed by the outbuf code.

6 years agowayland_shm: Use wrapper functions instead of function pointers
Derek Foreman [Thu, 30 Nov 2017 17:56:23 +0000 (11:56 -0600)]
wayland_shm: Use wrapper functions instead of function pointers

switch to the new "API"

6 years agowayland_shm: Wrap function pointers for surface
Derek Foreman [Thu, 30 Nov 2017 17:53:53 +0000 (11:53 -0600)]
wayland_shm: Wrap function pointers for surface

This is going to be an API soon.

6 years agowayland_shm: Move surface free into surface_destroy
Derek Foreman [Thu, 30 Nov 2017 17:44:23 +0000 (11:44 -0600)]
wayland_shm: Move surface free into surface_destroy

The caller shouldn't have to free this.

6 years agowayland_shm: Remove struct _Dmabuf_Surface
Derek Foreman [Thu, 30 Nov 2017 17:43:21 +0000 (11:43 -0600)]
wayland_shm: Remove struct _Dmabuf_Surface

It's all piled into Surface now.

6 years agowayland_shm: Stop using outbuf and engine info in surface code
Derek Foreman [Wed, 29 Nov 2017 21:56:04 +0000 (15:56 -0600)]
wayland_shm: Stop using outbuf and engine info in surface code

The surface stuff now no longer needs knowledge of those structures.

6 years agowayland_shm: Pass alpha to surface_create
Derek Foreman [Wed, 29 Nov 2017 21:50:12 +0000 (15:50 -0600)]
wayland_shm: Pass alpha to surface_create

Stop extracting it from other structures, pass it directly.

6 years agowayland_shm: pass the ecore_wl2_window to surface create
Derek Foreman [Wed, 29 Nov 2017 21:46:31 +0000 (15:46 -0600)]
wayland_shm: pass the ecore_wl2_window to surface create

No longer extract this from the engine info.