summaryrefslogtreecommitdiff
path: root/src/lib/emotion/Emotion.h (follow)
AgeCommit message (Collapse)Author
2021-01-11emotion: emotion EAPI macro to EMOTION_API in Emotion libraryFelipe Magno de Almeida
Summary: Patch from a series of patches to rename EAPI symbols to specific library DSOs. = The Rationale = EAPI was designed to be able to pass `__attribute__ ((visibility ("default")))` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as `__atttribute__((visibility("default")))`. However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why EAPI is the only solution that worked for MSVC. Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com> Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev> Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com> Reviewers: vtorri, woohyun, jptiz, lucas Reviewed By: vtorri, lucas Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12227
2020-06-05emotion: remove all left overs from removed backendsStefan Schmidt
We removed them in the last release. Make sure we cleanup all the references and dead code still belonging to it. Extra note on the Emotion_Module enum removal. While it was exposed in the public Emotion.h header it is never used anywhere in the code and has no purpose, thus it can safely be removed. Reviewed-by: Carsten Haitzler (Rasterman) <raster@rasterman.com> Differential Revision: https://phab.enlightenment.org/D11941
2020-03-03doxygen docs: fix multiple defined @section'sXavi Artigas
Section names must be globally unique. We rarely reference sections so we don't actually need to use @section and a simple header suffices.
2020-02-28doxygen: fix duplicated toc sectionsXavi Artigas
2019-04-02docs: Fix common misspellings in H filesXavi Artigas
Fixed all appearances of words from this list in H files: https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
2019-03-18efl: remove EFL_EO_API_SUPPORT macroDaniel Kolesa
Summary: Since we're now going to be shipping some eo classes as stable, there is no point in keeping the eo api behind a macro, and it should be enabled by default. Another case is beta classes, but those are behind the EFL_BETA_API_SUPPORT guard. This also changes includes around the place where things are clearly broken (such as an included header needing something from another header but that other header being guarded, notably efl_ui_widget.h needing focus manager but focus manager being behind beta in Elementary.h) Reviewers: zmike, cedric, bu5hm4n, stefan_schmidt, segfaultxavi Reviewed By: cedric, segfaultxavi Subscribers: segfaultxavi, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8322
2018-01-18all: Simplify definition of EAPIVincent Torri
This will help in the transition from Autotools to Meson. This has been tested on Windows for which EFL_XXX_BUILD were first introduced.
2017-02-14emotion: add since tag to new emotion_file_meta_artwork_get APIStefan Schmidt
2017-01-12emotion: add support for obtaining embedded artwork from media files with ↵Al Poole
gstreamer1 backend. Reviewers: raster, cedric Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4550 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-23efl-js: JavaScript Eolian bindingFelipe Magno de Almeida
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files $ configure --with-js=nodejs and compile normally with: $ make $ make install To use, you have to require efl: efl = require('efl') The bindings is divided in two parts: generated and manually written. The generation uses the Eolian library for parsing Eo files and generate C++ code that is compiled against V8 interpreter library to create a efl.node file that can be required in a node.js instance. @feature
2015-09-28emotion: fix typo in documentationAmitesh Singh
2015-08-13emotion: Fix typos in doxygenChris Michael
Summary: This patch fixes some typos in the documentation of Emotion @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07emotion: remove the need to order the header correctly for Windows.Cedric BAIL
2014-10-20emotion: updating API documentation.Philippe Caseiro
2014-10-20emotion: add documentation for Emotion_Version structure.Nicolas Aguirre
2014-08-21Emotion object: Convert from a smart object to an eo object.Tom Hacohen
2014-08-21Emotion object: Create .eo file.Tom Hacohen
2013-11-04alpha1 release autofoo/build tree work to pass distcheck and actually workv1.8.0-alpha1Carsten Haitzler (Rasterman)
2013-10-09emotion: add two events to trigger when a webcam is plugged or unpluggedMichaël Bouchaud (yoz)
2013-01-10efl: merge emotion.Gustavo Sverzut Barbieri
this one was quite a huge work, but hopefully it's correct. NOTES: * removed vlc generic module, it should go into a separate package. * gstreamer is enabled by default (see --disable-gstreamer) * xine is disabled by default (see --enable-gstreamer) * generic is always built statically if supported * gstreamer and xine can't be configured as static (just lacks command line options, build system supports it) * v4l2 is enabled by default on linux if eeze is built (see --disable-v4l2) * emotion_test moved to src/tests/emotion and depends on EFL_ENABLE_TESTS (--with-tests), but is still installed if enabled. TODO (need your help!): * fix warnings with gstreamer and xine engine * call engine shutdown functions if building as static * remove direct usage of PACKAGE_*_DIR and use eina_prefix * add eina_prefix checkme file as evas and others * add support for $EFL_RUN_IN_TREE * create separate package for emotion_generic_modules * check docs hierarchy (doxygen is segv'in here) SVN revision: 82501