Commit Graph

66624 Commits

Author SHA1 Message Date
Felipe Magno de Almeida c02b796fdb elementary: Add EOAPI definition in Elementary to allow removal in other libraries
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, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12273
2021-05-23 20:47:23 +01:00
Felipe Magno de Almeida 6c969f6b7d edje: Add weak symbol
Summary:
The symbols will be needed when we change how Eolian generates
import/export symbols in Eio

Reviewers: vtorri, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12272
2021-05-23 20:47:23 +01:00
Felipe Magno de Almeida 74204bccd7 ecore: Rename EAPI macro to ECORE_API in Ecore library
Summary:
=  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, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12271
2021-05-23 20:47:23 +01:00
Felipe Magno de Almeida 1304d95717 eldbus: Rename EAPI macro to ELDBUS_API in Eldbus library
Summary:
=  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, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12270
2021-05-23 20:47:13 +01:00
Felipe Magno de Almeida 7c85be9674 efl: Rename EAPI macro to EFL_API in Efl sub-library
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, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12274
2021-05-23 20:47:03 +01:00
Ali Alzyod a129ea3bc0 TextBlock: Fix content Fit with Markup-font-size
Summary:
This patch fixes wrong behavior for text block content fit when markup contains a part with specified font sizes (these parts will not be fitted by content fit algorithm).

