platform/upstream/efl.git
10 years agoEvas TGV saver: Use medium quality by default
Jean-Philippe Andre [Wed, 16 Apr 2014 09:28:56 +0000 (18:28 +0900)]
Evas TGV saver: Use medium quality by default

The default quality is 80 and high quality is horribly slow,
so default to medium quality instead (it's already very slow).

If you really want to shoot yourself in the foot and use high
quality, just set quality > 95 and go make some coffee.

Also, disable dithering, it creates horrible artifacts on real
life pictures (gradients and flat surfaces especially).

10 years agofix overdraw issue in evas when clips change
Carsten Haitzler (Rasterman) [Wed, 16 Apr 2014 07:14:16 +0000 (16:14 +0900)]
fix overdraw issue in evas when clips change

the comments say it all. this stops adding massive full window updates
when clippers lose all children (and are visible) or gain a first
child while visible as all code hides these clip rects (or shows them)
in these cases and other usages just make no sense.

10 years agoremove unused code
Carsten Haitzler (Rasterman) [Wed, 16 Apr 2014 06:22:42 +0000 (15:22 +0900)]
remove unused code

10 years agoevas rects - missing update rect del if rect solid && not changed
Carsten Haitzler (Rasterman) [Wed, 16 Apr 2014 06:22:08 +0000 (15:22 +0900)]
evas rects - missing update rect del if rect solid && not changed

small improvement

10 years agoeo - let's make NULL objects simply debug warnings, not errors.
Carsten Haitzler (Rasterman) [Wed, 16 Apr 2014 03:31:44 +0000 (12:31 +0900)]
eo - let's make NULL objects simply debug warnings, not errors.

due to recent changes a lot of objects are now NULL (correctly) and eo
complains on access of them. it's simply too noisy adding too many
if's all through code, so let's just make eo be sensible here.

10 years agoRevert "eo null object complaints - silence."
Carsten Haitzler (Rasterman) [Wed, 16 Apr 2014 03:27:40 +0000 (12:27 +0900)]
Revert "eo null object complaints - silence."

This reverts commit 1678d272af676a17e4608de655f231171c5a5af2.

... actually... on second thought... i think eo just needs to sensibly
handle null objects.

10 years agoeo null object complaints - silence.
Carsten Haitzler (Rasterman) [Wed, 16 Apr 2014 03:18:06 +0000 (12:18 +0900)]
eo null object complaints - silence.

10 years agoRevert "build: Temporary disable debug log output during coverage"
Stefan Schmidt [Tue, 15 Apr 2014 13:24:51 +0000 (15:24 +0200)]
Revert "build: Temporary disable debug log output during coverage"

This reverts commit 02a5a6bfea50e722bbb71b9cd813d32e453517ae.

Daniel fixed the underlaying problem in eolian debug statements which should
make this band aid unnecessary.

10 years agoevas - improve speed of unpremul with redundant pixel data
Matvey Konovalov [Tue, 15 Apr 2014 10:22:33 +0000 (19:22 +0900)]
evas - improve speed of unpremul with redundant pixel data

10 years agoEvas ETC1: Use LZ4HC for higher compression ratios
Jean-Philippe Andre [Tue, 15 Apr 2014 02:41:16 +0000 (11:41 +0900)]
Evas ETC1: Use LZ4HC for higher compression ratios

LZ4HC has a higher compression ratio than LZ4 but basically the
same decompression speed.

The performance cost during encoding is actually still pretty low
considering how expensive ETC1 compression can be (even at medium
quality).

10 years agoEvas: Use Evas_Colorspace to declare cspace
Jean-Philippe Andre [Tue, 8 Apr 2014 08:19:38 +0000 (17:19 +0900)]
Evas: Use Evas_Colorspace to declare cspace

Why use int when we have a proper type?
All these APIs are internal.

10 years agoecore-wl: Check for existance of data device manager
Chris Michael [Tue, 15 Apr 2014 09:38:51 +0000 (10:38 +0100)]
ecore-wl: Check for existance of data device manager

@fix: Don't segfault if the running compositor never creates a data
device manager.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-wl: Don't create an input cursor surface unless the input has pointer capability.
Chris Michael [Tue, 15 Apr 2014 09:36:37 +0000 (10:36 +0100)]
ecore-wl: Don't create an input cursor surface unless the input has pointer capability.

@fix: There is no use for an input cursor surface if the seat does not
have the pointer ability (for kiosk cases, or touch-only cases where
a pointer is not created).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-evas-wl: Ooops, Fix opaque & input regions being set to incorrect values
Chris Michael [Fri, 11 Apr 2014 06:21:20 +0000 (07:21 +0100)]
ecore-evas-wl: Ooops, Fix opaque & input regions being set to incorrect values

@fix: As it turns out, we cannot just blindly set the regions here
during resize. Elementary apps will set the opaque region to account
for any edj frames, and having the region_set calls Here was
causing issues....

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agofix recent png loader break with etc1 support that broke interlaced imgs
Carsten Haitzler (Rasterman) [Tue, 15 Apr 2014 08:56:07 +0000 (17:56 +0900)]
fix recent png loader break with etc1 support that broke interlaced imgs

this fixes the png loader code to use png_read_row properly with the
number of passes needed to load aninterlaced image as well as handling
this right with scale ratio scaledown set.

10 years agodocs now have a slightly more english description and list libs alphabetically
Mike Blumenkrantz [Mon, 14 Apr 2014 18:39:21 +0000 (14:39 -0400)]
docs now have a slightly more english description and list libs alphabetically

10 years agoFixed a problem with e wl server that sent invalid key value to wl client.
Gwanglim Lee [Mon, 14 Apr 2014 13:38:58 +0000 (09:38 -0400)]
Fixed a problem with e wl server that sent invalid key value to wl client.

Summary:
This problem occurred due to xkb_keysym_t value of libxkbcommon by e wl server.
e wl server should pass keycode from evdev input device on to wl client.
In order that e wl server receives valid keycode Ecore_Event_Key should have
an extended data member. This patch should be applied with server side patch.

@fix

Test Plan: run e wl server -> create wl client -> type keys

Reviewers: raster, devilhorns, zmike

CC: cedric
Differential Revision: https://phab.enlightenment.org/D712

10 years agoEolian: add support for cmake
Daniel Zaoui [Mon, 14 Apr 2014 10:54:02 +0000 (13:54 +0300)]
Eolian: add support for cmake

Now with the file :-)

