Commit Graph

25278 Commits

Author SHA1 Message Date
Jérémy Zurcher adc1ac0c23 eo2: add eo2_call_stack_depth 2014-04-10 04:20:16 +01:00
Jérémy Zurcher eeff3e898c eo2: EO2_CALL_STACK_SIZE -> EO2_CALL_STACK_DEPTH 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 1aa3b1536f eo2: add virtual func support 2014-04-10 04:20:16 +01:00
Tom Hacohen ca5221e0f9 eo2: compile eo2_base_class when compiling libeo. 2014-04-10 04:20:16 +01:00
Tom Hacohen ec1e507465 eo2: explicitly put void as the arguments in a zero argument function (macro). 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 13b1d03def eo2: _eo2_api_desc_get() searches the class hierarchy 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 5febcc9ff1 eo2: oops, forgot to init desc to NULL in eo2_api_op_id_get() 2014-04-10 04:20:16 +01:00
Jérémy Zurcher d61a31a645 eo2: can't detect return in a eo2_do macro, *sigh* 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 21b31a2f97 eo2: eo2_base_class uses eo2 stuff only, I hope 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 9c4731f606 eo2: eo2_api_op_id_get search in parent klasses too 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 1d9d0cee9c eo2: EO2_OP_FUNC_OVERRIDE copy doc from overriden func 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 2edd305507 eo2: set eo2_constructor and eo2_destructor chaining 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 7621758c80 eo2: use EO2_VERSION 2014-04-10 04:20:16 +01:00
Jérémy Zurcher c17a30dfb9 eo2: add cur_klass in call Stack and eo2_do_super
in eo2_do_start(), reuse previous stack fetched pointers when possible
2014-04-10 04:20:16 +01:00
Jérémy Zurcher 68fb3d4c03 eo2: improve func overriding
add klass_id parameter to eo2_get_op_id()
in op descriptions, allow NULL fct pointer for virtual,
and use EO2_OP_OVERRIDE to declare overriding.
2014-04-10 04:20:16 +01:00
Jérémy Zurcher 58cb65b895 eo2: eo2_base_class, one step further 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 8b6b9532c5 eo2: Eo.h swallows eo2_base_class.h 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 6a16edc888 eo2: call stack Proof Of Concept
no grow/shrink or thread local storage
2014-04-10 04:20:16 +01:00
Jérémy Zurcher a645076979 eo2: eo2_base_class on it's way 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 2490a1bef2 eo2: better op_descs integration
struct _Eo_Class_Description swallows
Eo2_Op_Description *descs2;
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 8ef9e1c00d eo2: use EO2 instead of EO in macro names 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 6bb29b378b eo2: add EO_FUNC_BODY_VOID and EO_FUNC_BODY_VOIDV macros 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 48c2c1dfba eo2: rename func parameter into _func_ 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 3295c8faaa eo2: add macros to feed op_descs 2014-04-10 04:20:15 +01:00
Jérémy Zurcher f05f51dd60 eo2: _Eo_Class_Description swallows op_descs
remove OpDescs argument from macros,
eo2_get_op_id() uses binary search
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 41aff7524d eo2: clear _obj_ ptr at the end of eo2_do 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 731f8e1dea eo2: add optional macros eo2_call[v] 2014-04-10 04:20:15 +01:00
Jérémy Zurcher bc6019c154 eo2: add comments end clean up 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 23ae1fc453 eo2: use internal unref, break if eo2_start returns NULL 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 473609e1d3 eo2: eliminate the need of OPID and Eo_Op_Func_Description
at class elaboration, sort the op descriptions using the function pointer.
when calling a function, do a dichotomic search in the
class op descriptions to find the corresponding OP_ID,
then keep it in a static variable.
2014-04-10 04:20:15 +01:00
Cedric Bail d0153fabc1 eo2: make macro pass C++ compiler. 2014-04-10 04:20:15 +01:00
Jérémy Zurcher ef873b7b29 eo2: fix obj_data retrieval and speed up
obj_data which is built from func->src not obj->klass.
replace eo2_func_get() and eo2_data_scope_get() calls
with one call to eo2_call_resolve().
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 73f1d2a09e eo2: add macros for functions with no argument 2014-04-10 04:20:15 +01:00
Tom Hacohen 9e042c0686 eo2: pass the object id and data to function call 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 71341334a9 eo2: add eo2_data_scope_get()
use it in function body
2014-04-10 04:20:15 +01:00
Jérémy Zurcher bfa48634cf eo2: EO_FUNC -> EO_FUNC_BODY
use macro to build the function body,
   the function prototype is a regular one
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 787cffd3f9 eo2: macro eo_o => eo2_o for clarity 2014-04-10 04:20:15 +01:00
Tom Hacohen 2e3ad3be10 eo2: fix wrong eo2_do macro as reported by Jeremy. 2014-04-10 04:20:15 +01:00
Tom Hacohen 35856fdd13 eo2: Eo2 first commit. 2014-04-10 04:20:15 +01:00
Daniel Zaoui 87776ff0fa Eolian: add support for functions scope.
This patch adds support for protected functions.

