platform/upstream/efl.git
8 years agoeolian gen: include return type in event docs
Daniel Kolesa [Tue, 23 Aug 2016 11:06:28 +0000 (12:06 +0100)]
eolian gen: include return type in event docs

Fixes T4393.

8 years agoelm_entry: Add more description about key event in return_key_type_set
Jihoon Kim [Tue, 23 Aug 2016 08:11:01 +0000 (17:11 +0900)]
elm_entry: Add more description about key event in return_key_type_set

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
8 years agoecore_imf: Add more description about key event in return_key_type_set
Jihoon Kim [Tue, 23 Aug 2016 08:09:37 +0000 (17:09 +0900)]
ecore_imf: Add more description about key event in return_key_type_set

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
8 years agoelput: Fix typo in doxygen
Jihoon Kim [Tue, 23 Aug 2016 05:54:27 +0000 (14:54 +0900)]
elput: Fix typo in doxygen

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
8 years agoefreet - save about 240-300k or so of memory used by efreet mime
Carsten Haitzler (Rasterman) [Tue, 23 Aug 2016 02:59:37 +0000 (11:59 +0900)]
efreet - save about 240-300k or so of memory used by efreet mime

so efreet mime was loading a bunch of mime type info files, parsing
them on startup and allocating memory to store all this mime info -
globs, mimetype strings and more. all a big waste of memory as its
allocated on the heap per process where its the SAME data files loaded
every time.

so make an efreet mime cache file and a tool to create it from mime
files. mmap this file with all the hashes/strings in it so all that
data is mmaped once in memory and shared between all processes and it
is only paged in on demand - as actually read/needed so if your
process doesnt need to know about mime stuff.. it wont touch it anyway.

this saves about 240-300k or so of memory in my tests. this has not
covered the mime MAGIC files which still consume memory and are on the
heap. this is more complex so it will take more time to come up with a
nice file format for the data that is nicely mmaped etc.

@optimize

8 years agoefreet - fix efreet_*_dir_get() to support the xdg env vars
Carsten Haitzler (Rasterman) [Mon, 22 Aug 2016 02:16:33 +0000 (11:16 +0900)]
efreet - fix efreet_*_dir_get() to support the xdg env vars

these api's didnt respect the env vars xdg dictates should override
the xdg dirs for that process. this fixes this and uses them if set

@fix

8 years agofixup: http
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 22:24:13 +0000 (19:24 -0300)]
fixup: http

8 years agofixup: http
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 21:51:38 +0000 (18:51 -0300)]
fixup: http

8 years agofixup: efl-net
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 21:51:19 +0000 (18:51 -0300)]
fixup: efl-net

8 years agoWIP: efl.net: Introduce Efl.Net.Dialer.Http
Gustavo Sverzut Barbieri [Sat, 20 Aug 2016 03:55:26 +0000 (00:55 -0300)]
WIP: efl.net: Introduce Efl.Net.Dialer.Http

This class implements the Efl.Net.Dialer interface using libcurl to
perform HTTP requests. That means it's an Efl.Net.Dialer,
Efl.Net.Socket, Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus
being usable with Efl.Io.Copier as demonstrated in the
efl_io_copier_example.c

8 years agoefl.net: socket, server and dialer for TCP.
Gustavo Sverzut Barbieri [Thu, 18 Aug 2016 04:53:16 +0000 (01:53 -0300)]
efl.net: socket, server and dialer for TCP.

Efl.Net.Server defines how to accept new connections, doing the
bind(), listen() and accept() for protocols such as TCP.

Efl.Net.Dialer defines to to reach a server.

Both are based on Efl.Net.Socket as communication interface that is
based on Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus being
usable with code such as Efl.Io.Copier.

The Server will emit an event "client,add" with the established
Socket, which is a child and can be closed by both the server or the
user.

The Dialer extends the Socket and allows for creating one given an
address, that will be resolved and connected.

TCP is the initial implementation so we an validate the
interfaces. UDP, Unix-Local and SSL will come later as derivate
classes.

The examples are documented and should cover the basic principles:

 - efl_io_copier_example can accept "tcp://IP:PORT" and will work as a
   "netcat", can send data from socket, file or stdin to a socket,
   file, stdout or stderr.

 - efl_net_server_example listens for connections and can either reply
   "Hello World!" and take some data or work as an echo-server,
   looping back all received data to the user.

More complex interactions that require a "chat" between client and
server will be covered with new classes later, such as a queue that
empties itself once data is read.

8 years agoefl.io: introduce basic interfaces and classes.
Gustavo Sverzut Barbieri [Sat, 13 Aug 2016 07:50:29 +0000 (04:50 -0300)]
efl.io: introduce basic interfaces and classes.

These interfaces allows generic operations on objects that can store
or provide data, such as a file or a buffer.

With well defined interfaces and events we can create code such as
Efl.Io.Copier, that will link a source with a destination and
progressively copy data as they appear.