+ THIS STILL NEED TEST TO BE ADDED

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12275
2021-05-23 19:54:20 +01:00
Carsten Haitzler 47b0fc1384 elm theme - more cc's 2021-05-21 13:14:57 +01:00
maxerba 4e20d09570 updating french and italian translations 2021-05-19 14:24:16 +02:00
Carsten Haitzler 9294568e4c evas - evas_all_sync - only inc loop/retry counter if not advancing 2021-05-19 11:01:38 +01:00
Carsten Haitzler 6f5cc5f614 evas render - fix all sync - inverse while loop logic
fix prev commit
2021-05-18 22:55:15 +01:00
Alastair Poole 01f4e44fde egl: silence warning of deprecated feature test. 2021-05-18 16:34:44 +01:00
Carsten Haitzler 4e8bd36ce8 evas all sync - put a limit on loops and loop while rendering still 2021-05-18 15:10:43 +01:00
Carsten Haitzler 14d6d85ca3 elm theme - pager popup - scale 2021-05-18 13:42:07 +01:00
Carsten Haitzler 01123ab654 elm theme - fix dialog text cc - wrong name 2021-05-17 15:55:17 +01:00
Carsten Haitzler 6c4fc5bc8d elm theme - more cc's 2021-05-15 13:39:29 +01:00
Carsten Haitzler d07ddb74db elm theme - more cc work 2021-05-15 11:26:11 +01:00
Carsten Haitzler f3bec3dc42 elm theme - elm entry - colorclass me up baby... 2021-05-15 11:01:24 +01:00
Carsten Haitzler a7c8ec2a56 elm theme - cc's for mono icons 2021-05-15 10:32:52 +01:00
Carsten Haitzler 2920834a3d elm theme - csd shadow - mirror ssd shadow colorclasses 2021-05-15 10:27:58 +01:00
Carsten Haitzler fe11ac1e92 elm theme - do cc's for border 2021-05-14 19:18:06 +01:00
Carsten Haitzler 09517aa03b ecore - animator - remove some DBG lines to keep leaner 2021-05-13 11:14:06 +01:00
Carsten Haitzler f3682a34f7 ecore - animator - found some truly messed up behavior inside vbox...
add debug/error detection for the animator thread that might just sit
ans sleep waiting on epoll_wait + timerfd to expire... and it doesn't.
it SHOULD expire in less than 1 ft (frame time eg 16.66666667ms). but
i'm seeing it sometimes take 4 or 6 or 8 SECONDS to have epoll_wait
wake up... even thought i now set epoll_wait to always expire in 200ms
no matter what... even that it doesn't honor. something truly messed
up is happening with scheduling and i think this cascades through
everything - i see evas doing eglSwapBuffers() with nothing appearing
in the vbox screen... truly messed up. at least this adds some rror
detection for this and is at least a warning to a user that something
is messed up.
2021-05-13 01:00:06 +01:00
Carsten Haitzler 75fe29b1f5 ecore - fix other ifdef path for debug malinfo 2021-05-12 22:31:22 +01:00
Carsten Haitzler 3f08cd7156 exactness - fix warnings for casts from 32bit ptr to larger long long 2021-05-12 19:54:55 +01:00
Carsten Haitzler c83b52bab0 ecore - fix 32bit pointer size warnings in debug logs 2021-05-12 19:52:49 +01:00
Carsten Haitzler 600a1767f6 fnmatch - warning remove on arm 2021-05-12 11:08:15 +01:00
Carsten Haitzler cabf08e6de elm config - add palette config and adjust icons in toolbar 2021-05-11 12:20:23 +01:00
Carsten Haitzler 598a2c9328 elm theme - more list cc work 2021-05-10 20:58:55 +01:00
Carsten Haitzler d9484cf293 elm theme - genlist polishin + colorclasses 2021-05-10 19:55:43 +01:00
Carsten Haitzler 53e64a9967 el, theme - genlist - fix compress mode 2021-05-10 18:23:26 +01:00
Carsten Haitzler eae18be54a evas vg - don't make bounds 0 sized ... which leads to no rendering
@fix
2021-05-10 12:22:26 +01:00
Carsten Haitzler b159df022a elm theme - more colorclasses 2021-05-09 20:24:48 +01:00
Carsten Haitzler ba64f5e8a1 elm theme - more color classes 2021-05-09 20:23:07 +01:00
Carsten Haitzler 87f8156ef2 elm theme - fix shadow border scale to match image 2021-05-08 13:15:37 +01:00
Carsten Haitzler bd16e7d903 elm theme - colorsel - fine tuning 2021-05-07 14:25:12 +01:00
Carsten Haitzler bd1656ed48 elm theme - add add and sub icons 2021-05-07 14:25:12 +01:00
Carsten Haitzler 4e70c3f358 elm config - replace old colorclass systme with newer pallete one
the old one was a bit... rough. the new one relies on the new fallback
to parent classes in edje to simplify colorclasses and can now apply
immediately. i've started on a palette editor gui - and it works
relatively well and applies live as you slide colors around. it looks
vaguely good too. i don't thnk we should hsave a widget to do this as
it's probably too much in elementary (the lib) that is far too niche
in use.
2021-05-07 14:25:12 +01:00
Carsten Haitzler 64e02a0413 elm theme - do more colorclasses 2021-05-07 14:25:02 +01:00
Carsten Haitzler e80779d67d elm - config - compress default configs 2021-05-07 00:02:05 +01:00
Carsten Haitzler 8b6e91d8bd elm - add color palette file build with the start of a default palette 2021-05-07 00:02:05 +01:00
Carsten Haitzler 2b91c4d9b8 edje - add new color class apply func to force cc to apply now 2021-05-07 00:02:05 +01:00
Carsten Haitzler 694136e4c8 wayland - update code generate private code and have no warnings 2021-05-07 00:02:05 +01:00
Carsten Haitzler 954c1ea387 exactness player edj - tag for right efl version 2021-05-07 00:02:05 +01:00
Carsten Haitzler 9fab234064 evas - fix seg on setting immage src if invalid obj
@fix
2021-05-05 19:44:34 +01:00
Vincent Torri 032e86f4aa Elementary: include fnmatch.h only on non Windows OS
Summary: Windows has no fnmatch.h, so usage of Elementary on that OS will fail

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12268
2021-05-05 10:22:25 +01:00
Carsten Haitzler 6297159c5d elm - fnmatch - fix typo 2021-05-03 20:54:23 +01:00
Vincent Torri ab2d602ff8 Build: remove fnmatch checks
Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12263
2021-05-03 20:53:41 +01:00
Carsten Haitzler d7f9735a90 eina + elm - add fnmatch.h back for compat 2021-05-03 20:52:37 +01:00
Carsten Haitzler 0509fbe16d evas gl - dont swap with damages if we are debugging partial 2021-05-03 20:43:56 +01:00
Vincent Torri de296b13c8 Eina: use eina_fnmatch() instead of fnmatch()
Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12262
2021-05-03 18:48:24 +01:00