In the .eo file, the scope (public by default) has to be added before
the function name e.g:
protected foo ...

To access the protected APIs, #define (CLASS)_PROTECTED is needed e.g:
 #define ELM_BUTTON_PROTECTED
2014-04-10 05:55:16 +03:00
Daniel Zaoui bbba6a20b4 Eolian: generation of Eo2.
The generation of Eo2 can be enabled by defining EO flag in
common_funcs.h.
2014-04-10 04:20:02 +03:00
Daniel Kolesa eeb53222d0 eina: a highly irritating error in eina_file documentation 2014-04-09 15:48:41 +01:00
Wonguk Jeong 28fd36255b ecore_evas_extn: update plug image object after disconnection
Summary:
plug image object was not cleaned after server disconnection.
specifically, image data was cleaned (NULL), but it was not updated for real on screen

--> set dirty of plug image object

@fix

Test Plan: elementary_test -> open window socket -> open window plug -> close window socket -> plug should be cleaned up

Reviewers: raster, cedric

Reviewed By: raster

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D703
2014-04-09 19:45:30 +09:00
wonguk.jeong 6994f32351 ecore_evas_extn: initialize server handle on server deletion
Summary:
Since plug sends message by using deleted server handle (dangling pointer),
I could see glorious error message as below:

	*** ECORE ERROR: Ecore Magic Check Failed!!!
	*** IN FUNCTION: ecore_con_server_send()
	ERR<842>:ecore lib/ecore/ecore.c:729 _ecore_magic_fail()   Input handle pointer is NULL!
	ERR<842>:ecore lib/ecore/ecore.c:740 _ecore_magic_fail() *** NAUGHTY PROGRAMMER!!!
	*** SPANK SPANK SPANK!!!
	*** Now go fix your code. Tut tut tut!

Therefore, I initialized server handle on server deletion

@fix

Test Plan: create socket -> create plug -> destroy socket -> mouse move on plug area

Reviewers: raster, cedric

Reviewed By: raster

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D701
2014-04-09 19:21:30 +09:00
Felipe Magno de Almeida 6bb01b0d18 eina-cxx: Modified eina C++ log use syntax
Summary:
Modified syntax for eina C++ log to imitate the macro call as returning a stream. So, instead of:

  EINA_CXX_DOM_LOG_CRIT(efl::eina::global_domain, "foo " << 5);

It is now used as:

  EINA_CXX_DOM_LOG_CRIT(efl::eina::global_domain) << "foo " << 5;

Which more closely resambles using IOStreams in C++.

@feature

Reviewers: cedric, barbieri, smohanty

Reviewed By: barbieri

CC: cedric

Differential Revision: https://phab.enlightenment.org/D623
2014-04-09 19:12:46 +09:00
Felipe Magno de Almeida 6436618c92 eet-cxx: Renamed a few local variables and avoided other warnings
Summary: Renamed a few local variables to avoid excessive warnings with -Wshadow warning. Also made construction of a few objects pass all arguments for explicit initialization to avoid other harmless warning.

Reviewers: cedric, tasn, smohanty, raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D698
2014-04-09 19:11:46 +09:00
Chris Michael 99962a5893 ecore-evas-wl: Reduce useless compositor redraws during render update
and update input & opaque regions after resizing.

@bugfix: We do not need to call ecore_wl_window_damage & commit here.
The damages are already handled in the evas engine for both shm & egl.
Those damages are sent to the compositor Already from the evas engine,
so we don't need to send the same damages twice. This reduces more
useless compositor redraws as we are not constantly sending damages &
calling commit twice for every frame.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:41 +01:00
Chris Michael f0e90d25e3 ecore-wl: Optimize setting of window input region
@bugfix: Store the input region into the window structure, and don't
re-add a duplicate input region (done by comparison of saved region).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00
Chris Michael dba35d942d ecore-wl: Store window input region into structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00
Chris Michael da59ad61f2 ecore-wl: Optimize opaque region setting for surface and reduce
unnecessary calls to surface commit.

@bugfix: We don't need to call surface_commit if we are just setting
the opaque (or input) region(s). This reduces some overhead on the
compositor side (and thus reduces useless redraws). Also, optimize
opaque_region_set to not Reset to the same region; we do this by
storing the opaque region into the window structure, and on calls to
opaque_region_set we can compare those values and not re-apply the
same opaque region.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00