edje: add Efl_Layout.h for eo-based layout headers
authorMike Blumenkrantz <zmike@samsung.com>
Fri, 27 Sep 2019 14:27:05 +0000 (10:27 -0400)
committerJongmin Lee <jm105.lee@samsung.com>
Mon, 30 Sep 2019 22:27:31 +0000 (07:27 +0900)
this includes all related headers

ref T8274

Additional Authors: Lauro Moura <lauromoura@expertisesolutions.com.br>

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10228

src/lib/edje/Efl_Layout.h [new file with mode: 0644]
src/lib/edje/meson.build
src/tests/edje/efl_test_layout.c [new file with mode: 0644]
src/tests/edje/efl_test_layout2.c [new file with mode: 0644]
src/tests/edje/efl_test_layout3.c [new file with mode: 0644]
src/tests/edje/meson.build

diff --git a/src/lib/edje/Efl_Layout.h b/src/lib/edje/Efl_Layout.h
new file mode 100644 (file)
index 0000000..123ce30
--- /dev/null
@@ -0,0 +1,61 @@
+#ifndef _EFL_LAYOUT_H
+#define _EFL_LAYOUT_H
+
+#include <Efl_Config.h>
+
+#include <Eina.h>
+
+#include <Eo.h>
+/* This include has been added to support Eo in Evas */
+#include <Efl.h>
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <efl_layout_calc.eo.h>
+#include <efl_layout_signal.eo.h>
+#include <efl_layout_group.eo.h>
+#include <efl_canvas_layout.eo.h>
+
+#include <efl_canvas_layout_types.eot.h>
+
+#include <efl_canvas_layout_part.eo.h>
+#include <efl_canvas_layout_part_box.eo.h>
+#include <efl_canvas_layout_part_table.eo.h>
+#include <efl_canvas_layout_part_swallow.eo.h>
+#include <efl_canvas_layout_part_text.eo.h>
+#include <efl_canvas_layout_part_external.eo.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#undef EAPI
+
+#endif
index 60452fe..1ab13e3 100644 (file)
@@ -90,6 +90,7 @@ eolian_include_directories += ['-I', meson.current_source_dir()]
 
 edje_header_src = [
   'Edje.h',
+  'Efl_Layout.h',
   'Edje_Common.h',
   'Edje_Eo.h',
   'Edje_Legacy.h',
diff --git a/src/tests/edje/efl_test_layout.c b/src/tests/edje/efl_test_layout.c
new file mode 100644 (file)
index 0000000..64b3302
--- /dev/null
@@ -0,0 +1,2 @@
+#undef EFL_BETA_API_SUPPORT
+#include "Efl_Layout.h"
diff --git a/src/tests/edje/efl_test_layout2.c b/src/tests/edje/efl_test_layout2.c
new file mode 100644 (file)
index 0000000..7a94a28
--- /dev/null
@@ -0,0 +1,2 @@
+#define EFL_NOLEGACY_API_SUPPORT
+#include "Efl_Layout.h"
diff --git a/src/tests/edje/efl_test_layout3.c b/src/tests/edje/efl_test_layout3.c
new file mode 100644 (file)
index 0000000..f4bdfbd
--- /dev/null
@@ -0,0 +1,2 @@
+//#define EFL_BETA_API_SUPPORT defined by build system already
+#include "Efl_Layout.h"
index adfd192..668f1b0 100644 (file)
@@ -10,6 +10,9 @@ edje_suite_src = [
   'edje_test_signal.c',
   'edje_test_swallow.c',
   'edje_test_text.c',
+  'efl_test_layout.c',
+  'efl_test_layout2.c',
+  'efl_test_layout3.c',
 ]
 
 edje_suite = executable('edje_suite',