10 years agobuild: Temporary disable debug log output during coverage
Stefan Schmidt [Mon, 14 Apr 2014 10:23:25 +0000 (12:23 +0200)]
build: Temporary disable debug log output during coverage

Due to the amount of generated debug messages from eolion generation
we end up with 3.8GB log files for elm builds when efl was build with
coverage enabled. Temporary disable this until eolion is fixed and
we can turn it on again.

10 years agoRevert "Eolian: add support for cmake"
Tom Hacohen [Mon, 14 Apr 2014 10:04:36 +0000 (11:04 +0100)]
Revert "Eolian: add support for cmake"

You forgot to add the file, you broke compilation for everyone.

This reverts commit df6ef6aa78ddacfac8ccac162177ee42844b1611.

10 years agoEo: eo_do now returns called func's value + default ret fix.
Tom Hacohen [Mon, 14 Apr 2014 09:36:09 +0000 (10:36 +0100)]
Eo: eo_do now returns called func's value + default ret fix.

It's now completely valid to do:
a = eo_do(obj, a_get());

or:
b = eo_do(obj, a_set(1), b_get());

Also, the default return value for eo2 functions is now also returned
when the object is invalid, not just when the object does not match
class.

It's a small refactor that fixed both issues at once.

@feature
@fix

10 years agoEo: Fix class checking.
Tom Hacohen [Mon, 14 Apr 2014 09:34:57 +0000 (10:34 +0100)]
Eo: Fix class checking.

Without this patch, NULL, and random garbage are detected as classes.
This fixes is.

10 years agoEolian: add support for cmake
Daniel Zaoui [Mon, 14 Apr 2014 09:42:21 +0000 (12:42 +0300)]
Eolian: add support for cmake

10 years agoEolian/Lexer: disable INFO and DEBUG.
Daniel Zaoui [Mon, 14 Apr 2014 04:56:45 +0000 (07:56 +0300)]
Eolian/Lexer: disable INFO and DEBUG.

