This interface will be used for fetching parts from objects.
The parts can either be real objects or more likely mock objects
that proxy into actual calls on the object.
Summary: Support of Spinlocks in Eina (Eina_Spinlock) for OSX, which does not implement them in pthread.
@feature
Reviewers: raster, raoulh, naguirre, cedric, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1151
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: This is the first step to introduce a gl-drm backend.
Test Plan: "ecore evas" create with ecore_evas_gl_drm_new(). It creates "ecore evas" with gl_drm evas backend.
@feature
Reviewers: raster, Hermet, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1187
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
added support of all action types that use targets to
edje_edit_program_target_add and edje_edit_program_target_del
added targets cleaning to edje_edit_program_action_set to avoid usage of program id
as part id and vise versa.
@fix
Reviewers: cedric, seoz, Hermet
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1342
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
On Ubuntu 14.04 it makes a 32 bit depth window un-responsive
to any XEvent.
Reviewers: cedric, raster
Reviewed By: raster
Subscribers: raster, capOM, cedric
Differential Revision: https://phab.enlightenment.org/D1236
Because of Eina_Value being less than optimal in our usage, we're dropping it in Eolian.
This simplifies the code and makes it easier to bind to other languages, which
will aid new generators. Also, we're dropping long double support from eo files
and expressions as it causes an ABI breakage in gcc 4.4.
This change adds a new API to retrieve the legacy prefix for enum members
and also adds support for generating enums into the C generator. Besides that,
it prevents generation of entire struct contents when the .eo file declares
a named struct inside of a typedef - as the struct itself gets generated later on.
I don't know what I was thinking, struct and enum fields need to be ordered
so now we keep a separate list around containing the field names in correct order.
This implements the previously declared APIs to manipulate enum types. Also,
it implements the appropriate lookups in expression evaluation so that you
can refer to constants and enums inside constant expressions.
Also added API to retrieve value of a variable (forgot about that one)
and made it impossible to create extern constants (doesn't make sense)
as well as made it impossible to give extern globals values.
Nothing parses yet, and no API is exposed. Also, move the remaining instances of file
inside of existing structures to Eolian_Object and parse basename only once.
This way we can only lex expr related tokens (operators etc.) when actually
about to parse an expression. That allows stuff like nested complex types
without the lexer treating the endings as right shift.
so instead of "unsigned int" you get "uint". This is important for handling of
expressions and cross-language interoperability. You can use c_type_get on the
base type to get the C name. Also, append the appropriate suffix to number literals
when calling eolian_expression_value_to_literal.
This commit also does several side (related) changes. Particularly, it updates
the Eolian C generator to use the new API, it adds missing expr types (null, char)
and masks, updates the API dealing with default return values to use expressions
instead of strings and does several fixes (mainly in lexer) around the place.
It also disallows single quoted strings as those are reserved for characters.
For this purpose, several other changes were made. There can now only be 1 class per file
and the class name has to match the file name. Also, I replaced the list of classes with
a hash, allowing for fast indexing (crucial for parser performance - otherwise it was
very slow).
This also adds a new API, eolian_type_class_get.
This patch fixes an issue causing text to be cut off in some cases.
The problem was that we were calculating line width and alignment before
we did any bidi calculations, which in turn caused us to use the wrong
text items for those calculations.
Many thanks to Daniel Hirt for investigating this deeply, finding all
the nitty-gritty and generally pointing me to where the problem is.
Daniel also provided the test case.
His patch (D1291) was close, but not enough.
Fixes T1496
@Fix
Summary:
If none of ECORE_IMF_MODULE and WAYLAND_DISPLAY variables are setted
best of available moduls should be found. Removed odd return statement.
Reviewers: cedric, seoz, Hermet
Reviewed By: Hermet
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1344
@fix
This reverts commit d408408283.
this breaks mult-line "long" filenames in efm. 2nd line is just ...
for almost all of them (ones that are actually in need of 3 or more
lines). break break! REVERT!
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.
Fixes Phab ticket T1213
@fix
Test Plan: This commit includes test case.
Reviewers: woohyun, seoz, sohyun, tasn
Subscribers: herdsman, cedric
Differential Revision: https://phab.enlightenment.org/D1311
there are deep down bugs in evas with animated gifs. espeically if you
have multiple instances of the same gif, but for now let's just
address the problem where we have entire frames of animation
vanishing. this is because the animation frame set failed and thus
didnt notify the rest of evas. have it ignore this fail for now so
things work out.
the text object walked all text items and took the biggest. when that
big item used some fallback font that didnt match the primary font in
ascent/descent etc. things went wrong - text expanded when not
expected to. this makes text objects just use the primary font
ascent/descent metrics and fixes e titlebar magically expanding thus
compressing window content when not expected.
this fixes the elipsis changes xmike made by assuming elipsis of 0
whenn text min x is set (which is what we want anyway). this is a
complaint that is all through phab and other places where people
complain about "x..." or something now replacing formerly perfectly
find labels
The reversal makes it possible to merge two #if and unspaghetti the code
a bit.
Since the diff is not very readable, here is the before/after to show
the spirit:
before:
#if cond
if (...)
#endif
do_foo();
#if cond
else
do_bar();
#endif
after:
#if cond
if ( ! ...)
do_bar();
else
#endif
do_foo();
this fixes CID 1039647 - it caught a real bug. we were not skipping
out on an empty + or - push/pop format fomamnt if it had nothing
there. not actually something people do - but possible. fix!
there is a possible deadlock condition where locks are not taken in
the same order (img lock then cancel lock). re-order so this doesn't
happen. this fixes CID 1106339
[Problem] When obj which has src object(proxy concept) are excluded from render_object,
src object's 'proxy.redraw' isn't change although src obj have not proxies.
because 'proxy.redraw' flag is changed to EINA_FALSE only in obj's subrender() called.
[Resolution] When the count of source obj's proxies is 0, src obj's 'proxy.redraw' is set for EINA_FALSE.
Signed-Off-By: Min Kyoung Kim <mer.kim@samsung.com>
Summary:
When the grid is mirrored, originally code is just changed (x1,y1) to (x2,y2).
I fix calculate logic for the x-axis.
@fix
Test Plan:
1. elementary_test -> grid
2. click UI-MIRRORING toggle
Reviewers: Hermet, woohyun, raster, seoz
Reviewed By: seoz
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1325