8 years agobinbuf, strbuf and ustrbuf: add slice_get() and rw_slice_get().
Gustavo Sverzut Barbieri [Fri, 12 Aug 2016 21:55:37 +0000 (18:55 -0300)]
binbuf, strbuf and ustrbuf: add slice_get() and rw_slice_get().

8 years agoeina_stringshare: add slice_get()
Gustavo Sverzut Barbieri [Fri, 12 Aug 2016 21:54:26 +0000 (18:54 -0300)]
eina_stringshare: add slice_get()

8 years agoeina: introduce Eina_Slice and Eina_Rw_Slice.
Gustavo Sverzut Barbieri [Fri, 12 Aug 2016 20:08:38 +0000 (17:08 -0300)]
eina: introduce Eina_Slice and Eina_Rw_Slice.

A plain simple pointer + length describing a linear memory region.

8 years agoeina_types.eot: expose Eina.Binbuf
Gustavo Sverzut Barbieri [Tue, 16 Aug 2016 16:11:12 +0000 (13:11 -0300)]
eina_types.eot: expose Eina.Binbuf

8 years agoeina_types.eot: expose Eina.Error
Gustavo Sverzut Barbieri [Thu, 4 Aug 2016 16:45:37 +0000 (13:45 -0300)]
eina_types.eot: expose Eina.Error

8 years agoeina_error: provide a fallback when strerror_r() is not available.
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 21:23:45 +0000 (18:23 -0300)]
eina_error: provide a fallback when strerror_r() is not available.

8 years agoecore_con: add '\0' termination to path.
Prateek Thakur [Fri, 19 Aug 2016 23:12:41 +0000 (16:12 -0700)]
ecore_con: add '\0' termination to path.

Summary:
Copying from string 'buf' of length 4095 to '&socket_unix.sun_path[0]'
may form a non-terminated C string of size 108. So added null termination.

Signed-off-by: Prateek Thakur <prateek.th@samsung.com>
Reviewers: cedric, thiepha

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoecore_evas_ews: add proper clean up when quit the func
Artem Popov [Fri, 19 Aug 2016 22:39:52 +0000 (15:39 -0700)]
ecore_evas_ews: add proper clean up when quit the func
@fix

Summary: add proper clean up when quit the func (as per Raster comment)

Reviewers: cedric, raster, jpeg, barbieri

Reviewed By: barbieri

Subscribers: raster, NikaWhite, myoungwoon, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: fix use of strerror_r()
Jean Guyomarc'h [Mon, 22 Aug 2016 12:06:47 +0000 (14:06 +0200)]
eina: fix use of strerror_r()

So, first, the wrong strerror_r() was detected on
Mac OS X. Instead of using a complex set of macros
to try to detect which strerror_r() to use, when
it is defined, let the autotools handle that clerverness
for us.

8 years agoedje: fix warning raised by clang
Jean Guyomarc'h [Mon, 22 Aug 2016 12:44:43 +0000 (14:44 +0200)]
edje: fix warning raised by clang

Clang was not happy with the initialization of
the structure.

8 years agoevas-gl_cocoa: fix crashes at engine startup
Jean Guyomarc'h [Mon, 22 Aug 2016 17:52:49 +0000 (19:52 +0200)]
evas-gl_cocoa: fix crashes at engine startup

Recently, the gl_cocoa engine started to crash at
startup. glGetIntegerv() in gl_common was called
without any gl context, and therefore segfaulted.

We now make sure it is called after a gl context
has been created and used.

Thanks jpeg for troubleshooting.

Fixes T4402

8 years agoevas_engines: Update remaining enges for damage_region_set callback
Derek Foreman [Mon, 22 Aug 2016 13:39:44 +0000 (08:39 -0500)]
evas_engines: Update remaining enges for damage_region_set callback

I missed several engines when I changed this.

Make sure they all build.

8 years agoedje_cc: add snapshot to the lazedc symbols
Marcel Hollerbach [Mon, 22 Aug 2016 07:22:34 +0000 (09:22 +0200)]
edje_cc: add snapshot to the lazedc symbols

there where comments and documentation about it, but no code.

This is some kind on follow up on a7fd98f8f6d411c120e9c1c8ceeedbeb54d675a5.

@fix

8 years agoedje - cut another 120k or so off memory usage by using direct hash add
Carsten Haitzler (Rasterman) [Sun, 21 Aug 2016 02:37:22 +0000 (11:37 +0900)]
edje - cut another 120k or so off memory usage by using direct hash add

so every collection we add to the eina has of collections... we just
did eina_hash_add - this isn't quite good. because we use eina_file
and mmap the edje file. we COULd use the strings straigh fromt he edje
filer dictionary and not actually allocate private heap memory - thus
sharing all those strings. this was silly, and this saves about
another 120k of memory with the default theme as it has about 1500 or
so collections in it... and these strings add up fast.

