Commit Graph

33453 Commits

Author SHA1 Message Date
Tom Hacohen 56ea371dfb Eo events: Change event callback signature.
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
2016-02-29 11:33:24 +00:00
Daniel Hirt 409f45478b Evas textblock: add a stringshare fastpath to markup_set
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.
2016-02-29 08:59:24 +00:00
Daniel Hirt c7d45032dd Evas textblock: fix cached markup's stringshare refs
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
2016-02-28 18:00:08 +02:00
Tom Hacohen 84fd52921e Evas textblock tests: Fix wrong test suite tests.
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.
2016-02-26 09:36:44 +00:00
Jean-Philippe Andre 17e3f8c1a6 Evas Filter: Use Eo.Base.constructor in the mixin
This is made possible by inheriting first from an interface
instead of Eo.Base, thus implementing the Eo.Base interface.
2016-02-26 18:36:23 +09:00
Tom Hacohen 675a263f97 Edje textblock: Assume textblock knows to deal with setting the same markup.
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
2016-02-26 09:13:38 +00:00
Tom Hacohen 34020ed131 Evas textblock: Fix markup cache, was completely broken.
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
2016-02-26 09:13:38 +00:00
Carsten Haitzler d5be71065f edje cc: make the unnamed party non-fatal but punishhed by a pause
allow old edc code that was bad with no named parts to still build BUT
punish with a sleep for 10 seconds to help it be noticed, yet still
work.
2016-02-25 07:53:52 +09:00
Mike Blumenkrantz f757fe5ccf edje: unset animator pointer after free in _edje_file_del()
this function may be called repeatedly with no other animator created
in between, leading to invalid object access

@fix
2016-02-24 11:53:53 -05:00
Vitalii Vorobiov 1e12897455 Edje_Edit: return accidently removed clip_to in code generation
Oops...
2016-02-24 13:55:14 +00:00
Vitalii Vorobiov 9f9032befa Edje_Edit: support image border_scale and border_scale_by setters and getters 2016-02-24 13:50:36 +00:00
Vitalii Vorobiov 0cb676395d Edje_Edit: support use_alternate_font_metrics setters and getters 2016-02-24 11:45:49 +00:00
Marcel Hollerbach e4cb6ff6fe eldbus: eldbus is already defined in eo
the struct is already defined in eldbus_general.eoeldbus: eldbus is
already defined in eo

the struct is already defined in eldbus_general.eott
2016-02-23 18:58:48 +01:00
Vitalii Vorobiov ed59f8589e Edje_Edit: allow to set NULL as text_class (unset text_class) into part's state 2016-02-23 18:54:04 +00:00
Vitalii Vorobiov 7923e9799d Edje_Edit: ability to set size class into certain part's state
API looks like this edje_edit_state_size_class_set
2016-02-23 18:54:04 +00:00
Vitalii Vorobiov 710dbac046 Edje_Edit: Edje_Edit: update source generation to print size classes 2016-02-23 18:54:04 +00:00
Vitalii Vorobiov d4b622e9eb Edje_Edit: support new edje top block "size classes" with edje_edit API
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.
2016-02-23 18:54:03 +00:00
Chris Michael da0b4d4850 ecore-x: add safety checks for _ecore_x_disp in some functions
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>
2016-02-23 08:43:50 -05:00
Vitalii Vorobiov 861a0b6d55 Edje_Edit: update source generation to print text classes 2016-02-23 14:02:57 +00:00
Vitalii Vorobiov 559cf1e73c Edje_Edit: support new edje top block "text classes" with edje_edit API
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
2016-02-23 14:01:55 +00:00
Vitalii Vorobiov 499e66ac78 edje_cc_handlers: font field in new text_class should be NULL at the begining
@fix
2016-02-23 11:35:48 +00:00
Vyacheslav Reutskiy 81f8e8683d edje_cc: abort compile when unnamed part exists
Summary: abort compile when unnamed part exists.

Reviewers: raster, reutskiy.v.v