They are not needed on normal build. Two flags have been added to
enable/disable INF and DBG.
Two warnings have been removed since they are not printing interesting
and relevant information.

10 years agoEolian: Legacy integration of Evas Table
Yossi Kantor [Wed, 2 Apr 2014 07:46:53 +0000 (10:46 +0300)]
Eolian: Legacy integration of Evas Table

10 years agoEolian: Legacy Integration of Evas Text
Yossi Kantor [Tue, 1 Apr 2014 07:10:29 +0000 (10:10 +0300)]
Eolian: Legacy Integration of Evas Text

10 years agoEolian: fix generation of Eo2 functions definitions.
Daniel Zaoui [Fri, 11 Apr 2014 07:38:53 +0000 (10:38 +0300)]
Eolian: fix generation of Eo2 functions definitions.

When keys are used in property, the Eo2 macro was not well chosen.

10 years agoeolian no longer generates return statements for void functions
Mike Blumenkrantz [Fri, 11 Apr 2014 14:32:48 +0000 (10:32 -0400)]
eolian no longer generates return statements for void functions

10 years agoecore_con: Force unsigned to unsigned comparison
Stefan Schmidt [Fri, 11 Apr 2014 09:50:47 +0000 (11:50 +0200)]
ecore_con: Force unsigned to unsigned comparison

num was changed to size_t which makes it unsigned while count is a normal
(signed) int. Comparing them does not always work as expected but in this
case we already checked if count is < 0 before and would have returned if
that would be true. Thus we can safely cast count to unsigned here as it
will be greater 0 anyway.

10 years agoengines/evas_drm: Remove some unused variables
Stefan Schmidt [Fri, 11 Apr 2014 09:31:37 +0000 (11:31 +0200)]
engines/evas_drm: Remove some unused variables

10 years agoecore_con: Remove superfluous >= 0 check for unsigned
Stefan Schmidt [Fri, 11 Apr 2014 09:26:18 +0000 (11:26 +0200)]
ecore_con: Remove superfluous >= 0 check for unsigned

Since num was changed from (signed) int to (unsigned)  size_t in
16d7b981ebc22df86e4dc7719ae63677bff8b1e1 this check no longer
makes sense as it will always be true.

10 years agoEolian: Legacy integration of Evas Rectangle, Polygon, Line, Textgrid and Textblock
Yossi Kantor [Mon, 31 Mar 2014 11:54:02 +0000 (14:54 +0300)]
Eolian: Legacy integration of Evas Rectangle, Polygon, Line, Textgrid and Textblock

10 years agoEolian: Clean out Evas Eo header
Yossi Kantor [Sun, 30 Mar 2014 11:08:46 +0000 (14:08 +0300)]
Eolian: Clean out Evas Eo header

10 years agoEolian: Clean out Ecore Audio Eo headers
Yossi Kantor [Sun, 30 Mar 2014 10:24:09 +0000 (13:24 +0300)]
Eolian: Clean out Ecore Audio Eo headers

10 years agoset default help info for multisense to match new default on state
Carsten Haitzler (Rasterman) [Fri, 11 Apr 2014 06:18:21 +0000 (15:18 +0900)]
set default help info for multisense to match new default on state

10 years agoEo2: Fix other forgotten ret.
Daniel Zaoui [Thu, 10 Apr 2014 09:07:42 +0000 (12:07 +0300)]
Eo2: Fix other forgotten ret.

10 years ago"whether" has 2x 'h'
Mike Blumenkrantz [Thu, 10 Apr 2014 13:27:51 +0000 (09:27 -0400)]
"whether" has 2x 'h'

10 years agoEdje multisense: Fixed compilation following change to eo2.
Tom Hacohen [Thu, 10 Apr 2014 09:04:34 +0000 (10:04 +0100)]
Edje multisense: Fixed compilation following change to eo2.

10 years agoturn multisense on by default since ecore_audio is already
Carsten Haitzler (Rasterman) [Thu, 10 Apr 2014 09:04:09 +0000 (18:04 +0900)]
turn multisense on by default since ecore_audio is already