@optimize

8 years agoedje - fix missing vector field frees, copies, handling etc.
Carsten Haitzler (Rasterman) [Sun, 21 Aug 2016 02:30:45 +0000 (11:30 +0900)]
edje - fix missing vector field frees, copies, handling etc.

it seems vector type parts were not handled all that well. we had at
least one mem leak with the vector mempool never being freed... so i
filled in various missing points where vector parts were not being
handled right.

@fix

8 years agoedje - reduce anothr 400k or so of memory usage (esp hello world)
Carsten Haitzler (Rasterman) [Sun, 21 Aug 2016 02:14:28 +0000 (11:14 +0900)]
edje - reduce anothr 400k or so of memory usage (esp hello world)

so edje was allocating 32 pointers per collection. this is per
collection inside an edje file even if we just use one collection from
that edje file. it consumes 32 pointers. on 64bit thats 256 bytes...
just for pointers to mempools so we can "optimize" freeing and
allocation of parts. this was simply rediculous. i moved it to a
sub-struct allocated on demand (so now only for collections we
actually use) and this nuked 400k of "base memory usage youcant get
rid of).

note that our current default theme has something like 1100 or so
images, 1500 or so collections in it. as theme gorws, memory footprint
goes up if we dont allocation only on demand (when needed/used) and we
aren't careful about the size of our data structs and their content.

@optimize

8 years agoFDO icon theme: correct Inherits value
Dave Andreoli [Sat, 20 Aug 2016 13:13:45 +0000 (15:13 +0200)]
FDO icon theme: correct Inherits value

This should have been done this way from the start...my bad
@fix

8 years agoevas-engines: fix compiling of the fb engine
Jean Guyomarc'h [Sat, 20 Aug 2016 12:03:15 +0000 (14:03 +0200)]
evas-engines: fix compiling of the fb engine

Build was broken after commit 0c21a926a322f810352a654b82455a41e85f06b2
which changed an internal API.

8 years agowayland_egl: Fix EGL_KHR_Partial_Update usage
Derek Foreman [Fri, 19 Aug 2016 19:22:46 +0000 (14:22 -0500)]
wayland_egl: Fix EGL_KHR_Partial_Update usage

Use the new damage region set callback to do partial updates that actually
work.  Fixes gl rendering on mali.

@fix

8 years agoengines: Add a damage_region_set callback
Derek Foreman [Fri, 19 Aug 2016 19:14:38 +0000 (14:14 -0500)]
engines: Add a damage_region_set callback

To properly implement EGL_KHR_partial_update we need to know the buffer
damage before any drawing operations take place.  Add a new callback to
software_generic that takes place after combining of surface damage and
swap mode when we actually have this available.

Note: This means the three copy pasta implementations of
EGL_KHR_partial_update scattered around the tree are all wrong.  bummer.

8 years agowayland_shm: Fix dmabuf orientation
Derek Foreman [Fri, 19 Aug 2016 19:51:55 +0000 (14:51 -0500)]
wayland_shm: Fix dmabuf orientation

So apparently when dmabuf support went into weston it went in with a
Y axis inversion that has since been corrected.

This updates our code to match.

8 years agoeina_cxx: change strings to match new returned system string.
Cedric BAIL [Fri, 19 Aug 2016 17:17:15 +0000 (10:17 -0700)]
eina_cxx: change strings to match new returned system string.

8 years agodocs: generate reference pages for codelink
Daniel Kolesa [Fri, 19 Aug 2016 13:39:37 +0000 (14:39 +0100)]
docs: generate reference pages for codelink

8 years agodocs: generate keyword-link.txt for codelink
Daniel Kolesa [Fri, 19 Aug 2016 13:19:09 +0000 (14:19 +0100)]
docs: generate keyword-link.txt for codelink

8 years agodocs: fix invalid links in class reference table
Daniel Kolesa [Fri, 19 Aug 2016 12:59:42 +0000 (13:59 +0100)]
docs: fix invalid links in class reference table

8 years agoelm: Install elm test images in the right place
Jean-Philippe Andre [Fri, 19 Aug 2016 06:07:37 +0000 (15:07 +0900)]
elm: Install elm test images in the right place

This moves g_layer images to their folder.
Some kind of dark magic managed to install the base images
in the proper folder already.

This fixes elementary_test -to "Gesture Layer 2"

@fix

8 years agoemile: fix jpeg loader broken with orientation
jiin.moon [Fri, 19 Aug 2016 03:09:31 +0000 (12:09 +0900)]
emile: fix jpeg loader broken with orientation

Summary:
After applying a patch regarding region, side-effect detected.

Fixes T4390

Test Plan: make check

Reviewers: jpeg, cedric, jypark

Maniphest Tasks: T4390

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

