Commit Graph

56801 Commits

Author SHA1 Message Date
Jean-Philippe Andre d887c4de52 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 :)
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre a787c3cc07 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.
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre 12d50cbe19 cxx: No instantiate ctors for non-regular classes
Only regular classes can be instantiated, this should be reflected in
the C++ binding as well.
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre 753304c69d 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)
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre 425d8db90f cxx: Showcase function pointer in calendar example
This is just a work-in-progress example.
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre 5425baa906 cxx: Add support for function pointers
This was tested on the function pointer Efl.Ui.Format_Func_Cb
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre a597084db7 cxx: Add strbuf to the list of recognized builtins 2017-12-05 10:09:58 +09:00
Jean-Philippe Andre 488c29febd 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.
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre 22919b2050 format: Use strbuf builtin type instead of ptr() 2017-12-05 10:09:58 +09:00
Jean-Philippe Andre 43a6fddf1f eolian: Add builtin type "strbuf"
Refers to Eina_Strbuf*
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre cfb3365060 cxx: Add strbuf support
Comes in two fashions:
 - strbuf_view (read-only)
 - strbuf (read/write)
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre be267a071e cxx: No need to declare the current class twice
This avoids double _FWD_GUARD for the current class in a .eo.hh header.
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre 1997e1b3d0 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.
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre 258a214e0f 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.
2017-12-05 10:09:58 +09:00
Jean-Philippe Andre db8227a34a 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.
2017-12-05 10:09:58 +09:00
Felipe Magno de Almeida 66eb8ddfeb eolian: Add inarray and inlist to source generation 2017-12-04 20:34:47 -02:00
Vitor Sousa e7803cc429 efl_mono: fix switched reference to generated and non-generated source file in build system 2017-12-04 18:02:36 -02:00
Lauro Moura 80bbc4b1f9 eolian_mono: Add evas_table_mirrored_get/set to bl
Clashing with efl_ui_mirrored/get/set
2017-12-04 15:48:04 -03:00
Lauro Moura e19465bc35 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.
2017-12-04 15:47:53 -03:00
Lauro Moura 3c5efa1e8d 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.
2017-12-04 15:47:52 -03:00
Lauro Moura c316a2ef37 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
2017-12-04 15:47:52 -03:00
Lauro Moura 09221f8516 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.
2017-12-04 15:47:52 -03:00
Lauro Moura b97d3438eb efl_mono: Add buildystem integration.
The C# bindings are built using the --enable-csharp-bindings (disabled
by default).
2017-12-04 15:47:51 -03:00
Lauro Moura 41c073b2e6 efl_mono: Add examples code.
Buildsystem support will be enabled in a future commit
2017-12-04 15:47:51 -03:00
Lauro Moura 8b1a72e972 efl_mono: Add native support library
Buildsystem integration will come in a future commit
2017-12-04 15:47:51 -03:00
Lauro Moura aff896d9eb efl_mono: Add msbuild file generator
Buildsystem integration will come in a future commit.
2017-12-04 15:47:51 -03:00
Lauro Moura 345336c46d efl_mono: Added test files for the C# bindings.
Buildsystem integration will come in a future commit.
2017-12-04 15:47:50 -03:00
Lauro Moura d93e9ff286 eolian_mono: Added code for eolian_mono generator
Based on the eolian_cxx library generators. Buildsystem files will come
in a future commmit.
2017-12-04 15:47:50 -03:00
Lauro Moura 9391407319 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.
2017-12-04 15:47:49 -03:00
Lauro Moura e6dd831f7e 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
2017-12-04 15:47:49 -03:00
Lauro Moura 0931696a4f eolian: Add inarray and inlist 2017-12-04 15:47:48 -03:00
Stefan Schmidt 2631fabcac docs: fill in missing docs for efl_animation_ eo classes 2017-12-04 16:43:12 +01:00
Stefan Schmidt 9cefba4e90 docs: fill in missing docs for efl_ui_calendar_item eo class 2017-12-04 16:34:23 +01:00
Stefan Schmidt c13e2f2be0 docs: fill in missing docs for efl_animation eo class 2017-12-04 16:33:57 +01:00
Stefan Schmidt 0d0e677431 docs: fill in missing docs for efl_ui_popup_alert eo class 2017-12-04 15:42:36 +01:00
Stefan Schmidt 5ee90bcd04 docs: fill in mising docs for efl_ui_popup_anchor class 2017-12-04 15:32:48 +01:00
Stefan Schmidt 110f1b66a6 docs: fill in mising eo file docs for efl_ui_popup 2017-12-04 15:29:43 +01:00
Pawel Aksiutowicz 767eefbf21 ecore: removed warning from ecore_anim
Reviewers: stanluk, lukasz.stanislawski, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5535
2017-12-04 19:35:06 +09:00
Pawel Aksiutowicz c41480e46c 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
2017-12-04 19:32:46 +09:00
Amitesh Singh 10103b9b45 efl.gfx: move scale{} from efl.ui.base to efl.gfx 2017-12-04 14:38:39 +09:00
Cedric Bail 25747d0881 ecore: rename efl_loop_Eina_FutureXXX_timeout to efl_loop_timeout. 2017-12-03 16:30:53 -08:00
Cedric Bail d0518f7325 ecore: remove efl_loop_timeout. 2017-12-03 16:20:20 -08:00
Cedric Bail c6d4614f8c ecore: remove efl_loop_timeout tests. 2017-12-03 16:09:14 -08:00
Cedric Bail 383e3a761e ecore: remove a test from old efl_promise to remove use of efl_loop_timeout. 2017-12-03 16:01:09 -08:00
Al Poole e12b5352a1 Revert "BSD: resolve issue of missing symbols building E on FreeBSD."
This reverts commit 482724d52a.

Sorry!!!
2017-12-03 21:46:15 +00:00
Al Poole 482724d52a BSD: resolve issue of missing symbols building E on FreeBSD. 2017-12-03 13:37:42 +00:00
Al Poole 1be1ef168a eina_file_win32: also check for copy before unmapping region. 2017-12-02 11:45:53 +00:00
Chris Michael 1711363725 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>
2017-12-01 15:32:35 -05:00
Derek Foreman 7658fc101f 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.
2017-12-01 10:59:51 -06:00
Derek Foreman c48ca81026 ecore_wl2: Add ecore_wl2_surface_flush
This removes all buffers from a surface.
2017-12-01 10:58:44 -06:00