So SVG support all kind of primitive, but really they are just sugar
on top of the simpler cubic bezier curve. Let's simplify our backend
by just supporting them and the simple line. We still provide all
the sugar, but via helper function that do convert to the right
number of Bezier curve.
This function will be handy to implement path interpolation in Edje later on. This
would be usable by Edje if we do push an Evas_Object_Shape. Not really difficult to
add at this stage.
Idea for this library is to become a retained mode drawing library that use
Eo/Eolian for its API and take a lot of the good design from Enesim by
Jorge Zapata and Jose Gonzalez (http://enesim.org/).
previously, it had the remaining value issues on blending computation.
The blending color result was in correct.
Signed-Off-By: Vladimir Kuramshin <v.kuramshin@samsung.com>
Summary: Delete white space in Eeze.h
Reviewers: cedric, Sergeant_Whitespace
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2246
in the event of fixed size -> non-fixed size (eg. previous commit optimization),
this calc would no longer occur, so we need to queue it. also if fixed.w or
fixed.h changes value for a group part, we must recalc the group to ensure correct
sizing occurs
when I said > 0 in the last commit message, I was thinking ahead to this commit
which I knew I would later have to make, but had not yet written because I had not
spent the requisite number of hours debugging the code to know that I needed to
have the check in both the code and the commit message
ref 3a451650d2
valgrind was most unhappy with ecore_file_app_exe_get(). like:
==8331== Invalid write of size 1
==8331== at 0x68DE90A: ecore_file_app_exe_get (ecore_file.c:994)
==8331== Address 0x1348e58f is 0 bytes after a block of size 31 alloc'd
==8331== at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==8331== Invalid write of size 1
==8331== at 0x68DE948: ecore_file_app_exe_get (ecore_file.c:1000)
==8331== Address 0x1348e599 is 10 bytes after a block of size 31 alloc'd
==8331== at 0x4C28C20: malloc (vg_replace_malloc.c:296)
etc. etc. - so i rewrote it cleanly using strbuf to save code and
effort. cleaner now and ACTUALLY works correctly... and no valgrind
complaints.
@fix
this (and/or related prior commits) seems to have hugely improved
edje performance across the board. particularly noticeable in the
settings pane animations for terminology
#aprilfools
as with the previous commit, any user who wants geometry immediately
will be calling calc functions, so this is just going to be redundant
except in cases where calc is not wanted, in which case it is unnecessary
overhead
if the min/max of a part are identical and > 0, the part's min size is guaranteed
to be this size. there is no need to perform expensive recursive calcs here
This function make it possible to get a list of active Edje_Color_Class
in an application. Think about Enlightenment color class configuration,
but can now be done on any application dynamically.
@feature
Summary: logind has a seperate function to get the vt number.
@fix
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2252
Summary:
While creating a Ecore_con_url object, the url is given in this format "ftp://ftp.example.com". While uploading a file, this function was prefixing "ftp://" to this url which resulted in DNS failure, and upload fail. So corrected the issue.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2221
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Some fields (eg. data) may not be properly initialized.
Use calloc() instead of malloc() will ensure proper initialization
even if we add more fields.
These fields (data) would even be passed down to Evas as
Evas_Event_Key_Down for instance.
Summary: Adding textures to edje_cc and some topblock keywords that I have forgotten to add in previous commits.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2129
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Now the developer has to iterate the whole list to find the
index of the first occurence of the data.
I see that it is possible to get the index of the item for
the genlist widget, but for the eina_list not.
With these APIs it will be easier to implement *index_get
functions for the rest of widgets which contain items (Elm_List,
Elm_Ctxpopup etc.).
These functions returns the index of the given data or node in the eina_list.
Reviewers: Hermet, cedric
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D2189
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: No APIs to get text_class for global hash and object hash
Reviewers: woohyun, cedric, raster
Reviewed By: cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2213
Summary: As there are various DVI and HDMI output names, update the
output connector types area to be more accurate so we get better
output names
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: To support multi-seat, ecore_drm need to issue the event to notify compositor of seat is added.
Test Plan: N/A
Reviewers: zmike, raster, gwanglim, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2212
Summary: It caused crash when clipper is NULL and it makes evas test-suite fail.
Test Plan: Run evas test-suite. (make check)
Reviewers: woohyun, tasn, herdsman, Hermet
Reviewed By: Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2215
Summary:
Added the device information in the Ecore_IMF_Event structs.
Applications may require to know actual source of key event to handle it differently depending on device.
Even if key events are currently generated from different devices, application couldn't distinguish it.
This patch will support device information for the Ecore-imf key events.
Reviewers: jihoon
Reviewed By: jihoon
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2214
Summary:
1. Have refactored code in ecore_con_local.c
2. Changed env variable from "TMP" to "TMPDIR".
3. Added check for negetive port number when type is ECORE_CON_LOCAL_USER.
4. Added check to check TMPDIR before assuming /tmp as temp directory.
5. Updated documentation in Ecore_Con.h explaining about local socket and port number.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2194
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: When setting up the Eeze_Udev_Watch for output hotplug
events, we should also be listening for the "change" event. As eeze
will now check the HOTPLUG property for drm events, we don't need to
check that here.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes eeze_udev_watch_add for DRM events, Previously, we
were not getting a watch callback fired due to using the wrong
subsystem device type in
udev_monitor_filter_add_match_subsystem_devtype.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This is mainly just a build fix. This issue occurred due to
the function declaration being After a call to use it while not having
a function prototype. This just adds the function prototype
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This patch adds more information so we can debug output
hotplug events better. It fixes an issue where any new outputs
from _ecore_drm_update_outputs where not getting the eeze udev watch
event created, and also addresses the issue of disconnected outputs
not sending the ecore_drm_event (both minor fixes)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Wayland API routines by policy do not check input parameters for invalid
values. In particular, many calls are wrappers through
wl_proxy_marshal, which derefs its first argument without a check.
So, for all wayland calls, always null check the first argument.
Reviewers: zmike, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2211
Summary:
The other functions in this module check inputs; this one should as
well.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2210
Summary:
Fix build failure with old version freetype.
It is caused for supporting colored font.
Reviewers: raster, jpeg, woohyun, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2200
Removing last item in BOX/TABLE part is actually successful
but then we shouldn't realloc an array of items for 0 items.
That's ridiculous
(and because of that function removes EINA_FALSE,
so user could think that it's unable to remove last item).
So simply array can be set into NULL.
@fix
This is needed in Erigo to determine if a virtual pure function can be
invoked via eo_do, as we don't want error messages to be displayed in
case of a non implementation in the Eo object.
This function works with non virtual functions too.
Tests have been provided.
@feature
Summary:
Reinitialize FontConfig. If FontConfig has to be reinitialized
according to changes of system enviroments(ex. Changing font config files), it will be useful.
Reviewers: woohyun, seoz, tasn, cedric, raster
Reviewed By: raster
Subscribers: raster, herdsman, cedric
Differential Revision: https://phab.enlightenment.org/D1962
Summary:
The socket can be created even with negative port number, but in that case the port
is ignored so that you can connect to non Ecore_Con based IPC. This patch remove
that test to make the client and server match.
@fix
Bug: While creating ECORE_CON_LOCAL_SYSTEM server and client pair, when the socket
name was "test_socket" and port number "-8" (Any negative number). Then while creating
listening socket, the code would go to line no 291 and socket is created in tmp by
".ecore_servicetest_socket|-8". When the same is passed to bind then the code would
go to line 118 and the socket it would try to bind would be ".ecore_servicetest_socket" !!
So the bind would fail.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2186
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Most of the other ecore-wayland API will return NULL in the (hopefully
theoretical) case of bad inputs; this API routine should so similarly
for consistency.
Reviewers: zmike, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2181
Summary:
For calls that return pointers, specify that NULL is a
potential return value. Add API documentation for some misc. routines
missing it.
Reviewers: zmike, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2180
Summary:
when enlightenment is working as wayland display server, enlightenment
changes KDSETMODE to KD_GRAPHICS in _ecore_drm_tty_setup(). However,
when enlightenment is killed by SIGSEGV, it doesn't changes KDSETMODE
to KD_TEXT because englightenment process doesn't call ecore_drm_tty_close().
To make possible enlightenment call ecore_drm_tty_close(), drm devices
should be exposed.
When enlightenment is killed by SIGSEGV, it will get drm devices with
ecore_drm_device_get_list(), and will call ecore_drm_launcher_disconnect(),
and ecore_drm_launcher_disconnect will call ecore_drm_tty_close() internally.
@feature
Change-Id: I1c594739ec96660a09cee77b823ace6548ee5282
Reviewers: zmike, cedric, raster, gwanglim, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2159
mouse events ouside the window where rejected. that was creating
interactions where half an event was created, the application was
then not able to process correctly following events.
@fix
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This patch check that when a monitor is removed the FSEvent service, it is
not restarted if there is no more paths to monitor. This was generating an
error message from FSEvent.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
this patch adds support for non latin keyboard layout such as
arabic, greek or hebrew, some language might not be functionnal
tough like korean or chineese
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
@fix this patch:
catch the window close event from cocoa and send an ecore event
this event is catched by a handler in ecore_evas wich will
call the registered fn_delete_request (from elementary for instance)
/!\ this patch is currently incomplete and leads to a segv when
closing the last window
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
eina_binbuf_manage_new provide the functionnality of both eina_binbuf_manage_new_length
and eina_binbuf_manage_read_only_new_length. Those function get deprecated.