8 years agoefreetd - only open log file is env var is set to do so
Carsten Haitzler (Rasterman) [Fri, 19 Aug 2016 02:48:29 +0000 (11:48 +0900)]
efreetd - only open log file is env var is set to do so

set EFREETD_LOG to something to get efreetd to log. otherwise efretd
log files can end up rather larth and since they go in xdg_runtimedir
- thats mostly a ramdisk... they eat actual ram. so save a lot of
memory and only log if asked to.

@fix

8 years agoevas software downscaler - get about 1.8x to 3x speedups for cases
Carsten Haitzler (Rasterman) [Fri, 19 Aug 2016 02:04:50 +0000 (11:04 +0900)]
evas software downscaler - get about 1.8x to 3x speedups for cases

this speeds up downscaling of images by somewhere between 1.8 to 3x
dpeending on case and cpu etc. - this is ONLY for downscaling of an
image buffer betweeb 50% width and/or height up to 100% of width and
height. it's a special case optimization that cuts down the complexity
of the full super sampling filter to just do a bilinear interpolation
which is actually strictly correct for this size range and shouldn't
drop quality. it uses fixed point (16.16) to do the sup pixel sampling.

no mmx/asse or neon, but we could actually easily use it as we do use
mmx/ee and neon in the bilinear upscaler to do interpolation so this
would work here too. it just requires time and effort to make yet 2x
more special cases and use the ASM to do the hard slog here.

@optimize

8 years agoeina_error: allow errno.h codes.
Gustavo Sverzut Barbieri [Thu, 18 Aug 2016 16:36:05 +0000 (13:36 -0300)]
eina_error: allow errno.h codes.

we have some duplication of errors between Eina_Error and errno.h,
however we should use Eina_Error to extend the traditional errno.h
system.

then change eina_error_msg_register() and
eina_error_msg_static_register() to return a magic bit to state the
number was registered, and on other functions test this bit in order
to operate on registered values, otherwise fallback to errno.h, such
as strerror().

It also deprecates 2 clear duplicated errors:

- EINA_ERROR_OUT_OF_MEMORY -> ENOMEM

- EINA_ERROR_TIMEOUT -> ETIMEDOUT

There are two details when using strerror():

 - old behavior did not return strings for non-error, such as
   "Success" or "Unknown error ${N}"

 - thread-safety issues: since we must be thread safe, then use
   strerror_r() and eina_stringshare_add() that value, keeping a hash
   of cached values

8 years agodocs: add include flag verification
Daniel Kolesa [Thu, 18 Aug 2016 14:12:24 +0000 (15:12 +0100)]
docs: add include flag verification

8 years agodocs: add writer support for include plugin
Daniel Kolesa [Thu, 18 Aug 2016 13:50:24 +0000 (14:50 +0100)]
docs: add writer support for include plugin

8 years agoEvas text: fix RTL text ellipsis issues
Youngbok Shin [Thu, 18 Aug 2016 11:39:40 +0000 (14:39 +0300)]
Evas text: fix RTL text ellipsis issues

Summary:
Visual position of ellipsis item should be set according to
its bidi direction. But, by setting visual position in same way
as logical position, the end ellipsis could be put opposite side.
Also, start ellipsis must placed on left side of RTL text.
@fix T3187

Test Plan: Test an sample on T3187

Reviewers: tasn, woohyun, herdsman

Subscribers: raster, Blackmole, z-wony, cedric, jpeg, minudf

Maniphest Tasks: T3187

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

8 years agoElementary: Load image for image item with proper orientation
Youngbok Shin [Thu, 18 Aug 2016 11:09:16 +0000 (14:09 +0300)]
Elementary: Load image for image item with proper orientation

Summary:
Image files can have orientation information. Elm Entry have to
call evas_object_image_load_orientation_set() for showing image
with proper orientation.

Test Plan: N/A

Reviewers: herdsman, raster, jpeg

Subscribers: cedric

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

8 years agoEvas Text: parse font string everytime for updating lang properly
Youngbok Shin [Thu, 18 Aug 2016 10:33:08 +0000 (13:33 +0300)]
Evas Text: parse font string everytime for updating lang properly

Summary:
We can't assume the given font is same with current fdesc by comparing string.
Since Evas starts to supporting "auto" for language,
the given font string should be parsed once before comparing it.
@fix

Test Plan: N/A

Reviewers: tasn, raster, cedric, herdsman

Subscribers: jpeg, minudf, z-wony, Blackmole, woohyun

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

8 years agoejde - fix recalc single min n edje for h eval
Carsten Haitzler (Rasterman) [Thu, 18 Aug 2016 05:19:25 +0000 (14:19 +0900)]
ejde - fix recalc single min n edje for h eval

this fixes a seemingly small typo that would only turn up with fixed
point, but not floats as we have by default whwere we had
  x = 999;
instead of
  x = FROM_INT(999);

shouldn't be visibule unless you disable float support and use fixed
point in edje.