10 years agoMove to Eo2 and adjust code accordingly
Tom Hacohen [Thu, 10 Apr 2014 08:46:04 +0000 (09:46 +0100)]
Move to Eo2 and adjust code accordingly

Eo2 is the new object system for the EFL, and the replacement for Eo. It
improves Eo1 in many ways that will be listed on the Wiki and discussed
on the ML before.

Another change this merge includes is using the slightly different API
eo2 offers in actual code.

For example:
eo_do(obj, elm_object_text_get(&text));
becomes:
eo_do(obj, text = elm_object_text_get());

@feature

10 years agoEo: fix warning on printf
Daniel Zaoui [Thu, 10 Apr 2014 08:42:54 +0000 (11:42 +0300)]
Eo: fix warning on printf

10 years agoEolian: Fix generation of Eo APIs.
Daniel Zaoui [Sat, 5 Apr 2014 00:22:28 +0000 (03:22 +0300)]
Eolian: Fix generation of Eo APIs.

When return is forced to void, even if the function contains only
one parameter, the return type will be void.

10 years agofix invalid memory access where child cb frees table cache - new it seems
Carsten Haitzler (Rasterman) [Thu, 10 Apr 2014 07:44:58 +0000 (16:44 +0900)]
fix invalid memory access where child cb frees table cache - new it seems

i havent seen this before so i would not cal lit an old bug that needs
a fix tag

10 years agoformatting - imrove readability of ecore x event table decl
Carsten Haitzler (Rasterman) [Thu, 10 Apr 2014 06:15:24 +0000 (15:15 +0900)]
formatting - imrove readability of ecore x event table decl

10 years agoEo2: Adjust test suite to recent changes.
Tom Hacohen [Thu, 10 Apr 2014 02:11:29 +0000 (03:11 +0100)]
Eo2: Adjust test suite to recent changes.

10 years agoEo2: Make internal function static + improved debug output.
Tom Hacohen [Thu, 3 Apr 2014 16:54:30 +0000 (17:54 +0100)]
Eo2: Make internal function static + improved debug output.

10 years agoEo: Removed redundant code.
Tom Hacohen [Thu, 3 Apr 2014 09:27:43 +0000 (10:27 +0100)]
Eo: Removed redundant code.

10 years agoEo: Renamed eo files from eo2* to eo*.
Tom Hacohen [Wed, 2 Apr 2014 14:34:40 +0000 (15:34 +0100)]
Eo: Renamed eo files from eo2* to eo*.

10 years agoEcore audio tests: Updated to Eo2.
Tom Hacohen [Wed, 2 Apr 2014 14:30:13 +0000 (15:30 +0100)]
Ecore audio tests: Updated to Eo2.

10 years agoMore adjustments for eo2 calls.
Tom Hacohen [Wed, 2 Apr 2014 13:21:57 +0000 (14:21 +0100)]
More adjustments for eo2 calls.

10 years agoEo: Reintroduce the events now that eo1 is gone.
Tom Hacohen [Wed, 2 Apr 2014 12:16:04 +0000 (13:16 +0100)]
Eo: Reintroduce the events now that eo1 is gone.

10 years agoEo: EO_BASE_CLASS->EO_CLASS.
Tom Hacohen [Wed, 2 Apr 2014 11:01:16 +0000 (12:01 +0100)]
Eo: EO_BASE_CLASS->EO_CLASS.

10 years agoEo: eo_base's data_*->key_data_*.
Tom Hacohen [Wed, 2 Apr 2014 10:42:00 +0000 (11:42 +0100)]
Eo: eo_base's data_*->key_data_*.

10 years agoEo: Changed eo_prefix for base class to 'eo'.
Tom Hacohen [Wed, 2 Apr 2014 10:41:25 +0000 (11:41 +0100)]
Eo: Changed eo_prefix for base class to 'eo'.

This is better than eo_base, as it's super common.

10 years agoAdjust eo_do calls to work with the eo2 api.
Tom Hacohen [Wed, 2 Apr 2014 10:16:09 +0000 (11:16 +0100)]
Adjust eo_do calls to work with the eo2 api.

10 years agoEo2: Updated naming Eo2->Eo.
Tom Hacohen [Wed, 2 Apr 2014 08:46:34 +0000 (09:46 +0100)]
Eo2: Updated naming Eo2->Eo.

