Imported by Tom, from the eolian repo which was written by:
Daniel Zaoui <daniel.zaoui@samsung.com>
Yakov Goldberg <yakov.g@samsung.com>
Yossi Kantor <yossi.kantor@samsung.com>
Savio Sena <savio@expertisesolutions.com.br>
Jérémy Zurcher <jeremy@asynk.ch>
Signed-off-by: Tom Hacohen <tom@stosb.com>
First step to get the examples compiling output in a useful state.
With all the warning noise one would never see the important messages.
If you add new code please make sure its warning free.
@feature: Add support for EVAS_DRM_VSYNC environment variable to
@feature: Add support for marking a Framebuffer as dirty.
@bugfix: Fix color mask values for evas conversion functions.
@bugfix: Start with using the Backbuffer for drawing.
@bugfix: Fix previous Slowness with evas_cache image data.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
@feature: Add ability to render software buffers using vsync or not
@bugfix: Fix drmModeAddFB to use proper depth & bpp when adding FB
@bugfix: Fix mmap to use NULL (not 0) so that kernel assigns memory
address.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
@bugfix: this cleans up the Outbuf structure by removing unused
fields, Fixing some function declarations, and defaulting the number
of buffers to 2 (double-buffering)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
@feature: Start on hardware Plane support
- Add Plane structure
- Store list of Planes in the Output buffer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
- Typically this will come from ecore_evas and be used by evas to
allocate hardware accelerated buffers (gbm, tbm, etc)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
@feature: Add code to check if async page flipping is supported by the driver.
@bugfix: Add code to get the proper drm driver name when we init the card.
@bugfix: Use drmOpen when opening the card so that any sub-driver gets initialized.
@bugfix: Add some debug/testing code to enumerate planes.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
updated sooner.
@bugfix: set framebuffer on crtc earlier in process
@bugfix: Set the rendered image's alpha flag to be equal to the output buffer's
Signed-off-by: Chris Michael <cp.michael@samsung.com>
There are many situations (e.g all the time with Arabic text) in which
characters change their appearance depending on the context they lie
within. Before this patch, we didn't support changing font appearance
mid-context. So for example one couldn't do "a<color=#f00>b" without
messing up 'a' and 'b's change to their contextual forms.
Although Arabic is a very good example, this also applies to Latin text
in many cases, and should fix some wrong spacing that might have
appeared when changing styles.
@feature
Summary:
The window auxiliary hint is the value which is used to decide
which actions should be made available to the user by the WM. If you
want to set specific hint to your window, then you should check whether
it exists in the supported auxiliary hints that are registered in the
root window by the window manager.
Once you've added an auxiliary hint, you can get a new ID which is used
to change value and delete hint. The window manager sends the response
message to the application on receiving auxiliary hint change event.
A list of auxiliary hint within the Ecore_Evas has this format:
ID:HINT:VALUE,ID:HINT:VALUE,...
Reviewers: raster, cedric, seoz, Hermet
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D543
Summary: The warning was "format not a string literal and no format arguments [-Wformat-security]".
Test Plan: gcc -o evas-box evas-box.c `pkg-config --libs --cflags evas ecore ecore-evas eina`
Reviewers: singh.amitesh, seoz, stefan_schmidt
CC: cedric, stefan_schmidt
Differential Revision: https://phab.enlightenment.org/D585
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
By this code the CURRENT option didn't work.
Don't remove rp->current before the animation is excuted.
The memory leak issue is resolved by commit(d636c0f801).
EINA_LIST_FREE does eina_list_remove_list, and clip_unset does
the same thing to the same list pointer. So, EINA_LIST_FOREACH_SAFE
is proper for this case.
The point of this binding is to enable the support for easy lambda for ecore function
that wont be using Eo. See the tests on how to use those.
Reviewers: cedric, raster
CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D582
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
We do expect to integrate more bindings support in EFL to make them
first class citizen and make sure they get proper attention during
the development cycle. It so make sense to give them a proper
subdirectory.
as we don't support multiple composites of the same class,
and know at class elaboration how many composites we should have,
we can create the composites array and pack it at the end of the object.
eo_composite_attach fail if the class of the composite is not
listed in the parent class extensions, or if there is already a
composite of the same class. The later because calls are
forwarded to the first responding composite, see _eo_op_internal().
After color_disable is set we should update the domain_str for each domain
as this cached the setting from when the domain was registered.
This required storing the colour within the domain for later use.
Fixes T1029
When rotation is 0, we need to advance the destination pointer in the
X direction by a Multiple of Bits-Per-Pixel...not an addition.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The goal of this library is to make the life of C++ developers easier
when having to manipulate Eina datatype by providing a layer to abstract
those data type in C++. Check examples for now. Documentation will come
soon, but we are pushing that rather sooner to get feedback on those bindings.
As you will notice, this library is just composed of headers. There is no .so
and we do think it is better this way. Reducing ABI and API stability issue for
applications developers who are the primary target of this binding.
Also please note that you will need to have C++11 to use this binding.
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
now that glyphs can exceed the bounds of the original query for the
font, there is no pointusing max ascent/descent bounds. back to plain
ascent and decent then so you may get fewer gaps in some fonts. this
fixes font gaps consiering trying to wrk otherwise now is pointless.
* New --loop: restart the playback when end reached
* New --position: start the playback from the last know position
* Fixed double -R option. now -r is --reflex and -R is --copyright
Loop and last-position was implemented yet, this commit just made
them optionally, so the default behaviour of the test reflect the
default behaviour of emotion.
It seems that before 2.10, this was not stable, and was causing issues
to some people. I guess we'll have to bring the dependency back, at
least until we can find a better solution.
This reverts commit ec41f67be4.
This fixes T1006.
When using stretch, all buffers were actually drawn 4 times
on top of each other. This was not visible because in most cases
these buffers were all opaque (alpha = 255 everywhere).
Add some internal dependencies when building Evil stuff:
The two binaries test_evil and evil_suite need libdl and libevil.
This should fix "make -j8"
Tested with using mingw64 cross compilation
in evas_object_image_file_get(const Evas_Object *obj,
const char **file,
const char **key)
remove check for second parameter "file", because it
contradicts comment's statement, that NULL can be passed,
if parameter not needed.
All needed NULL checks of parameter are present inside func.
The documentation said color was used as a multiplier, but in
reality the image drawing functions don't use the context's
color when drawing. So the color is only defined for Alpha -> RGBA
operations.
Force render into an Ecore_Evas, and check that the pixels
are valid:
- Not all transparent (can't really happen)
- Not all black (since there's a black rect behind the text)
- All valid premultiplied values (A >= R,G,B)
Yes, it's a bit slow. But at least it really checks something :)
Set filter on a text object and check the object's geometry.
Get the padding and the geometry so we're sure they match.
Also, pad_get would return 0 if the filter did not compile,
so this checks that these filters are valid.
This test uses some Devanagari text that should have more complex
clusters than what latin text can provide. This is a more complex
wrapping case that should be tested and haven't been tested until now.
Summary:
When the fdesc(Font Description) is duplicated,
ref of all of stringshare pointers should be increased.
But, in the evas_font_desc_dup API, we only increased ref for name string.
It can cause some of memory issues.
Reviewers: tasn, woohyun, seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D570
The Windows build (mingw) does not know about strtok_r.
So, let's use the non-safe variant strtok instead.
Currently, this function is called from the main thread only,
so this should be fine :)
In the future it would be nice to not use strtok anymore,
but strtok_r everywhere, and add it to evil. Considering the
release coming soon, I'm not going to change something like that
now.
this should fix T693 and only allow 1 sdl window at any one time iwht
the sdl ecore-evas engine/module. it's simply invalid to use more than
one window with it.
Test case was:
buffer : a (alpha);
blur (20, dst = a);
blend (src = a, ox = 30);
In that case, padding was 20, 30, 20, 20.
So the blurred buffer was clipped on screen.
this fixes the proxy rendering that sub object of the source couldn't be dirty region set.
since the object could be invisible nor won't be pre-rendered neither.
Im supposing the mapped(proxy) object rendering sequence should be totally refactored
that should be separated with the normal rendering sequence.
Until that, this change will be alternative solution.
Summary:
Link anchors are set to allow event propagation. In some cases, this
might lead to unwanted results in entry.
Adding a flag to event_flags allows to control this in Elementary.
One example that this fixes is having wrong mouse cursor handling when
having the mouse out of the link anchor, back to the entry parent
(in this case, additional handling in els_cursor.c is required so this
event is ignored if event_flag is set with EVAS_EVENT_FLAG_ON_HOLD.
Fixes T878.
Reviewers: tasn
CC: cedric
Maniphest Tasks: T878
Differential Revision: https://phab.enlightenment.org/D561
Makefile_Edje contained the EXTRA_DIST files for Emotion, which
doesn't make much sense. So move that to Makefile_Emotion.am.
But if we want to add the test files only when EFL_TESTS is
enabled, then make distcheck doesn't work.
So, this is a bit weird.
This looks like a typo: if (animated > 1) when animated is a... Bool!
So, I am not entirely sure why this bug is visible in case of gif
proxies, all it seems that the load_data function may be called
multiple times when the object is visible. So gif close and reopen
happen properly, and the first frame can be decoded.
If the displacement map has some alpha values (not 0xFF),
then the blending should take this alpha into account. This
part is fine.
BUT, since Evas relies on premultiplied colors... we have a
problem: R (dx) and G (dy) have already been scaled down.
Actually we would need to load the map in non premultiplied RGBA,
otherwise we'll lose precision on dx,dy as soon as A != 0xFF.
Well... I guess this will be a limitation of this filter, for now
at least. Most displacement maps shouldn't even have any alpha
anyways.
NOTE: do we really need to maintain 2 different groups for the reflex effect?
The 2 groups differ only for the added reflection part.
Isn't enough to show/hide the reflection part when requested?
When running in direct rendering mode, properly support partial
rendering if the extension is properly supported.
Also, fixed the SwapBufferwWithDamage rectangle coordinate bug.
It wasn't properly y-inverted before.