8 years agoedje - solve crash issues brought on by optimization of edje mem usage
Carsten Haitzler (Rasterman) [Thu, 18 Aug 2016 05:18:06 +0000 (14:18 +0900)]
edje - solve crash issues brought on by optimization of edje mem usage

this solves a crash brought on by 1d6a58cfc9f3bbe821eb04150e2b1e0ede7b32eb
that optimized mem usage but seems to have created issues in empc.

fixes T4382

8 years agoefl_loop_user: error if parent is not a loop provider.
Gustavo Sverzut Barbieri [Thu, 18 Aug 2016 04:01:25 +0000 (01:01 -0300)]
efl_loop_user: error if parent is not a loop provider.

it was silently ignoring the parent, which led me to hours trying to
investigate why my code wasn't working just to realize my parent
wasn't being assigned and refcounts were screwed.

8 years agoeolian: gracefully handle incorrect case of inherit.
Gustavo Sverzut Barbieri [Wed, 17 Aug 2016 00:41:26 +0000 (21:41 -0300)]
eolian: gracefully handle incorrect case of inherit.

If you use "EFl" instead of "Efl", it will find the proper file, but
won't find the type... crashing.

Handle that case and hint the user about it.

8 years agoedje_entry: Make a result of retrieve_surrounding_cb secure
Jihoon Kim [Thu, 18 Aug 2016 01:40:24 +0000 (10:40 +0900)]
edje_entry: Make a result of retrieve_surrounding_cb secure

Summary:
Regardless of the password mode of Entry,
_edje_entry_imf_retrieve_surrounding_cb alwalys passes plain_text
to any callers who register that callback.

This commit replace plain text with '*'
because current behavior could be a security hole in some case.

Reviewers: woohyun, id213sin, jihoon

Reviewed By: jihoon

Subscribers: cedric, jsuya, z-wony, jpeg

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

8 years agoeolian_cxx: Fix behavior with explicit void return
Lauro Moura [Wed, 17 Aug 2016 23:53:56 +0000 (20:53 -0300)]
eolian_cxx: Fix behavior with explicit void return

Only perform the single value/return type substitution on properties if the
void return type is implicit (i.e. NULL return from function_return_type_get),
following the eolian-C implementation as we use the generated headers.

Also update example after Eo-Efl changes.

8 years agowayland_egl: Fix rendering on systems without buffer age
Derek Foreman [Wed, 17 Aug 2016 21:22:54 +0000 (16:22 -0500)]
wayland_egl: Fix rendering on systems without buffer age

If buffer age isn't present we really want to return MODE_FULL, but we were
previously returning MODE_AUTO.

On recent mali drivers this resulted in accidental partial updates leading
to incorrect rendering.

8 years agowayland_egl: Remove swap_mode from engine info
Derek Foreman [Wed, 17 Aug 2016 21:21:29 +0000 (16:21 -0500)]
wayland_egl: Remove swap_mode from engine info

This was never set anywhere and always defaulted to 0, or AUTO

8 years agoexamples: evas: ensure filter example lua files land in tarball
Stefan Schmidt [Wed, 17 Aug 2016 12:37:56 +0000 (14:37 +0200)]
examples: evas: ensure filter example lua files land in tarball

These are needed for a make doc run and have been missing the tarball before.

@fix

8 years agodoc: put shot.sh into dist to allow make doc run from tarball
Stefan Schmidt [Wed, 17 Aug 2016 12:35:15 +0000 (14:35 +0200)]
doc: put shot.sh into dist to allow make doc run from tarball

This was missing in the release tarballs before breaking a make doc run from
them.

@fix

8 years agodocs: move all of serializers to doctree
Daniel Kolesa [Wed, 17 Aug 2016 12:50:01 +0000 (13:50 +0100)]
docs: move all of serializers to doctree

8 years agodocs: move type serializer into doctree
Daniel Kolesa [Wed, 17 Aug 2016 12:42:29 +0000 (13:42 +0100)]
docs: move type serializer into doctree

8 years agodocs: move type cstr retrieval to doctree
Daniel Kolesa [Wed, 17 Aug 2016 12:34:20 +0000 (13:34 +0100)]
docs: move type cstr retrieval to doctree

8 years agoEfl Object: Make event description arrays const.
Tom Hacohen [Wed, 17 Aug 2016 10:24:48 +0000 (11:24 +0100)]
Efl Object: Make event description arrays const.

This was an oversight. They should have been const arrays, and not just arrays
of pointers to const items.

8 years agoevas/gl_x11 : Add multiple_buffer member in native surface x11 type union.
Minkyoung Kim [Wed, 17 Aug 2016 08:50:18 +0000 (17:50 +0900)]
evas/gl_x11 : Add multiple_buffer member in native surface x11 type union.

Summary:
If native surface is multiple buffer pixmap such as named pixmap, Evas should recreate eglImage everyframe.
Because DDK get the buffer ID once at eglImageCreate time.
So if internal buffer ID is changed, should recreate eglImage.

