Commit Graph

57879 Commits

Author SHA1 Message Date
Daniel Kolesa 94e1487ed8 eolian: use short name for function pointer name 2018-03-12 12:26:17 +01:00
Daniel Kolesa 5cc3abb425 eolian: only merge units on success when parsing all files 2018-03-12 11:37:02 +01:00
Amitesh Singh 0dd8f97a8e doc: check - correct the ingroup name for legacy apis 2018-03-12 15:05:01 +09:00
Davide Andreoli c1056d0c62 Pyolian generator: adjust to follow eolian changes 2018-03-11 17:45:14 +01:00
Daniel Kolesa 665fc62916 eolian: simplify namespace handling
This is mostly a preparation for rework of name(space) APIs.
2018-03-11 17:35:13 +01:00
Davide Andreoli 2355df0e4f Pyolian: remove the useless Object.type binding
This is useless in py as Objects are never returned
directly, you always get the correct subtype (Class,
Variable, etc..). It was also clashing with Class.type
2018-03-11 15:52:52 +01:00
Davide Andreoli 752a6b1070 Pyolian: add tests for Eolian_Object
Two of the new tests are failing, the problem is that now
we have name clashes between Eolian_Object and Eolian_Class (at least)
For the moment I spotted:
 - Object.name clash with Class.name
 - Object.type clash with Class.type

Also fixed a typo in eolian_lib.py spotted by the new tests,
and removed the old tests for Declaration.
2018-03-11 15:24:59 +01:00
Davide Andreoli 6f6557e2d0 Pyolian: build the correct type from generic Object
This way all the generic Eolian_Object types are automatically
converted to the correct types (Class, Variable, etc...)
2018-03-11 14:28:51 +01:00
Carsten Haitzler 44387a5803 elm test - adapt to argc/v being regular argv 0 being binary name 2018-03-10 22:47:12 +09:00
Carsten Haitzler 249f50098f ecore - efl thread - remove unused local vars 2018-03-10 20:03:32 +09:00
Carsten Haitzler 965f257e70 ecore - efl exe/thread - only allow run once ever 2018-03-10 20:02:09 +09:00
Daniel Kolesa 342974977f eolian: resolve to Eolian_Objects instead of voids 2018-03-09 15:25:36 +01:00
Daniel Kolesa c7fd43ad4e eolian: return Eolian_Object_Type from ref resolver
This needs only one enum and allows for better interop.
2018-03-09 15:25:36 +01:00
Cedric BAIL edda05e4d0 ecore: do not remove a timer that has already been removed. 2018-03-08 17:00:03 -08:00
Lauro Moura c83bcb059b csharp: update examples
Summary:
They were still using the old SetSize(w, h) API instead of receiving
eina.Size2D structs.

Test Plan: Build examples and run them.

Reviewers: felipealmeida, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-08 15:46:45 -08:00
Lauro Moura 067a8baffa csharp: generate helper constructors for structs.
Summary:
C# does not have a literal form for structs (like C++'s {} aggregate
initialization). Before this commit the user would need to explicitly
instantiate a struct and assign the required values to it, like:

   eina.Size2D size;
   size.W = width;
   size.H = height;
   widget.SetSize(size);

As a workaround, this commit generates helper constructor with
parameters corresponding to the struct fields in the order they are
declared. These parameters have default values if one does not want to
explicitly initialize all fields directly. With these constructs, the
above code could be translated to:

   widget.SetSize(new eina.Size2D(width, height));

It should be noted that the constructed struct will live on the managed
memory (GC) instead of the stack.

Test Plan: run "make check"

Reviewers: felipealmeida

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-08 15:46:45 -08:00
Cedric BAIL 34673ab983 eo: ERR some warning when illegally using invalidated object. 2018-03-08 15:46:45 -08:00
Cedric Bail a5d5965b68 ecore: avoid calls to provider_find on invalidated objects in timer class
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-08 15:46:45 -08:00
Daniel Kolesa ad8a077f23 eolian cxx: fix typo 2018-03-09 00:41:09 +01:00
Cedric BAIL f1aa23805a eo: when an object is reused, reset the invalidate flag. 2018-03-08 15:07:09 -08:00
Daniel Kolesa 7a4669b1b7 eolian: remove old declaration APIs 2018-03-08 23:59:40 +01:00
Daniel Kolesa b6fa5aa844 eolian cxx: replace declaration api with obj api 2018-03-08 23:21:05 +01:00
Daniel Kolesa 1e8de641d8 eolian: tests for new object apis 2018-03-08 23:16:40 +01:00
Daniel Kolesa bee3114c2c pyolian: add support for object retrieval 2018-03-08 23:07:01 +01:00
Daniel Kolesa f24fa691e7 pyolian: wipe out declaration api 2018-03-08 23:01:01 +01:00
Daniel Kolesa b58c901d2d elua: remove declaration api from eolian bindings 2018-03-08 22:58:22 +01:00
Daniel Kolesa c6e0b7f44e eolian: remove obsolete file_get APIs 2018-03-08 22:54:12 +01:00
Daniel Kolesa 1117a67818 eolian cxx: remove usages of obsolete file_get APIs 2018-03-08 22:53:51 +01:00
Daniel Kolesa 10448fec97 pyolian: add Eolian_Object APIs and remove obsolete file_get ones 2018-03-08 22:48:01 +01:00
Daniel Kolesa 59aabb0945 elua: update eolian bindings for latest APIs
Added support for Eolian_Object, made other luaified types
"inherited" from Eolian_Object, removed type-specific file_get
as it was replaced by Object's file_get, declarations API still
in place
2018-03-08 22:35:27 +01:00
Derek Foreman cdc33f5874 gl_drm: Use gl extension string helper instead of strstr 2018-03-08 14:33:05 -06:00
Derek Foreman 05d7c1c9a2 gl_common: Make extension string checks more robust
strstr() can give false positives if the extension name is a subset of
a string in the extension list, for example EGL_EXT_image_dma_buf_import
would match EGL_EXT_image_dma_buf_import_modifiers.