10 years agoEo2: Removed more Eo1 code.
Tom Hacohen [Wed, 2 Apr 2014 08:26:45 +0000 (09:26 +0100)]
Eo2: Removed more Eo1 code.

10 years agoEo2: Removed a lot of Eo1 code.
Tom Hacohen [Tue, 1 Apr 2014 15:21:13 +0000 (16:21 +0100)]
Eo2: Removed a lot of Eo1 code.

10 years agoEo2: Adjust to composite object changes.
Tom Hacohen [Tue, 1 Apr 2014 13:07:53 +0000 (14:07 +0100)]
Eo2: Adjust to composite object changes.

10 years agoEolian: Generate Eo2.
Tom Hacohen [Thu, 10 Apr 2014 01:47:56 +0000 (02:47 +0100)]
Eolian: Generate Eo2.

10 years agoeo2: call stack is now thread safe
Jérémy Zurcher [Wed, 22 Jan 2014 10:18:31 +0000 (11:18 +0100)]
eo2: call stack is now thread safe

create/destroy tls key (_eo2_call_stack_key) at eo_init()/eo_shutdown().
use _eo2_call_stack_get() to allocate the stack when required.
register _eo2_call_stack_free() as eina_tls_cb_new() delete callback.

10 years agoeo2: add tests for thread safe call stack
Jérémy Zurcher [Tue, 21 Jan 2014 16:42:07 +0000 (17:42 +0100)]
eo2: add tests for thread safe call stack

Summary:
   2 threads run 'eo2_do(o, a(), b());'
   - A goes first, creates an object, enters 'eo2_do(o, a(), b());'
     in a() call, it blocks, releases B and waits for it.
   - B when released, creates an object, enters 'eo2_do(o, a(), b());'
     in a() call, it joins and releases A, then blocks.
   - A returns from a(); and enters b() using current call stack frame,
     which is the one pushed by B! then pop the frame and releases B.
   - B does as above using the stack pushed by A!

10 years agoeo2: update class creation tests, follow new error policy
Jérémy Zurcher [Thu, 9 Jan 2014 13:43:52 +0000 (14:43 +0100)]
eo2: update class creation tests, follow new error policy

see previous commit

10 years agoeo2: do not allow ill formed class creation
Jérémy Zurcher [Thu, 9 Jan 2014 13:43:26 +0000 (14:43 +0100)]
eo2: do not allow ill formed class creation

eo_class_new() returns NULL on error in _eo2_class_funcs_set().
it covers: NULL API func, API redefined, dich func override,
overriding non-existing fct.

10 years agoeo2: if _eo2_class_funcs_set() fails eo_class_new() returns NULL
Jérémy Zurcher [Thu, 9 Jan 2014 13:42:17 +0000 (14:42 +0100)]
eo2: if _eo2_class_funcs_set() fails eo_class_new() returns NULL

call to _eo2_class_funcs_set() is moved out of _eo_class_constructor()
into eo_class_new().

10 years agoeo2: add tests for method call error msgs
Jérémy Zurcher [Wed, 8 Jan 2014 13:48:36 +0000 (14:48 +0100)]
eo2: add tests for method call error msgs

10 years agoeo2: tests: extract mgs checks into eo_error_msgs.c|h
Jérémy Zurcher [Wed, 8 Jan 2014 13:10:39 +0000 (14:10 +0100)]
eo2: tests: extract mgs checks into eo_error_msgs.c|h

10 years agoeo2: _eo2_call_resolve() fails if op is EO_NOOP
Jérémy Zurcher [Wed, 8 Jan 2014 11:11:20 +0000 (12:11 +0100)]
eo2: _eo2_call_resolve() fails if op is EO_NOOP

10 years agoeo2: add test cases for class construction errors
Jérémy Zurcher [Wed, 8 Jan 2014 10:30:44 +0000 (11:30 +0100)]
eo2: add test cases for class construction errors

it covers: NULL API func, overriding non-existing fct,
API redefined, dich func override.

10 years agoeo2: improve _eo2_class_funcs_set() errors support
Jérémy Zurcher [Wed, 8 Jan 2014 10:13:34 +0000 (11:13 +0100)]
eo2: improve _eo2_class_funcs_set() errors support