Test Plan: Wearable Tizen.

Reviewers: wonsik, raster, cedric, jpeg

Reviewed By: jpeg

Subscribers: spacegrapher, dkdk, cedric

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

8 years agoevas: Fix BMP load with region set and scale down
Jean-Philippe Andre [Wed, 17 Aug 2016 08:21:33 +0000 (17:21 +0900)]
evas: Fix BMP load with region set and scale down

This fixes usage of photocam on large BMP images.
Follows previous commits by @jiin.moon.

8 years agoevas: Fix region test in jpeg load with region + zoom
Jean-Philippe Andre [Wed, 17 Aug 2016 07:45:16 +0000 (16:45 +0900)]
evas: Fix region test in jpeg load with region + zoom

The previous commit exposed an issue with the region test
does not take into account the scale down factor.

Not a @fix in itself, as it depends on the previous patch.

8 years agoemile: region_set does not working in jpeg loader if scale_down has set
jiin.moon [Wed, 17 Aug 2016 07:39:13 +0000 (16:39 +0900)]
emile: region_set does not working in jpeg loader if scale_down has set

Summary:
If both region and scale_down has set, ERR would be returned by loader of jpeg.

@fix

Test Plan: sample code

Reviewers: raster, jypark, cedric, jpeg

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

8 years agophotocam: Fix region load + scale down options
Jean-Philippe Andre [Wed, 17 Aug 2016 07:23:16 +0000 (16:23 +0900)]
photocam: Fix region load + scale down options

I have no idea how photocam even worked before. @jiin.moon
exposed a major issue in photocam by fixing how the jpg loader
scale down + region load combination works.

@fix

8 years agoevas: Add support for region load with PNG files
jiin.moon [Wed, 17 Aug 2016 07:07:22 +0000 (16:07 +0900)]
evas: Add support for region load with PNG files

Summary:
PNG loader support  region_set when decoding
@feature

Reviewers: cedric, jpeg, jypark, raster

Subscribers: raster

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

8 years agoevas: Support region_set for BMP image
jiin.moon [Wed, 17 Aug 2016 07:06:05 +0000 (16:06 +0900)]
evas: Support region_set for BMP image

Summary:
1) BMP loader support region decoding.
     @feature

2) Fix an issue what BMP loader can't decode an 16bit image with bit field
    @fix

Test Plan: attached sample codes

Reviewers: cedric, jpeg, jypark

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

8 years agoevas: mark unused function parameter as such
Stefan Schmidt [Tue, 16 Aug 2016 15:05:04 +0000 (17:05 +0200)]
evas: mark unused function parameter as such

8 years agoevas: Fix hold events
Jean-Philippe Andre [Wed, 17 Aug 2016 05:37:50 +0000 (14:37 +0900)]
evas: Fix hold events

This fixes a crash with thumbscroll.

Fixes https://phab.enlightenment.org/T4378

8 years agoevas: Fix mouse inputs when also listening to multi
Jean-Philippe Andre [Wed, 17 Aug 2016 04:08:03 +0000 (13:08 +0900)]
evas: Fix mouse inputs when also listening to multi

Since the new event type is the same for multi and single
touch (finger id is the only difference), multi touch listeners
would get triggered even for single mouse events.

Fixes https://phab.enlightenment.org/T4345
Fixes https://phab.enlightenment.org/T4378

This raises a question though: How do we want to differentiate
between single & multi touch events in the eo interfaces?

8 years agoEfl Object: Change and rename the type we use for function pointers.
Tom Hacohen [Tue, 16 Aug 2016 15:28:33 +0000 (16:28 +0100)]
Efl Object: Change and rename the type we use for function pointers.

Rename the type to something more sensible and change it to remove the
last remanent of Eo1. This fixes a fixme that has been there for a
while.

The type doesn't really matter, it just looks nicer with the va_list.

8 years agoEfl object: implement CoW for the function vtables
Tom Hacohen [Mon, 15 Aug 2016 16:11:13 +0000 (17:11 +0100)]
Efl object: implement CoW for the function vtables

This commit implements a sort of CoW for the vtables. The vtables are
usually just linked to and refcounted. When we need to change them we
allocate new ones and copy them over so we can write to them.

I wrote some code to measure the effectiveness of this change. When
running elementary_test (and immediately exiting) I saw that out of the
total number of vtable chains (561) that were needed by the classes in
the EFL, 79 (14.08%) were reused. Considering that I had to add
refcounting (unsigned short, but let's consider it's the size of a word
because of alignment), I would calculate the saving as such (in bytes):

Number of items in a chain (refcounted block): 32

32 bit:
sizeof(chain_node) = 8
Mem wasted on refcounting: 561 * 4 = 2244
Mem saved because of sharing: 79 * (32 * 8) = 20224
Total save: 17980 bytes