Reviewed By: reutskiy.v.v

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3723
2016-02-23 11:06:55 +02:00
Mike Blumenkrantz a2dbaa2759 embryo: add tzdate function
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
2016-02-22 18:29:01 -05:00
Mike Blumenkrantz 3af1a8af1e embryo: reformat the whole thing
so many tabs
2016-02-22 18:29:01 -05:00
Chris Michael a0ad57bb16 ecore-x: add safety checks for _ecore_x_disp in some functions
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>
2016-02-22 14:50:35 -05:00
Chris Michael f87dceda85 ecore-drm: Don't reset event modifiers on touch motion
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>
2016-02-22 12:13:06 -05:00
Carsten Haitzler 59d32121d6 ecore evas: remove printfs
forgot i still had them (wa stestign wayland with no printfs in it)
2016-02-20 23:12:17 +09:00
Carsten Haitzler ab31424ea6 ecore evas: fix configure request queue count to only count changes
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
2016-02-20 23:09:03 +09:00
Mike Blumenkrantz f7cd667766 eldbus: print dbus errors incurred when failing at signal handler operations
seeing these errors is significantly more helpful when debugging why the system
is not responding as expected
2016-02-19 13:24:30 -05:00
Mike Blumenkrantz 2cf1f0e6e3 edje: clear pending programs upon calling stop_programs_on()
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
2016-02-19 13:24:30 -05:00
Vitalii Vorobiov 0e44209215 Edje_Edit: add forgotten since1.18 into documentation of newly implemented API 2016-02-19 14:20:51 +00:00
Vitalii Vorobiov dcbb62739c Edje_Edit: target can be insert into different place in program's target list
Here is API for that:
> edje_edit_program_target_insert_at
2016-02-19 14:19:50 +00:00
Vitalii Vorobiov 5c0c87cbe8 Edje_Edit: fix defect found by Coverity in ...state_tween_insert_at
Check constraits before creating image structures

CID 1351558
2016-02-19 11:22:07 +00:00
Vincent Torri f2111102cf build: fix duplicated use of the variable in multiple Makefile_*.am.
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>
2016-02-18 13:37:31 -08:00
Vincent Torri 2636fd6559 Evil: remove useless defines
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>
2016-02-18 13:37:31 -08:00
Derek Foreman fbf8ee656c ecore_drm: Check list presence by NULL test instead of counting
a count of < 1 will just be a NULL pointer, and a count of > 0 will
be non NULL, so we can simplify these conditionals.
2016-02-18 15:50:16 -05:00
Derek Foreman d53e1d6748 ecore_evas_drm: enable pointer warping
Use ecore_drm_device_pointer_warp() to warp the pointer
2016-02-18 15:50:16 -05:00
Derek Foreman ddc6962d77 ecore_drm: Add pointer warping API
Adds a new API: ecore_drm_device_pointer_warp() which warps the pointer
to the specified location.  All libinput seats with pointers are warped.
2016-02-18 15:50:16 -05:00
Derek Foreman 4e953ecc4d gl-drm: Some misc clean-ups
Remove unused stuff from structs, cut out the EVAS_GL_DRM_BUFFERS env
var - it can't work anyway, gbm decides how many buffers it wants.
2016-02-18 15:50:16 -05:00
Derek Foreman 6e1c7065d7 gl-drm: revise page flip logic
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
2016-02-18 15:50:15 -05:00
Derek Foreman f10b3f79a2 gl_drm: stop trying to figure out buffer age if gl extension isn't present
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.
2016-02-18 15:50:15 -05:00
Derek Foreman 4bdc9d4d07 gl_drm: remove frame_count
It was a write only variable, kill it.
2016-02-18 15:50:15 -05:00
Derek Foreman 937ca952ed ecore-drm: Only queue re-flip on the head that needs it
Prevents stuttering when a head that was successfully set bounces
back to a previous frame the other head failed to set.
2016-02-18 15:50:15 -05:00
Derek Foreman aa584dad19 ecore_drm: Refactor ecore_drm_fb_send into two functions
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.
2016-02-18 15:50:15 -05:00
Derek Foreman 5d7271683b ecore_drm: Change page flipping logic so we can't tear
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
2016-02-18 15:50:15 -05:00
Tom Hacohen 1f576da49e Revert "Eo: Print an ERR when deleting an object with data refs."
Revert this in the meanwhile. See discussion on the ML. This should be
enabled though, and issues fixed.

This reverts commit ec2f92e35f.
2016-02-18 19:28:41 +00:00
Srivardhan Hebbar 865624dab0 ecore_con: changing from Ecore.Con.Base to Efl.Network.Base.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-18 11:25:21 -08:00
Tom Hacohen ec2f92e35f Eo: Print an ERR when deleting an object with data refs. 2016-02-18 15:59:36 +00:00
Vitalii Vorobiov 41d92d0893 Edje_Edit: fix warning on unsigned and signed int comparation
Oops!
Sorry, missed this one:

lib/edje/edje_edit.c: In function 'edje_edit_program_after_insert_at':
lib/edje/edje_edit.c:9980:14: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
    if (place >= eina_list_count(epr->after))
              ^

Now fixed
2016-02-18 17:19:19 +00:00
Vitalii Vorobiov 2f6cf2c74f Edje_Edit: ability to insert "after" program into specific position
API looks like this:
> edje_edit_program_after_insert_at
2016-02-18 17:10:24 +00:00