as op descs are sorted, we can't output fct indexes in error msgs, but
as they are sorted using api_fct as key, we can detect multiple usage of
the same api_fct which leads to an unpredictable call to whatever is
returned by _eo2_api_op_id_get()->_eo2_api_desc_get().

it is still possible to instanciate an object of a not well defined class.

10 years agoeo2: normalize ERR msgs
Jérémy Zurcher [Wed, 8 Jan 2014 10:10:48 +0000 (11:10 +0100)]
eo2: normalize ERR msgs

10 years agoeo2: fix err msg in _dich_func_set()
Jérémy Zurcher [Fri, 3 Jan 2014 15:02:00 +0000 (16:02 +0100)]
eo2: fix err msg in _dich_func_set()

10 years agoeo2: improve _eo_op_id_name_get() to support eo1/2
Jérémy Zurcher [Fri, 3 Jan 2014 15:01:27 +0000 (16:01 +0100)]
eo2: improve _eo_op_id_name_get() to support eo1/2

10 years agoeo2: add _eo2_op_id_desc_get()
Jérémy Zurcher [Fri, 3 Jan 2014 15:00:24 +0000 (16:00 +0100)]
eo2: add _eo2_op_id_desc_get()

10 years agoeo2: improve err msg in _eo2_api_op_id_get() and _eo2_call_resolve()
Jérémy Zurcher [Fri, 3 Jan 2014 14:54:18 +0000 (15:54 +0100)]
eo2: improve err msg in _eo2_api_op_id_get() and _eo2_call_resolve()

10 years agoeo2: fix uninitialized vars in tests
Jérémy Zurcher [Mon, 30 Dec 2013 21:16:55 +0000 (22:16 +0100)]
eo2: fix uninitialized vars in tests

because of conditional execution of eo2_do() fct calls
these vars could end up not initialized.

10 years agoeo2: fix indentation
Jérémy Zurcher [Mon, 30 Dec 2013 19:31:40 +0000 (20:31 +0100)]
eo2: fix indentation

10 years agoeo2: do not try to unref classes in eo2_do_end()
Jérémy Zurcher [Mon, 30 Dec 2013 19:23:22 +0000 (20:23 +0100)]
eo2: do not try to unref classes in eo2_do_end()

10 years agoeo2: remove memset() in _eo2_do_end() as all stack fields are set in _eo2_do_start()
Jérémy Zurcher [Mon, 30 Dec 2013 19:12:00 +0000 (20:12 +0100)]
eo2: remove memset() in _eo2_do_end() as all stack fields are set in _eo2_do_start()

10 years agoeo2: no need to resolve eo_id when we reuse previous stack frame
Jérémy Zurcher [Mon, 30 Dec 2013 16:53:54 +0000 (17:53 +0100)]
eo2: no need to resolve eo_id when we reuse previous stack frame

10 years agoeo2: add tests for call stack grow and shrink
Jérémy Zurcher [Mon, 30 Dec 2013 14:24:44 +0000 (15:24 +0100)]
eo2: add tests for call stack grow and shrink

10 years agoeo2: call stack grows and shrinks
Jérémy Zurcher [Mon, 30 Dec 2013 14:24:15 +0000 (15:24 +0100)]
eo2: call stack grows and shrinks

10 years agoeo2: rename Eo_Abstract_Class->Eo2_Abstract_Class
Jérémy Zurcher [Fri, 27 Dec 2013 22:08:30 +0000 (23:08 +0100)]
eo2: rename Eo_Abstract_Class->Eo2_Abstract_Class

10 years agoeo2: remove dead code
Jérémy Zurcher [Fri, 27 Dec 2013 22:07:22 +0000 (23:07 +0100)]
eo2: remove dead code

10 years agoeo2: add TODO-eo2
Jérémy Zurcher [Fri, 27 Dec 2013 16:38:50 +0000 (17:38 +0100)]
eo2: add TODO-eo2

merry XMas eo2 !!
you've been fully rebased,
without the eo2test directory,
luckily without any mistake !?