64 bit:
sizeof(chain_node) = 16
Mem wasted on refcounting: 561 * 8 = 4488
Mem saved because of sharing: 79 * (32 * 16) = 40448
Total save: 35960 bytes

Wow, we use a lot of memory in Eo classes, I'm sure we can
save even more if we put our hearts into it (change the shareable units
        to be smaller to increase the chance of sharing).
This is internal and doesn't affect API/ABI so we can change this even
further with time.

This also improves efl_object_override(). This should now be quite
memory efficient (don't abuse, but it's not a big hogg as it was), so
feel free to abuse that one and rely on it in API.

@feature

8 years agoevas: engine: remove set but unused variable
Stefan Schmidt [Tue, 16 Aug 2016 14:22:06 +0000 (16:22 +0200)]
evas: engine: remove set but unused variable

8 years agodocs: add Type to doctree and remove direct eolian api usages
Daniel Kolesa [Tue, 16 Aug 2016 13:53:04 +0000 (14:53 +0100)]
docs: add Type to doctree and remove direct eolian api usages

8 years agodocs: reduce the Expression API to just what's necessary
Daniel Kolesa [Tue, 16 Aug 2016 13:39:04 +0000 (14:39 +0100)]
docs: reduce the Expression API to just what's necessary

8 years agodocs: add Expression node type
Daniel Kolesa [Tue, 16 Aug 2016 13:37:45 +0000 (14:37 +0100)]
docs: add Expression node type

8 years agoevas: Fix ordering of input event
Jean-Philippe Andre [Wed, 10 Aug 2016 09:59:36 +0000 (18:59 +0900)]
evas: Fix ordering of input event

The previous patch 1185c40e508ca2ecc4c5e86b shows how having
two event types for the same thing (key or mouse input events)
was a bad idea. The only guaranteed order of callbacks is the
priority but even that was not enforced (since legacy or eo
style event had to come first).

Fixes T4310

8 years agoedje: Allow no_render in description
Jean-Philippe Andre [Tue, 9 Aug 2016 11:11:07 +0000 (20:11 +0900)]
edje: Allow no_render in description

Previously, it was limited to the part block. It was a mistake
and should have been put in the description instead, as this
allows it to change during state transition (like visible, or
proxy_src_visible).

@feature

8 years agoelm: Remove _EFL_APP_VERSION_SET from ELM_MAIN
Jean-Philippe Andre [Tue, 16 Aug 2016 09:24:27 +0000 (18:24 +0900)]
elm: Remove _EFL_APP_VERSION_SET from ELM_MAIN

This macro is behind a BETA ifdef. Shouldn't be used here,
unless we want to remove the beta flag and stabilize
efl_build_version_set() now.

Thanks Stefan for the report.

@fix

8 years agowin: Mark two properties as eo-only
Jean-Philippe Andre [Tue, 16 Aug 2016 08:59:56 +0000 (17:59 +0900)]
win: Mark two properties as eo-only

Why aren't those functions implemented yet?

@fix

8 years agoelm: Hide new init APIs behind BETA tag
Jean-Philippe Andre [Tue, 16 Aug 2016 08:24:58 +0000 (17:24 +0900)]
elm: Hide new init APIs behind BETA tag

This places the following behind beta:
- efl_quicklaunch_fallback
- efl_build_version_set

I don't think EFL_MAIN would have worked without BETA API support,
so no need to expose those for now.

@fix

8 years agoglview: Mark draw_request as eo-only
Jean-Philippe Andre [Tue, 16 Aug 2016 08:06:19 +0000 (17:06 +0900)]
glview: Mark draw_request as eo-only

This is a rename of changed_set, not a new function.

@fix

8 years agoelementary: remove redundant parts_text_fix from Elm.Layout
Jee-Yong Um [Tue, 9 Aug 2016 08:30:04 +0000 (17:30 +0900)]
elementary: remove redundant parts_text_fix from Elm.Layout

Summary:
When a theme is loaded, Elm.Layout updates strings with new theme.
This adjustment will be performed by Edje. (See D4219)

Reviewers: cedric, jpeg

Subscribers: taxi2se

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

8 years agoedje: resolve user defined string with type
Jee-Yong Um [Tue, 9 Aug 2016 08:29:49 +0000 (17:29 +0900)]
edje: resolve user defined string with type

Summary: Resolve Edje_User_Defined string with type (normal/escaped/unescaped)

Reviewers: cedric, jpeg

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

8 years agogl: Fix usage of GLX/EGL/GL extensions
Jean-Philippe Andre [Thu, 4 Aug 2016 02:49:33 +0000 (11:49 +0900)]
gl: Fix usage of GLX/EGL/GL extensions

This is reverts:
e4c641ed1e5607651e2d43a832e7cc01471f3fd6
  build fix
19eb7b727fbf35620a13fb65b50d3056a484360e:
  glx: Fix black windows in E on nvidia

