Summary:
The word 'english' has several issues:
- the whole documentation and source code is in English,
there is no point in mentioning here specifically
- the character 'E' needs to be capitalized, as in
Ecore, Evas, Elementary
Reviewers: zmike, herdsman
Subscribers: cedric, seoz, jpeg
Differential Revision: https://phab.enlightenment.org/D3740
Change the Eo event callback signature to what suggested by Marcel
Hollerbach in the ML (Thread: EFL interface change - Animator).
This changes the signature of callbacks from
Eina_Bool cb(void *data, Eo *obj const Eo_Event_Description *desc, void *event_info)
to
Eina_Bool cb(void *data, const Eo_Event *event)
Where Eo_Event is a structure that holds these parameters.
This makes it less annoying to not use parameters (you end up using
EINA_UNUSED less), and allows for future extensions to callback
parameters.
@feature
This optimization makes use of already stringshare'd text and avoids
unnecessary stringshare_add calls in markup_set. It improves the
performance of edje_calc when reapplying text to the textblock part.
The last fix 34020ed131 was missing a
stringshare_del for the NOP case of markup_set. It led to a
constantly increasing ref count of the cached markup.
@fix
The tests were assuming that textblock returns a sanitised utf8 string.
This is not always correct, because textblock may cache and return the
set utf8 markup if the text hasn't changed since the last set.
Edje was trying to be smart and ask textblock for its markup and compare
with its own cache before setting it again. This is completely wrong,
and textblock is smart enough to deal with it now.
@fix
The markup cache was completely broken. It was not compared correctly,
so it wasn't even used, but regardless it was cleared just after being
set in some of the cases.
This is the first part of a performance regression fix in elm label.
@fix
Plenty of new API:
edje_edit_size_classes_list_get - to return total list of size_classes inside of
loaded collection of groups
edje_edit_size_class_add - add new size class into loaded collection
edje_edit_size_class_del - deleting
edje_edit_size_class_name_set - renaming existing size class into something new
and some setters and getters for min and max (width and height) of size class.
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Plenty of new API:
edje_edit_text_classes_list_get - to return total list of text_classes inside of
loaded collection of groups
edje_edit_text_class_add - add new text class into loaded collection
edje_edit_text_class_del - deleting
edje_edit_text_class_name_set - renaming existing text class into something new
edje_edit_text_class_font_{get|set} - get/set font name
edje_edit_text_class_size_{get|set} - get/set font size
in the case where a user wants to get the current date/time from a
specified timezone, this function allows a timezone string to be passed
as a parameter
@feature
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
When we are sending an event for touch motion, we should be specifing
the modifers in the event structure (not setting them to zero).
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
we counted more requests outstanding than actually existed for x11 as
we sometimes sized to the SAME size or position. this keeps that
number more correct only incremeting outstanding count if we change.
@fix
pending programs have not started yet, so they are not directly attached
to the part. failing to remove them results in unexpected behavior from programs
ref 71ce70bc3f
@fix
GL_SHADERS_GEN is defined in the Makefile.am of Ector and Evas. As these
Mafile_*.am are included in the same Makefile.am, there is a warning with
multiple defined triggered by automake. So this patch rename these 2 variables
Test Plan: autogen.sH
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D3711
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Those defines are already defined in mingw-w64 header files
Test Plan: makE
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3713
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
We can't really drive this buffer unlocking from the page flip handler for
a lot of ugly reasons. This will be better in the future when evas
supports multiple target buffers. For now let's cut this down and keep
2 buffers locked at all times.
This gets drm-gl to work without massive tearing artifacts.
@fix
If we don't have the right extension for age we probably don't have
partial updates either. The code to get the age calculations right is
actually much nastier than this anyway since gbm can hand back buffers
in arbitrary order, and as many as it feels like.
We'll need to set outputs individually from the page flip handle to handle
page flip problems, so we need the per output setting logic in its own
function.
Summary:
Previously if we ever tried to queue up two page flips in less than a
retrace interval (which can easily happen since the evas clock isn't
based on vblank) we'd give up on ever using page flips again, and tear
on every screen update.
This fixes that by using a vblank callback for custom ticks and using
page flips whenever possible.
If a page flip fails it means a page flip raced with the vblank ticker,
so we need to queue up that frame when the current page flip completes.
This ensures that while we might drop interim frames, we will never
lose the most recent.
Now it should only be possible to tear if two ticks fire during the
wait for a page flip to complete. This would result in rendering
taking place in the front buffer. I don't think this can happen,
but an error is logged if it does.
Reviewers: zmike, devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3594