10 years agoeo2: change the order of EO2_OP_FUNC* to put EAPI first.
Tom Hacohen [Mon, 11 Nov 2013 13:27:36 +0000 (13:27 +0000)]
eo2: change the order of EO2_OP_FUNC* to put EAPI first.

This looks cleaner and more aligned. Also, it makes more sense as the
internal function is bound to the EAPI and not the other way around.

10 years agoeo2: optimize eo2_do_super func relove a bit.
Tom Hacohen [Mon, 11 Nov 2013 13:06:51 +0000 (13:06 +0000)]
eo2: optimize eo2_do_super func relove a bit.

no need to call dich_func_get twice, just reuse the value previously
fetched.

10 years agoeo2: get rid of eo2_stack_depth_get.
Tom Hacohen [Mon, 11 Nov 2013 10:59:54 +0000 (10:59 +0000)]
eo2: get rid of eo2_stack_depth_get.

This is super internal, no reason why it should be exposed.

We should just implement automatic stack growth.

10 years agoeo2: formatting.
Tom Hacohen [Fri, 8 Nov 2013 15:30:25 +0000 (15:30 +0000)]
eo2: formatting.

10 years agoeo2: prefixed internal functions with _.
Tom Hacohen [Mon, 11 Nov 2013 10:51:47 +0000 (10:51 +0000)]
eo2: prefixed internal functions with _.

This is done to prevent code completion from picking them up.

10 years agoeo2: fixed validity checks for eo2_do_super.
Tom Hacohen [Mon, 11 Nov 2013 10:47:13 +0000 (10:47 +0000)]
eo2: fixed validity checks for eo2_do_super.

The class should be checked to be valid and non-null.
This fixes the issues with eo_suite.

10 years agoeo2: fixed eo2_do call order.
Tom Hacohen [Mon, 11 Nov 2013 10:34:35 +0000 (10:34 +0000)]
eo2: fixed eo2_do call order.

This fixes the mixin test and general calling order.
"Next class" can only be known per op. That's why super should be
restricted to only one op.

10 years agoeo2: eo2_do_super should only have one func.
Tom Hacohen [Fri, 8 Nov 2013 16:21:01 +0000 (16:21 +0000)]
eo2: eo2_do_super should only have one func.

This is a limitation that must be respected as eo2_do_super, unlike
eo2_do can end up with having different next class because of mixins.

10 years agoeo2: share code between eo2_do and eo2_do_super.
Tom Hacohen [Fri, 8 Nov 2013 15:54:39 +0000 (15:54 +0000)]
eo2: share code between eo2_do and eo2_do_super.

10 years agoeo2: fixed formatting.
Tom Hacohen [Fri, 8 Nov 2013 15:30:25 +0000 (15:30 +0000)]
eo2: fixed formatting.

10 years agoeo2: prefix all the eo2_*internal* functions with an underscore.
Tom Hacohen [Fri, 8 Nov 2013 15:20:38 +0000 (15:20 +0000)]
eo2: prefix all the eo2_*internal* functions with an underscore.

This prevents them from being auto-completed by IDEs which makes
development nicer.

10 years agoeo2: don't create types starting with __, that's reserved.
Tom Hacohen [Fri, 8 Nov 2013 15:16:47 +0000 (15:16 +0000)]
eo2: don't create types starting with __, that's reserved.

__ is a reserved compiler domain, prefix with _Eo2_ instead.

10 years agoeo2: use EO2_CLASS_DESCRIPTION_NOOPS everywhere.
Tom Hacohen [Fri, 8 Nov 2013 15:02:06 +0000 (15:02 +0000)]
eo2: use EO2_CLASS_DESCRIPTION_NOOPS everywhere.

10 years agoeo2: fixed a compliation issue in test suite.
Tom Hacohen [Fri, 8 Nov 2013 14:57:47 +0000 (14:57 +0000)]
eo2: fixed a compliation issue in test suite.

10 years agoeo2: fix eo2_base_class function signatures.
Tom Hacohen [Fri, 8 Nov 2013 14:55:29 +0000 (14:55 +0000)]
eo2: fix eo2_base_class function signatures.

"void func(void)" != "void func()" !
The former is a func that accepts 0 parameters.
The latter is a func that accepts variable number of parameters.

Watch out.