For all extension functions, we need to match with the extension itself
since GetProcAddress() can return a non-NULL value even when the function
does not exist. Drivers can do a runtime mapping depending on the
context. So, we only trust the return value of GetProcAddress() when
we know for sure that the extension exists.

Thus, if a symbol exists we will always prefer it rather than relying
on GetProcAddress().

Also, glGetString(GL_EXTENSIONS) is now deprecated so we're lucky
it still works most of the time. glGetStringi() should be used
instead. This patch changes some of the use cases, but not all.

Fixes T3030 (again)
Fixes T4288

@fix

8 years agoeina: Set EINA_ERROR_TIMEOUT to cond_timedwait
Jean-Philippe Andre [Mon, 1 Aug 2016 08:38:05 +0000 (17:38 +0900)]
eina: Set EINA_ERROR_TIMEOUT to cond_timedwait

This adds a new error code.

I'm using a weak symbol (were supported, ie GCC on linux) for
some kind of forward compatibility.

Fixes T1780

@feature

8 years agoeina: Move EWAPI and EAPI_WEAK to Eina.h from Eo.h
Jean-Philippe Andre [Mon, 1 Aug 2016 07:06:44 +0000 (16:06 +0900)]
eina: Move EWAPI and EAPI_WEAK to Eina.h from Eo.h

So it may be used outside EO (eina error is what I have in mind).
I believe it doesn't need to be redefined in all EFL libs, especially
since it's not used on Windows yet.

8 years agoelm_panel : add a toggled event triggered when panel toggled in any way.
JEONGHYUN YUN [Mon, 1 Aug 2016 06:38:50 +0000 (15:38 +0900)]
elm_panel : add a toggled event triggered when panel toggled in any way.

Summary:
There are 2 ways to toogle the panel, by using elm_panel_toggle API and by interaction such as flick or click on panel.
This toggled event can help us to know the time when the panel toggled by all case.

Reviewers: woohyun, kimcinoo, Hermet, jypark

Subscribers: cedric, jpeg

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

8 years agoevas: Implement GL map/unmap for the simple case
Jean-Philippe Andre [Tue, 19 Jul 2016 12:08:02 +0000 (21:08 +0900)]
evas: Implement GL map/unmap for the simple case

Most of the code relies on the software generic engine
implementation, using inheritance between engines.

This fixes expedite image map RGBA test.

8 years agoedje_embryo: add function to know swallow has object
Jinyong Park [Mon, 1 Aug 2016 05:56:00 +0000 (14:56 +0900)]
edje_embryo: add function to know swallow has object

Summary:
Using edc script, there is no way to know evas object is set on swallow part or not.
So, to know that, some elm widget send signal and save some information to edc variables when object is set on swallow part.
I think it is helpful to make better edc script.

@feature

Reviewers: herb, cedric, raster, id213sin, jpeg

Reviewed By: jpeg

Subscribers: jpeg

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

8 years agoedje: Clean up edje eo apis
Jean-Philippe Andre [Tue, 16 Aug 2016 07:08:07 +0000 (16:08 +0900)]
edje: Clean up edje eo apis

Patches by Conr2d.
Differential Revision: https://phab.enlightenment.org/D4224

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
8 years agoedje: clean up APIs
Jee-Yong Um [Thu, 11 Aug 2016 05:38:33 +0000 (14:38 +0900)]
edje: clean up APIs

- convert methods to property setter/getter
- remove "values" block when getter returns read_only value
- fit the type of params of eo funcs to those of legacy APIs

8 years agoedje: clean up part text item APIs
Jee-Yong Um [Thu, 11 Aug 2016 04:39:27 +0000 (13:39 +0900)]
edje: clean up part text item APIs

8 years agoedje: clean up part text anchor APIs
Jee-Yong Um [Thu, 11 Aug 2016 04:37:00 +0000 (13:37 +0900)]
edje: clean up part text anchor APIs

8 years agoedje: clean up part text input panel APIs
Jee-Yong Um [Thu, 11 Aug 2016 04:30:03 +0000 (13:30 +0900)]
edje: clean up part text input panel APIs

8 years agoedje: clean up part text imf context APIs
Jee-Yong Um [Thu, 11 Aug 2016 02:21:02 +0000 (11:21 +0900)]
edje: clean up part text imf context APIs

8 years agoedje: clean up part text select APIs
Jee-Yong Um [Thu, 11 Aug 2016 02:18:35 +0000 (11:18 +0900)]
edje: clean up part text select APIs

8 years agoedje: clean up part text cursor APIs
Jee-Yong Um [Thu, 11 Aug 2016 02:14:41 +0000 (11:14 +0900)]
edje: clean up part text cursor APIs

8 years agoedje: clean up part text APIs
Jee-Yong Um [Thu, 11 Aug 2016 02:05:03 +0000 (11:05 +0900)]
edje: clean up part text APIs