I've opted for a mildly badgered copy of epoxy's test, which should be
robust in the face of subsets.
2018-03-08 14:27:07 -06:00
Derek Foreman 464d0ca9bb gl_common: Replace strstr() for extension checks with a helper function
The helper incorporates NULL checks, and we love those, so it's better.
2018-03-08 14:27:04 -06:00
Daniel Kolesa c7b44dfa2c eolian gen: switch from decl api to object api 2018-03-08 19:57:55 +01:00
Daniel Kolesa 2248131295 eolian: give objects names, and reduce duplication 2018-03-08 19:47:28 +01:00
Daniel Kolesa 917a5216f8 eolian: add APIs to retrieve declarations as objects
This will replace the old declarations API.
2018-03-08 19:00:32 +01:00
Derek Foreman 3fc6eea24f gl_drm: Don't NULL init a variable we're about to set
minor clean up with no functional change.
2018-03-08 11:33:34 -06:00
Derek Foreman 37b9a246ba gl_drm: Check EGL client extensions before using platform_base
The comment here was right, we shouldn't just trust these without testing
if we should trust these.
2018-03-08 11:33:31 -06:00
Derek Foreman 3a15195088 gl_drm: Rename eng_gl_symbols to eng_egl_symbols
It now only deals with egl.  gl extensions must be queried later, so it
was previously a bit weird/confusing.
2018-03-08 11:16:01 -06:00
Derek Foreman 609c86903f gl_drm: Move some extension queries to after context creation
Anything non-EGL we might query would have to be queried here, so
I'm moving the call here to protect us in the event that we need GL
extensions in the future.

I'm still a bit confused as to what string I should be passing to
evas_gl_symbols, though.
2018-03-08 11:15:57 -06:00
Daniel Kolesa 9594f09156 eolian: add API to query information about Objects
As nearly every Eolian handle is backed by an Eolian_Object,
this information is now publicly exposed and has an API. This
opens up an array of new possibilities for tooling, as you
can now externally query file names, line numbers etc.,
as well as cast arbitrary handles to Eolian_Object pointers
and back.

This will be expanded later and it will replace the Declaration
system, as it's cleaner, better integrated and more versatile.

@feature
2018-03-08 17:32:38 +01:00
Derek Foreman 329e9c0b4b gl_drm: use EGL_IMG_context_priority if available
This is a hint that we want a high priority context.  Since gl_drm is
likely a compositor or a full screen app, it makes sense that it try to
use this (but other engines probably shouldn't)

Based loosely on Chris Wilson's weston patch to do the same thing.
(weston commit b678befb6ed055e6c66466505d9195a3cebf8073)

As this extension appears to have been around for years, I haven't
added fallback defines for:
EGL_CONTEXT_PRIORITY_LEVEL_IMG  0x3100
EGL_CONTEXT_PRIORITY_HIGH_IMG   0x3101
2018-03-07 15:24:37 -06:00
Derek Foreman f8658d25fa gl_drm: Move the gl symbol check to immediately after display init
We don't actually need a context first, just an initialized display.
2018-03-07 15:24:37 -06:00
Cedric Bail fae4ad5fbb eo: fix warning. 2018-03-07 11:01:25 -08:00
Cedric Bail 21c80b027e eo: adjust test suite to take invalidate state into account. 2018-03-07 11:00:06 -08:00
Cedric Bail 83233a976d ecore: rely on Efl.Object.invalidate instead of a hack for Efl.Model.Container.Item. 2018-03-07 10:59:20 -08:00
Cedric Bail 83251edae7 eo: introduce invalidate and noref state.
This is just a first step. All user of destructor should be updated to
move the code that rely on their efl_parent and on efl_provider_find to
invalidate. Then we will be able to change the way efl_add and efl_del
work to properly refcount things. efl_noref won't be triggered at the
moment until both efl_parent_set(obj, NULL) and the last user ref are
set to NULL. This is not what we want, but due to how user refcount is
accounting parent at the moment, until all the code is move to rely
on invalidate we can not fix this.
2018-03-07 10:56:53 -08:00
Cedric Bail 012bcff80c ecore_wl2: cleanup input code to string logic to reduce compiler warning and useless memory access. 2018-03-07 10:51:46 -08:00
Cedric Bail 6b1b3d25d6 elementary: fix backward compatibility bug introduced by 9c8749b99a. 2018-03-07 09:34:49 -08:00
Chris Michael 59a689faa4 ecore-wl2: Check for valid string before passing to strlen()
As strlen() cannot accept NULL (segfaults), we should check for valid
key, keyname, and compose strings here before passing to strlen().

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-03-07 09:50:58 -05:00