diff --git a/INSTALL b/INSTALL
index e9eb8bb..c5c6a25 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,59 +1,59 @@
-
-1. REQUIREMENTS:
-
-1. Python 2.7 or higher (http://www.python.org/)
- - Tested with Python 2.7 / 3.2
-2. Cython 0.17.3 or higher (http://cython.org/)
- - Tested with Cython 0.17.3
-3. EFL core library
- - eo, evas, ecore, edje, elementary and, optionally, emotion
-4. pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config)
- - Windows executable (and GLib dependency) can be downloaded from
- http://www.gtk.org/download/win32.php
-
-
-
-2. BUILDING EFL
-
- Once EFL is built and installed in your desired destination, proceed with
- building the wrapper.
-
-
-
-2a. BUILDING WITH GCC/G++ (Linux, OS X, etc.)
-
- python setup.py build_ext
-
-2b. BUILDING WITH Visual Studio (Windows)
-
- python setup.py build_ext
-
-2c. BUILDING WITH MINGW (Windows)
-
- python setup.py build_ext -c mingw32
-
-
-
-4. INSTALLATION
-
-4a. For system-wide installation (needs administrator privileges):
-
- python setup.py install
-
-4b. For user installation:
-
- python setup.py install --user
-
-4c. To install for python3:
-
- python3 setup.py install (also cython need to be installed with py3)
-
-
-
-5. DEMOS and TESTS
-
- You can run individual tests or use the 00_run_all_tests.py in each folder or
- even in the tests/ base dir to run all the tests at once.
-
- The tests in elementary are not unittest and are meant to be run by the user
- as they usually require some sort of interaction.
+
+1. REQUIREMENTS:
+
+1. Python 2.7 or higher (http://www.python.org/)
+ - Tested with Python 2.7 / 3.2
+2. Cython 0.17.3 or higher (http://cython.org/)
+ - Tested with Cython 0.17.3
+3. EFL core library
+ - eo, evas, ecore, edje, elementary and, optionally, emotion
+4. pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config)
+ - Windows executable (and GLib dependency) can be downloaded from
+ http://www.gtk.org/download/win32.php
+
+
+
+2. BUILDING EFL
+
+ Once EFL is built and installed in your desired destination, proceed with
+ building the wrapper.
+
+
+
+2a. BUILDING WITH GCC/G++ (Linux, OS X, etc.)
+
+ python setup.py build_ext
+
+2b. BUILDING WITH Visual Studio (Windows)
+
+ python setup.py build_ext
+
+2c. BUILDING WITH MINGW (Windows)
+
+ python setup.py build_ext -c mingw32
+
+
+
+4. INSTALLATION
+
+4a. For system-wide installation (needs administrator privileges):
+
+ python setup.py install
+
+4b. For user installation:
+
+ python setup.py install --user
+
+4c. To install for python3:
+
+ python3 setup.py install (also cython need to be installed with py3)
+
+
+
+5. DEMOS and TESTS
+
+ You can run individual tests or use the 00_run_all_tests.py in each folder or
+ even in the tests/ base dir to run all the tests at once.
+
+ The tests in elementary are not unittest and are meant to be run by the user
+ as they usually require some sort of interaction.
diff --git a/TODO b/TODO
index 66a44a2..7b571df 100644
--- a/TODO
+++ b/TODO
@@ -1,58 +1,58 @@
-
-BUGS:
-
-* Evas: smart object doesn't work
-* test_map3.py is buggy
-* test_mapbuf.py line 14 should work
-* test_video.py have problems
-* test_naviframe is broken (also in the python-elementary version)
-* test_core_evas_canvas_callbacks.py have 2 lines commented out
-* test_emotion.py loop on shutdown (parent issue)
-
-* edje.color_class_list() is broken in C (disabled in edje/test_01_basics.py)
-* edje.text_class_list() is broken in C (disabled out in edje/test_01_basics.py)
-
-
-TODO:
-
-* Fix all the compilation warnings!
-* ecore.Poller
-* ecore.FileMonitor
-* alert on signal and subprocess module usage (was in python-ecore/ecore/__init__.py)
-* Ecore test_08_exe.py : Use unittests
-* evas.SmartObject
-* edje.Edit
-* edje: complete the unit tests
-* elm.Web need a test
-* elm.GestureLayer need a test
-* elm.PhotoCam need a test
-* elm.Transit need a test
-* elm.Conformant need a test
-* include python-ethumb
-* include python-e_dbus (or make edbus2 ??)
-
-
-TODO FOR PYTHON 3:
-
-* ecore.Exe (use new buffer interface)
-* ecore.FdHandler (use new buffer interface)
-* edje external
-
-
-STUFF LEAVED OUT:
-
-* EcoreEvas
-* EcoreImf
-* EcoreX
-* EcoreWin32
-* python-evas/evas/utils.py
-* python-evas/evas/decorators.py
-* python-evas/evas/debug.py
-* python-evas old hack to rotate objects
-* edje decorators callbacks
-
-
-CHANGES FROM 1.7 to 1.8:
-
-* added efl container package
-* ecore.file.Download => efl.ecore.FileDownload
+
+BUGS:
+
+* Evas: smart object doesn't work
+* test_map3.py is buggy
+* test_mapbuf.py line 14 should work
+* test_video.py have problems
+* test_naviframe is broken (also in the python-elementary version)
+* test_core_evas_canvas_callbacks.py have 2 lines commented out
+* test_emotion.py loop on shutdown (parent issue)
+
+* edje.color_class_list() is broken in C (disabled in edje/test_01_basics.py)
+* edje.text_class_list() is broken in C (disabled out in edje/test_01_basics.py)
+
+
+TODO:
+
+* Fix all the compilation warnings!
+* ecore.Poller
+* ecore.FileMonitor
+* alert on signal and subprocess module usage (was in python-ecore/ecore/__init__.py)
+* Ecore test_08_exe.py : Use unittests
+* evas.SmartObject
+* edje.Edit
+* edje: complete the unit tests
+* elm.Web need a test
+* elm.GestureLayer need a test
+* elm.PhotoCam need a test
+* elm.Transit need a test
+* elm.Conformant need a test
+* include python-ethumb
+* include python-e_dbus (or make edbus2 ??)
+
+
+TODO FOR PYTHON 3:
+
+* ecore.Exe (use new buffer interface)
+* ecore.FdHandler (use new buffer interface)
+* edje external
+
+
+STUFF LEAVED OUT:
+
+* EcoreEvas
+* EcoreImf
+* EcoreX
+* EcoreWin32
+* python-evas/evas/utils.py
+* python-evas/evas/decorators.py
+* python-evas/evas/debug.py
+* python-evas old hack to rotate objects
+* edje decorators callbacks
+
+
+CHANGES FROM 1.7 to 1.8:
+
+* added efl container package
+* ecore.file.Download => efl.ecore.FileDownload
diff --git a/efl/ecore/efl.ecore.pyx b/efl/ecore/efl.ecore.pyx
index 3e75e77..7198f0b 100644
--- a/efl/ecore/efl.ecore.pyx
+++ b/efl/ecore/efl.ecore.pyx
@@ -1,139 +1,139 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-import traceback
-from efl.eo cimport Eo
-from efl.eo cimport _fruni, _cfruni
-from efl.eo cimport PY_REFCOUNT
-from cpython cimport Py_INCREF, Py_DECREF
-
-
-ECORE_CALLBACK_CANCEL = 0
-ECORE_CALLBACK_RENEW = 1
-
-# Ecore_Fd_Handler_Flags:
-ECORE_FD_READ = 1
-ECORE_FD_WRITE = 2
-ECORE_FD_ERROR = 4
-ECORE_FD_ALL = 7
-
-
-# Ecore_Exe_Flags:
-ECORE_EXE_PIPE_READ = 1
-ECORE_EXE_PIPE_WRITE = 2
-ECORE_EXE_PIPE_ERROR = 4
-ECORE_EXE_PIPE_READ_LINE_BUFFERED = 8
-ECORE_EXE_PIPE_ERROR_LINE_BUFFERED = 16
-ECORE_EXE_PIPE_AUTO = 32
-ECORE_EXE_RESPAWN = 64
-ECORE_EXE_USE_SH = 128
-ECORE_EXE_NOT_LEADER = 256
-ECORE_EXE_TERM_WITH_PARENT = 512
-
-ECORE_EXE_PRIORITY_INHERIT = 9999
-
-
-# Ecore_File_Progress_Return:
-ECORE_FILE_PROGRESS_CONTINUE = 0
-ECORE_FILE_PROGRESS_ABORT = 1
-
-
-cdef Eina_Bool _ecore_task_cb(void *data) with gil:
- cdef Eo obj = data
- cdef Eina_Bool ret
-
- try:
- ret = bool(obj._task_exec())
- except Exception, e:
- traceback.print_exc()
- ret = 0
-
- if not ret:
- obj.delete()
-
- return ret
-
-
-cdef int _ecore_events_registered = 0
-
-
-def init():
- global _ecore_events_registered
-
- r = ecore_init()
-
- if r > 0 and _ecore_events_registered == 0:
- _ecore_events_registered = 1
-
- global _event_type_mapping
- _event_type_mapping = {
- ECORE_EVENT_SIGNAL_USER: EventSignalUser,
- ECORE_EVENT_SIGNAL_HUP: EventSignalHup,
- ECORE_EVENT_SIGNAL_EXIT: EventSignalExit,
- ECORE_EVENT_SIGNAL_POWER: EventSignalPower,
- ECORE_EVENT_SIGNAL_REALTIME: EventSignalRealtime,
- ECORE_EXE_EVENT_ADD: EventExeAdd,
- ECORE_EXE_EVENT_DEL: EventExeDel,
- ECORE_EXE_EVENT_DATA: EventExeData,
- ECORE_EXE_EVENT_ERROR: EventExeData,
- }
-
- ecore_file_init()
- return r
-
-
-def shutdown():
- ecore_file_shutdown()
- return ecore_shutdown()
-
-
-def main_loop_quit():
- ecore_main_loop_quit()
-
-
-def main_loop_begin():
- with nogil:
- ecore_main_loop_begin()
-
-
-def main_loop_iterate():
- with nogil:
- ecore_main_loop_iterate()
-
-
-def main_loop_glib_integrate():
- if not ecore_main_loop_glib_integrate():
- raise SystemError("failed to integrate GLib main loop into ecore.")
-
-
-def time_get():
- return ecore_time_get()
-
-
-def loop_time_get():
- return ecore_loop_time_get()
-
-
-include "efl.ecore_animator.pxi"
-include "efl.ecore_timer.pxi"
-include "efl.ecore_idler.pxi"
-include "efl.ecore_fd_handler.pxi"
-include "efl.ecore_events.pxi"
-include "efl.ecore_exe.pxi"
-include "efl.ecore_file_download.pxi"
-
-init()
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+import traceback
+from efl.eo cimport Eo
+from efl.eo cimport _fruni, _cfruni
+from efl.eo cimport PY_REFCOUNT
+from cpython cimport Py_INCREF, Py_DECREF
+
+
+ECORE_CALLBACK_CANCEL = 0
+ECORE_CALLBACK_RENEW = 1
+
+# Ecore_Fd_Handler_Flags:
+ECORE_FD_READ = 1
+ECORE_FD_WRITE = 2
+ECORE_FD_ERROR = 4
+ECORE_FD_ALL = 7
+
+
+# Ecore_Exe_Flags:
+ECORE_EXE_PIPE_READ = 1
+ECORE_EXE_PIPE_WRITE = 2
+ECORE_EXE_PIPE_ERROR = 4
+ECORE_EXE_PIPE_READ_LINE_BUFFERED = 8
+ECORE_EXE_PIPE_ERROR_LINE_BUFFERED = 16
+ECORE_EXE_PIPE_AUTO = 32
+ECORE_EXE_RESPAWN = 64
+ECORE_EXE_USE_SH = 128
+ECORE_EXE_NOT_LEADER = 256
+ECORE_EXE_TERM_WITH_PARENT = 512
+
+ECORE_EXE_PRIORITY_INHERIT = 9999
+
+
+# Ecore_File_Progress_Return:
+ECORE_FILE_PROGRESS_CONTINUE = 0
+ECORE_FILE_PROGRESS_ABORT = 1
+
+
+cdef Eina_Bool _ecore_task_cb(void *data) with gil:
+ cdef Eo obj = data
+ cdef Eina_Bool ret
+
+ try:
+ ret = bool(obj._task_exec())
+ except Exception, e:
+ traceback.print_exc()
+ ret = 0
+
+ if not ret:
+ obj.delete()
+
+ return ret
+
+
+cdef int _ecore_events_registered = 0
+
+
+def init():
+ global _ecore_events_registered
+
+ r = ecore_init()
+
+ if r > 0 and _ecore_events_registered == 0:
+ _ecore_events_registered = 1
+
+ global _event_type_mapping
+ _event_type_mapping = {
+ ECORE_EVENT_SIGNAL_USER: EventSignalUser,
+ ECORE_EVENT_SIGNAL_HUP: EventSignalHup,
+ ECORE_EVENT_SIGNAL_EXIT: EventSignalExit,
+ ECORE_EVENT_SIGNAL_POWER: EventSignalPower,
+ ECORE_EVENT_SIGNAL_REALTIME: EventSignalRealtime,
+ ECORE_EXE_EVENT_ADD: EventExeAdd,
+ ECORE_EXE_EVENT_DEL: EventExeDel,
+ ECORE_EXE_EVENT_DATA: EventExeData,
+ ECORE_EXE_EVENT_ERROR: EventExeData,
+ }
+
+ ecore_file_init()
+ return r
+
+
+def shutdown():
+ ecore_file_shutdown()
+ return ecore_shutdown()
+
+
+def main_loop_quit():
+ ecore_main_loop_quit()
+
+
+def main_loop_begin():
+ with nogil:
+ ecore_main_loop_begin()
+
+
+def main_loop_iterate():
+ with nogil:
+ ecore_main_loop_iterate()
+
+
+def main_loop_glib_integrate():
+ if not ecore_main_loop_glib_integrate():
+ raise SystemError("failed to integrate GLib main loop into ecore.")
+
+
+def time_get():
+ return ecore_time_get()
+
+
+def loop_time_get():
+ return ecore_loop_time_get()
+
+
+include "efl.ecore_animator.pxi"
+include "efl.ecore_timer.pxi"
+include "efl.ecore_idler.pxi"
+include "efl.ecore_fd_handler.pxi"
+include "efl.ecore_events.pxi"
+include "efl.ecore_exe.pxi"
+include "efl.ecore_file_download.pxi"
+
+init()
diff --git a/efl/eo/efl.eo.pyx b/efl/eo/efl.eo.pyx
index d1a8303..95bd8de 100644
--- a/efl/eo/efl.eo.pyx
+++ b/efl/eo/efl.eo.pyx
@@ -1,279 +1,279 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-from cpython cimport PyObject, Py_INCREF, Py_DECREF
-from efl cimport Eina_Bool, const_Eina_List, eina_list_append
-from efl.c_eo cimport Eo as cEo
-from efl.c_eo cimport eo_init, eo_shutdown, eo_del, eo_unref, eo_wref_add, eo_add, Eo_Class
-from efl.c_eo cimport eo_do, eo_class_name_get, eo_class_get
-from efl.c_eo cimport eo_base_data_set, eo_base_data_get, eo_base_data_del
-from efl.c_eo cimport eo_event_callback_add, eo_event_callback_del, Eo_Event_Description
-from efl.c_eo cimport eo_parent_get
-from efl.c_eo cimport EO_EV_DEL
-
-
-######################################################################
-
-cdef int PY_REFCOUNT(object o):
- cdef PyObject *obj = o
- return obj.ob_refcnt
-
-
-cdef inline unicode _touni(char* s):
- return s.decode('UTF-8', 'strict') if s else None
-
-
-cdef inline unicode _ctouni(const_char_ptr s):
- return s.decode('UTF-8', 'strict') if s else None
-
-
-cdef inline char *_fruni(s):
- cdef char *c_string
- if s is None:
- return NULL
- if isinstance(s, unicode):
- string = s.encode('UTF-8')
- c_string = string
- elif isinstance(s, str):
- c_string = s
- else:
- raise TypeError("Expected str or unicode object, got %s" % (type(s).__name__))
- return c_string
-
-
-cdef inline const_char_ptr _cfruni(s):
- cdef const_char_ptr c_string
- if s is None:
- return NULL
- if isinstance(s, unicode):
- string = s.encode('UTF-8')
- c_string = string
- elif isinstance(s, str):
- c_string = s
- else:
- raise TypeError("Expected str or unicode object, got %s" % (type(s).__name__))
- return c_string
-
-
-cdef _strings_to_python(const_Eina_List *lst):
- cdef const_char_ptr s
- ret = []
- while lst:
- s = lst.data
- if s != NULL:
- ret.append(_ctouni(s))
- lst = lst.next
- return ret
-
-
-cdef Eina_List * _strings_from_python(strings):
- cdef Eina_List *lst = NULL
- for s in strings:
- lst = eina_list_append(lst, _cfruni(s))
- return lst
-
-
-cdef inline _object_list_to_python(const_Eina_List *lst):
- ret = []
- while lst:
- ret.append(object_from_instance(lst.data))
- lst = lst.next
- return ret
-
-
-######################################################################
-
-
-cdef object object_mapping
-"""Object mapping is a dictionary into which object type names can be
-registered. These can be used to find a bindings class for an object using
-the object_from_instance function."""
-object_mapping = dict()
-
-
-cdef _object_mapping_register(char *name, cls):
-# print("REGISTER: %s => %s" % (name, cls))
- if name in object_mapping:
- raise ValueError("object type name '%s' already registered." % name)
- object_mapping[name] = cls
-
-
-cdef _object_mapping_unregister(char *name):
- object_mapping.pop(name)
-
-
-cdef object object_from_instance(cEo *obj):
- """ Create a python object from a C Eo object pointer. """
- cdef void *data
- cdef Eo o
-
- if obj == NULL:
- return None
-
- eo_do(obj, eo_base_data_get("python-eo", &data))
- if data != NULL:
-# print("Found: %s" % Eo.__repr__(data))
- return data
-
- klass_name = eo_class_name_get(eo_class_get(obj))
- if klass_name == NULL:
- raise ValueError("Eo object %#x does not have a type!" % obj)
-# print("Klass name: %s" % klass_name)
-
- klass = object_mapping.get(klass_name, None)
- if klass == None:
- raise ValueError("Eo object %#x of type %s does not have a mapping!" %
- (obj, klass_name))
-
-# print "MAPPING OBJECT:", klass_name, "=>", klass
- o = klass.__new__(klass)
- o._set_obj(obj)
- return o
-#
-# TODO extended object mapping (for SmartObject, EdjeExternal, etc)
-#
-# t = evas_object_type_get(obj)
-# if t == NULL:
-# raise ValueError("Evas object %#x does not have a type!" %
-# obj)
-# ot = _ctouni(t)
-# c = Canvas_from_instance(evas_object_evas_get(obj))
-# cls = object_mapping.get(ot, None)
-# if cls is None:
-# cls_resolver = extended_object_mapping.get(ot, None)
-# if cls_resolver is None:
-# warnings.warn(
-# ("Evas_Object %#x of type %s has no direct or "
-# "extended mapping! Using generic wrapper.") %
-# (obj, ot))
-# cls = Object
-# else:
-# cls = cls_resolver(obj)
-# o = cls.__new__(cls)
-# o._set_evas(c)
-
-
-######################################################################
-
-
-EO_CALLBACK_STOP = 0
-EO_CALLBACK_CONTINUE = 1
-
-
-######################################################################
-
-
-cdef Eina_Bool _eo_event_del_cb(void *data, cEo *obj, Eo_Event_Description *desc, void *event_info) with gil:
- cdef Eo self = data
-
-# print("DEL CB: %s" % Eo.__repr__(self))
-
- eo_do(self.obj, eo_event_callback_del(EO_EV_DEL, _eo_event_del_cb, self))
- eo_do(self.obj, eo_base_data_del("python-eo"))
- self.obj = NULL
- Py_DECREF(self)
-
- return EO_CALLBACK_STOP
-
-
-cdef class Eo(object):
- """
- Base class used by all the Eo object in the bindings, its not meant to be
- used by users, but only by internal classes.
- """
-
- # c globals declared in eo.pxd (to make the class available to others)
-
- def __cinit__(self):
- self.obj = NULL
- self.data = dict()
-
- def __init__(self):
-# print("Eo __init__()")
- pass
-
- def __dealloc__(self):
-# print("Eo __dealloc__(): %s" % Eo.__repr__(self))
- pass
-
-
- def __str__(self):
- return ("Eo(class=%s, obj=%#x, parent=%#x, refcount=%d)") % \
- (self.__class__.__name__, self.obj,
- eo_parent_get(self.obj) if self.obj else 0,
- PY_REFCOUNT(self))
-
-
- def __repr__(self):
- return ("Eo(class=%s, obj=%#x, parent=%#x, refcount=%d)") % \
- (self.__class__.__name__, self.obj,
- eo_parent_get(self.obj) if self.obj else 0,
- PY_REFCOUNT(self))
-
-# cdef _add_obj(self, Eo_Class *klass, cEo *parent):
-# cdef cEo *obj
-# assert self.obj == NULL, "Object must be clean"
-# obj = eo_add(klass, parent)
-# self._set_obj(obj)
-# eo_unref(obj)
-
- cdef _set_obj(self, cEo *obj):
- assert self.obj == NULL, "Object must be clean"
- assert obj != NULL, "Cannot set a NULL object"
-
- self.obj = obj
- eo_do(self.obj, eo_base_data_set("python-eo", self, NULL))
- eo_do(self.obj, eo_event_callback_add(EO_EV_DEL, _eo_event_del_cb, self))
- Py_INCREF(self)
-
-# cdef _unset_obj(self): # __UNUSED__
-# if self.obj != NULL:
-# self.obj = NULL
-# Py_DECREF(self) ????????????????????'
- # TODO evas_object_data_del("python-eo") ??
-
-# def delete(self):
-# """
-# Delete object and free it's internal (wrapped) resources.
-#
-# @note: after this operation the object will be still alive in
-# Python, but it will be shallow and every operation
-# will have no effect (and may raise exceptions).
-# @raise ValueError: if object already deleted.
-# """
-# if self.obj == NULL:
-# raise ValueError("Object already deleted")
-# print("Eo delete: %s" % Eo.__repr__(self))
-# eo_del(self.obj)
-
- def is_deleted(self):
- """
- Check if the Eo object associated with this python object has been
- deleted, thus leaving the object as shallow.
- """
- return bool(self.obj == NULL)
-
-
-def init():
- return eo_init()
-
-
-def shutdown():
- return eo_shutdown()
-
-
-init()
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+from cpython cimport PyObject, Py_INCREF, Py_DECREF
+from efl cimport Eina_Bool, const_Eina_List, eina_list_append
+from efl.c_eo cimport Eo as cEo
+from efl.c_eo cimport eo_init, eo_shutdown, eo_del, eo_unref, eo_wref_add, eo_add, Eo_Class
+from efl.c_eo cimport eo_do, eo_class_name_get, eo_class_get
+from efl.c_eo cimport eo_base_data_set, eo_base_data_get, eo_base_data_del
+from efl.c_eo cimport eo_event_callback_add, eo_event_callback_del, Eo_Event_Description
+from efl.c_eo cimport eo_parent_get
+from efl.c_eo cimport EO_EV_DEL
+
+
+######################################################################
+
+cdef int PY_REFCOUNT(object o):
+ cdef PyObject *obj = o
+ return obj.ob_refcnt
+
+
+cdef inline unicode _touni(char* s):
+ return s.decode('UTF-8', 'strict') if s else None
+
+
+cdef inline unicode _ctouni(const_char_ptr s):
+ return s.decode('UTF-8', 'strict') if s else None
+
+
+cdef inline char *_fruni(s):
+ cdef char *c_string
+ if s is None:
+ return NULL
+ if isinstance(s, unicode):
+ string = s.encode('UTF-8')
+ c_string = string
+ elif isinstance(s, str):
+ c_string = s
+ else:
+ raise TypeError("Expected str or unicode object, got %s" % (type(s).__name__))
+ return c_string
+
+
+cdef inline const_char_ptr _cfruni(s):
+ cdef const_char_ptr c_string
+ if s is None:
+ return NULL
+ if isinstance(s, unicode):
+ string = s.encode('UTF-8')
+ c_string = string
+ elif isinstance(s, str):
+ c_string = s
+ else:
+ raise TypeError("Expected str or unicode object, got %s" % (type(s).__name__))
+ return c_string
+
+
+cdef _strings_to_python(const_Eina_List *lst):
+ cdef const_char_ptr s
+ ret = []
+ while lst:
+ s = lst.data
+ if s != NULL:
+ ret.append(_ctouni(s))
+ lst = lst.next
+ return ret
+
+
+cdef Eina_List * _strings_from_python(strings):
+ cdef Eina_List *lst = NULL
+ for s in strings:
+ lst = eina_list_append(lst, _cfruni(s))
+ return lst
+
+
+cdef inline _object_list_to_python(const_Eina_List *lst):
+ ret = []
+ while lst:
+ ret.append(object_from_instance(lst.data))
+ lst = lst.next
+ return ret
+
+
+######################################################################
+
+
+cdef object object_mapping
+"""Object mapping is a dictionary into which object type names can be
+registered. These can be used to find a bindings class for an object using
+the object_from_instance function."""
+object_mapping = dict()
+
+
+cdef _object_mapping_register(char *name, cls):
+# print("REGISTER: %s => %s" % (name, cls))
+ if name in object_mapping:
+ raise ValueError("object type name '%s' already registered." % name)
+ object_mapping[name] = cls
+
+
+cdef _object_mapping_unregister(char *name):
+ object_mapping.pop(name)
+
+
+cdef object object_from_instance(cEo *obj):
+ """ Create a python object from a C Eo object pointer. """
+ cdef void *data
+ cdef Eo o
+
+ if obj == NULL:
+ return None
+
+ eo_do(obj, eo_base_data_get("python-eo", &data))
+ if data != NULL:
+# print("Found: %s" % Eo.__repr__(data))
+ return data
+
+ klass_name = eo_class_name_get(eo_class_get(obj))
+ if klass_name == NULL:
+ raise ValueError("Eo object %#x does not have a type!" % obj)
+# print("Klass name: %s" % klass_name)
+
+ klass = object_mapping.get(klass_name, None)
+ if klass == None:
+ raise ValueError("Eo object %#x of type %s does not have a mapping!" %
+ (obj, klass_name))
+
+# print "MAPPING OBJECT:", klass_name, "=>", klass
+ o = klass.__new__(klass)
+ o._set_obj(obj)
+ return o
+#
+# TODO extended object mapping (for SmartObject, EdjeExternal, etc)
+#
+# t = evas_object_type_get(obj)
+# if t == NULL:
+# raise ValueError("Evas object %#x does not have a type!" %
+# obj)
+# ot = _ctouni(t)
+# c = Canvas_from_instance(evas_object_evas_get(obj))
+# cls = object_mapping.get(ot, None)
+# if cls is None:
+# cls_resolver = extended_object_mapping.get(ot, None)
+# if cls_resolver is None:
+# warnings.warn(
+# ("Evas_Object %#x of type %s has no direct or "
+# "extended mapping! Using generic wrapper.") %
+# (obj, ot))
+# cls = Object
+# else:
+# cls = cls_resolver(obj)
+# o = cls.__new__(cls)
+# o._set_evas(c)
+
+
+######################################################################
+
+
+EO_CALLBACK_STOP = 0
+EO_CALLBACK_CONTINUE = 1
+
+
+######################################################################
+
+
+cdef Eina_Bool _eo_event_del_cb(void *data, cEo *obj, Eo_Event_Description *desc, void *event_info) with gil:
+ cdef Eo self = data
+
+# print("DEL CB: %s" % Eo.__repr__(self))
+
+ eo_do(self.obj, eo_event_callback_del(EO_EV_DEL, _eo_event_del_cb, self))
+ eo_do(self.obj, eo_base_data_del("python-eo"))
+ self.obj = NULL
+ Py_DECREF(self)
+
+ return EO_CALLBACK_STOP
+
+
+cdef class Eo(object):
+ """
+ Base class used by all the Eo object in the bindings, its not meant to be
+ used by users, but only by internal classes.
+ """
+
+ # c globals declared in eo.pxd (to make the class available to others)
+
+ def __cinit__(self):
+ self.obj = NULL
+ self.data = dict()
+
+ def __init__(self):
+# print("Eo __init__()")
+ pass
+
+ def __dealloc__(self):
+# print("Eo __dealloc__(): %s" % Eo.__repr__(self))
+ pass
+
+
+ def __str__(self):
+ return ("Eo(class=%s, obj=%#x, parent=%#x, refcount=%d)") % \
+ (self.__class__.__name__, self.obj,
+ eo_parent_get(self.obj) if self.obj else 0,
+ PY_REFCOUNT(self))
+
+
+ def __repr__(self):
+ return ("Eo(class=%s, obj=%#x, parent=%#x, refcount=%d)") % \
+ (self.__class__.__name__, self.obj,
+ eo_parent_get(self.obj) if self.obj else 0,
+ PY_REFCOUNT(self))
+
+# cdef _add_obj(self, Eo_Class *klass, cEo *parent):
+# cdef cEo *obj
+# assert self.obj == NULL, "Object must be clean"
+# obj = eo_add(klass, parent)
+# self._set_obj(obj)
+# eo_unref(obj)
+
+ cdef _set_obj(self, cEo *obj):
+ assert self.obj == NULL, "Object must be clean"
+ assert obj != NULL, "Cannot set a NULL object"
+
+ self.obj = obj
+ eo_do(self.obj, eo_base_data_set("python-eo", self, NULL))
+ eo_do(self.obj, eo_event_callback_add(EO_EV_DEL, _eo_event_del_cb, self))
+ Py_INCREF(self)
+
+# cdef _unset_obj(self): # __UNUSED__
+# if self.obj != NULL:
+# self.obj = NULL
+# Py_DECREF(self) ????????????????????'
+ # TODO evas_object_data_del("python-eo") ??
+
+# def delete(self):
+# """
+# Delete object and free it's internal (wrapped) resources.
+#
+# @note: after this operation the object will be still alive in
+# Python, but it will be shallow and every operation
+# will have no effect (and may raise exceptions).
+# @raise ValueError: if object already deleted.
+# """
+# if self.obj == NULL:
+# raise ValueError("Object already deleted")
+# print("Eo delete: %s" % Eo.__repr__(self))
+# eo_del(self.obj)
+
+ def is_deleted(self):
+ """
+ Check if the Eo object associated with this python object has been
+ deleted, thus leaving the object as shallow.
+ """
+ return bool(self.obj == NULL)
+
+
+def init():
+ return eo_init()
+
+
+def shutdown():
+ return eo_shutdown()
+
+
+init()
diff --git a/efl/evas/efl.evas.pyx b/efl/evas/efl.evas.pyx
index 0af1dc8..30b1688 100644
--- a/efl/evas/efl.evas.pyx
+++ b/efl/evas/efl.evas.pyx
@@ -1,304 +1,304 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-import traceback
-from cpython cimport bool
-from efl cimport *
-from efl.eo cimport Eo, object_from_instance, _object_mapping_register
-from efl.eo cimport _ctouni, _cfruni, _touni, _fruni
-
-
-EVAS_LAYER_MIN = -32768
-EVAS_LAYER_MAX = 32767
-
-EVAS_HINT_EXPAND = 1.0
-EVAS_HINT_FILL = -1.0
-
-EVAS_CALLBACK_MOUSE_IN = 0
-EVAS_CALLBACK_MOUSE_OUT = 1
-EVAS_CALLBACK_MOUSE_DOWN = 2
-EVAS_CALLBACK_MOUSE_UP = 3
-EVAS_CALLBACK_MOUSE_MOVE = 4
-EVAS_CALLBACK_MOUSE_WHEEL = 5
-EVAS_CALLBACK_MULTI_DOWN = 6
-EVAS_CALLBACK_MULTI_UP = 7
-EVAS_CALLBACK_MULTI_MOVE = 8
-EVAS_CALLBACK_FREE = 9
-EVAS_CALLBACK_KEY_DOWN = 10
-EVAS_CALLBACK_KEY_UP = 11
-EVAS_CALLBACK_FOCUS_IN = 12
-EVAS_CALLBACK_FOCUS_OUT = 13
-EVAS_CALLBACK_SHOW = 14
-EVAS_CALLBACK_HIDE = 15
-EVAS_CALLBACK_MOVE = 16
-EVAS_CALLBACK_RESIZE = 17
-EVAS_CALLBACK_RESTACK = 18
-EVAS_CALLBACK_DEL = 19
-EVAS_CALLBACK_HOLD = 20
-EVAS_CALLBACK_CHANGED_SIZE_HINTS = 21
-EVAS_CALLBACK_IMAGE_PRELOADED = 22
-EVAS_CALLBACK_CANVAS_FOCUS_IN = 23
-EVAS_CALLBACK_CANVAS_FOCUS_OUT = 24
-EVAS_CALLBACK_RENDER_FLUSH_PRE = 25
-EVAS_CALLBACK_RENDER_FLUSH_POST = 26
-EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN = 27
-EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT = 28
-EVAS_CALLBACK_IMAGE_UNLOADED = 29
-EVAS_CALLBACK_RENDER_PRE = 30
-EVAS_CALLBACK_RENDER_POST = 31
-EVAS_CALLBACK_IMAGE_RESIZE = 32
-EVAS_CALLBACK_DEVICE_CHANGED = 33
-EVAS_CALLBACK_LAST = 34
-
-EVAS_BUTTON_NONE = 0
-EVAS_BUTTON_DOUBLE_CLICK = 1
-EVAS_BUTTON_TRIPLE_CLICK = 2
-
-EVAS_EVENT_FLAG_NONE = 0
-EVAS_EVENT_FLAG_ON_HOLD = 1 << 0
-
-EVAS_RENDER_BLEND = 0
-EVAS_RENDER_BLEND_REL = 1
-EVAS_RENDER_COPY = 2
-EVAS_RENDER_COPY_REL = 3
-EVAS_RENDER_ADD = 4
-EVAS_RENDER_ADD_REL = 5
-EVAS_RENDER_SUB = 6
-EVAS_RENDER_SUB_REL = 7
-EVAS_RENDER_TINT = 8
-EVAS_RENDER_TINT_REL = 9
-EVAS_RENDER_MASK = 10
-EVAS_RENDER_MUL = 11
-
-EVAS_TEXTURE_REFLECT = 0
-EVAS_TEXTURE_REPEAT = 1
-EVAS_TEXTURE_RESTRICT = 2
-EVAS_TEXTURE_RESTRICT_REFLECT = 3
-EVAS_TEXTURE_RESTRICT_REPEAT = 4
-EVAS_TEXTURE_PAD = 5
-
-EVAS_ALLOC_ERROR_NONE = 0
-EVAS_ALLOC_ERROR_FATAL = 1
-EVAS_ALLOC_ERROR_RECOVERED = 2
-
-EVAS_LOAD_ERROR_NONE = 0
-EVAS_LOAD_ERROR_GENERIC = 1
-EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2
-EVAS_LOAD_ERROR_PERMISSION_DENIED = 3
-EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4
-EVAS_LOAD_ERROR_CORRUPT_FILE = 5
-EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6
-
-EVAS_COLOR_SPACE_ARGB = 0
-EVAS_COLOR_SPACE_AHSV = 1
-
-EVAS_COLORSPACE_ARGB8888 = 0
-EVAS_COLORSPACE_YCBCR422P601_PL = 1
-EVAS_COLORSPACE_YCBCR422P709_PL = 2
-EVAS_COLORSPACE_RGB565_A5P = 3
-
-EVAS_PIXEL_FORMAT_NONE = 0
-EVAS_PIXEL_FORMAT_ARGB32 = 1
-EVAS_PIXEL_FORMAT_YUV420P_601 = 2
-
-EVAS_FONT_HINTING_NONE = 0
-EVAS_FONT_HINTING_AUTO = 1
-EVAS_FONT_HINTING_BYTECODE = 2
-
-EVAS_TEXT_STYLE_PLAIN = 0
-EVAS_TEXT_STYLE_SHADOW = 1
-EVAS_TEXT_STYLE_OUTLINE = 2
-EVAS_TEXT_STYLE_SOFT_OUTLINE = 3
-EVAS_TEXT_STYLE_GLOW = 4
-EVAS_TEXT_STYLE_OUTLINE_SHADOW = 5
-EVAS_TEXT_STYLE_FAR_SHADOW = 6
-EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW = 7
-EVAS_TEXT_STYLE_SOFT_SHADOW = 8
-EVAS_TEXT_STYLE_FAR_SOFT_SHADOW = 9
-
-EVAS_TEXT_INVALID = -1
-EVAS_TEXT_SPECIAL = -2
-
-EVAS_TEXTBLOCK_TEXT_RAW = 0
-EVAS_TEXTBLOCK_TEXT_PLAIN = 1
-
-EVAS_OBJECT_POINTER_MODE_AUTOGRAB = 0
-EVAS_OBJECT_POINTER_MODE_NOGRAB = 1
-
-EVAS_IMAGE_ROTATE_NONE = 0
-EVAS_IMAGE_ROTATE_90 = 1
-EVAS_IMAGE_ROTATE_180 = 2
-EVAS_IMAGE_ROTATE_270 = 3
-
-EVAS_ASPECT_CONTROL_NONE = 0
-EVAS_ASPECT_CONTROL_NEITHER = 1
-EVAS_ASPECT_CONTROL_HORIZONTAL = 2
-EVAS_ASPECT_CONTROL_VERTICAL = 3
-EVAS_ASPECT_CONTROL_BOTH = 4
-
-
-def init():
- # when changing these, also change __init__.py!
-# if evas_object_event_callbacks_len != EVAS_CALLBACK_LAST:
-# raise SystemError("Number of object callbacks changed from %d to %d." %
-# (evas_object_event_callbacks_len, EVAS_CALLBACK_LAST))
-# if evas_canvas_event_callbacks_len != EVAS_CALLBACK_LAST:
-# raise SystemError("Number of canvas callbacks changed from %d to %d." %
-# (evas_canvas_event_callbacks_len, EVAS_CALLBACK_LAST))
- return evas_init()
-
-
-def shutdown():
- return evas_shutdown()
-
-
-def render_method_lookup(name):
- return evas_render_method_lookup(_cfruni(name))
-
-
-def render_method_list():
- cdef Eina_List *lst
-
- ret = []
- lst = evas_render_method_list()
- while lst != NULL:
- ret.append( lst.data)
- lst = lst.next
-
- evas_render_method_list_free(lst)
- return ret
-
-
-def color_parse(desc, is_premul=None):
- cdef unsigned long c, desc_len
- cdef int r, g, b, a
-
- r = 0
- g = 0
- b = 0
- a = 0
-
- if isinstance(desc, str):
- if not desc or desc[0] != "#":
- raise ValueError("Invalid color description")
- desc_len = len(desc)
- c = int(desc[1:], 16)
- r = (c >> 16) & 0xff
- g = (c >> 8) & 0xff
- b = c & 0xff
-
- if is_premul is None:
- is_premul = False
-
- if desc_len == 9:
- a = (c >> 24) & 0xff
- elif desc_len == 7:
- a = 255
- else:
- raise ValueError("Invalid color description")
-
- elif isinstance(desc, (int, long)):
- c = desc
- a = (c >> 24) & 0xff
- r = (c >> 16) & 0xff
- g = (c >> 8) & 0xff
- b = c & 0xff
-
- if is_premul is None:
- is_premul = False
-
- elif isinstance(desc, (list, tuple)):
- if is_premul is None:
- is_premul = True
-
- if len(desc) == 3:
- a = 255
- r, g, b = desc
- else:
- r, g, b, a = desc
- else:
- raise TypeError("Unsupported type %s for color description." %
- type(desc))
-
- if is_premul is False:
- evas_color_argb_premul(a, &r, &g, &b)
-
- return (r, g, b, a)
-
-
-def color_argb_premul(int r, int g, int b, int a):
- evas_color_argb_premul(a, &r, &g, &b)
- return (r, g, b, a)
-
-
-def color_argb_unpremul(int r, int g, int b, int a):
- evas_color_argb_unpremul(a, &r, &g, &b)
- return (r, g, b, a)
-
-
-def color_hsv_to_rgb(float h, float s, float v):
- cdef int r, g, b
- evas_color_hsv_to_rgb(h, s, v, &r, &g, &b)
- return (r, g, b)
-
-
-def color_rgb_to_hsv(int r, int g, int b):
- cdef float h, s, v
- evas_color_rgb_to_hsv(r, g, b, &h, &s, &v)
- return (h, s, v)
-
-
-class EvasLoadError(Exception):
- def __init__(self, int code, filename, key):
- if code == EVAS_LOAD_ERROR_NONE:
- msg = "No error on load"
- elif code == EVAS_LOAD_ERROR_GENERIC:
- msg = "A non-specific error occurred"
- elif code == EVAS_LOAD_ERROR_DOES_NOT_EXIST:
- msg = "File (or file path) does not exist"
- elif code == EVAS_LOAD_ERROR_PERMISSION_DENIED:
- msg = "Permission deinied to an existing file (or path)"
- elif code == EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED:
- msg = "Allocation of resources failure prevented load"
- elif code == EVAS_LOAD_ERROR_CORRUPT_FILE:
- msg = "File corrupt (but was detected as a known format)"
- elif code == EVAS_LOAD_ERROR_UNKNOWN_FORMAT:
- msg = "File is not a known format"
- self.code = code
- self.file = filename
- self.key = key
- Exception.__init__(self, "%s (file=%s, key=%s)" % (msg, filename, key))
-
-
-include "efl.evas_rect.pxi"
-include "efl.evas_map.pxi"
-include "efl.evas_canvas_callbacks.pxi"
-include "efl.evas_canvas.pxi"
-include "efl.evas_object_events.pxi"
-include "efl.evas_object_callbacks.pxi"
-include "efl.evas_object.pxi"
-include "efl.evas_object_smart.pxi"
-include "efl.evas_object_image.pxi"
-include "efl.evas_object_line.pxi"
-include "efl.evas_object_rectangle.pxi"
-include "efl.evas_object_polygon.pxi"
-include "efl.evas_object_text.pxi"
-include "efl.evas_object_textblock.pxi"
-include "efl.evas_object_box.pxi"
-
-
-init()
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+import traceback
+from cpython cimport bool
+from efl cimport *
+from efl.eo cimport Eo, object_from_instance, _object_mapping_register
+from efl.eo cimport _ctouni, _cfruni, _touni, _fruni
+
+
+EVAS_LAYER_MIN = -32768
+EVAS_LAYER_MAX = 32767
+
+EVAS_HINT_EXPAND = 1.0
+EVAS_HINT_FILL = -1.0
+
+EVAS_CALLBACK_MOUSE_IN = 0
+EVAS_CALLBACK_MOUSE_OUT = 1
+EVAS_CALLBACK_MOUSE_DOWN = 2
+EVAS_CALLBACK_MOUSE_UP = 3
+EVAS_CALLBACK_MOUSE_MOVE = 4
+EVAS_CALLBACK_MOUSE_WHEEL = 5
+EVAS_CALLBACK_MULTI_DOWN = 6
+EVAS_CALLBACK_MULTI_UP = 7
+EVAS_CALLBACK_MULTI_MOVE = 8
+EVAS_CALLBACK_FREE = 9
+EVAS_CALLBACK_KEY_DOWN = 10
+EVAS_CALLBACK_KEY_UP = 11
+EVAS_CALLBACK_FOCUS_IN = 12
+EVAS_CALLBACK_FOCUS_OUT = 13
+EVAS_CALLBACK_SHOW = 14
+EVAS_CALLBACK_HIDE = 15
+EVAS_CALLBACK_MOVE = 16
+EVAS_CALLBACK_RESIZE = 17
+EVAS_CALLBACK_RESTACK = 18
+EVAS_CALLBACK_DEL = 19
+EVAS_CALLBACK_HOLD = 20
+EVAS_CALLBACK_CHANGED_SIZE_HINTS = 21
+EVAS_CALLBACK_IMAGE_PRELOADED = 22
+EVAS_CALLBACK_CANVAS_FOCUS_IN = 23
+EVAS_CALLBACK_CANVAS_FOCUS_OUT = 24
+EVAS_CALLBACK_RENDER_FLUSH_PRE = 25
+EVAS_CALLBACK_RENDER_FLUSH_POST = 26
+EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN = 27
+EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT = 28
+EVAS_CALLBACK_IMAGE_UNLOADED = 29
+EVAS_CALLBACK_RENDER_PRE = 30
+EVAS_CALLBACK_RENDER_POST = 31
+EVAS_CALLBACK_IMAGE_RESIZE = 32
+EVAS_CALLBACK_DEVICE_CHANGED = 33
+EVAS_CALLBACK_LAST = 34
+
+EVAS_BUTTON_NONE = 0
+EVAS_BUTTON_DOUBLE_CLICK = 1
+EVAS_BUTTON_TRIPLE_CLICK = 2
+
+EVAS_EVENT_FLAG_NONE = 0
+EVAS_EVENT_FLAG_ON_HOLD = 1 << 0
+
+EVAS_RENDER_BLEND = 0
+EVAS_RENDER_BLEND_REL = 1
+EVAS_RENDER_COPY = 2
+EVAS_RENDER_COPY_REL = 3
+EVAS_RENDER_ADD = 4
+EVAS_RENDER_ADD_REL = 5
+EVAS_RENDER_SUB = 6
+EVAS_RENDER_SUB_REL = 7
+EVAS_RENDER_TINT = 8
+EVAS_RENDER_TINT_REL = 9
+EVAS_RENDER_MASK = 10
+EVAS_RENDER_MUL = 11
+
+EVAS_TEXTURE_REFLECT = 0
+EVAS_TEXTURE_REPEAT = 1
+EVAS_TEXTURE_RESTRICT = 2
+EVAS_TEXTURE_RESTRICT_REFLECT = 3
+EVAS_TEXTURE_RESTRICT_REPEAT = 4
+EVAS_TEXTURE_PAD = 5
+
+EVAS_ALLOC_ERROR_NONE = 0
+EVAS_ALLOC_ERROR_FATAL = 1
+EVAS_ALLOC_ERROR_RECOVERED = 2
+
+EVAS_LOAD_ERROR_NONE = 0
+EVAS_LOAD_ERROR_GENERIC = 1
+EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2
+EVAS_LOAD_ERROR_PERMISSION_DENIED = 3
+EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4
+EVAS_LOAD_ERROR_CORRUPT_FILE = 5
+EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6
+
+EVAS_COLOR_SPACE_ARGB = 0
+EVAS_COLOR_SPACE_AHSV = 1
+
+EVAS_COLORSPACE_ARGB8888 = 0
+EVAS_COLORSPACE_YCBCR422P601_PL = 1
+EVAS_COLORSPACE_YCBCR422P709_PL = 2
+EVAS_COLORSPACE_RGB565_A5P = 3
+
+EVAS_PIXEL_FORMAT_NONE = 0
+EVAS_PIXEL_FORMAT_ARGB32 = 1
+EVAS_PIXEL_FORMAT_YUV420P_601 = 2
+
+EVAS_FONT_HINTING_NONE = 0
+EVAS_FONT_HINTING_AUTO = 1
+EVAS_FONT_HINTING_BYTECODE = 2
+
+EVAS_TEXT_STYLE_PLAIN = 0
+EVAS_TEXT_STYLE_SHADOW = 1
+EVAS_TEXT_STYLE_OUTLINE = 2
+EVAS_TEXT_STYLE_SOFT_OUTLINE = 3
+EVAS_TEXT_STYLE_GLOW = 4
+EVAS_TEXT_STYLE_OUTLINE_SHADOW = 5
+EVAS_TEXT_STYLE_FAR_SHADOW = 6
+EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW = 7
+EVAS_TEXT_STYLE_SOFT_SHADOW = 8
+EVAS_TEXT_STYLE_FAR_SOFT_SHADOW = 9
+
+EVAS_TEXT_INVALID = -1
+EVAS_TEXT_SPECIAL = -2
+
+EVAS_TEXTBLOCK_TEXT_RAW = 0
+EVAS_TEXTBLOCK_TEXT_PLAIN = 1
+
+EVAS_OBJECT_POINTER_MODE_AUTOGRAB = 0
+EVAS_OBJECT_POINTER_MODE_NOGRAB = 1
+
+EVAS_IMAGE_ROTATE_NONE = 0
+EVAS_IMAGE_ROTATE_90 = 1
+EVAS_IMAGE_ROTATE_180 = 2
+EVAS_IMAGE_ROTATE_270 = 3
+
+EVAS_ASPECT_CONTROL_NONE = 0
+EVAS_ASPECT_CONTROL_NEITHER = 1
+EVAS_ASPECT_CONTROL_HORIZONTAL = 2
+EVAS_ASPECT_CONTROL_VERTICAL = 3
+EVAS_ASPECT_CONTROL_BOTH = 4
+
+
+def init():
+ # when changing these, also change __init__.py!
+# if evas_object_event_callbacks_len != EVAS_CALLBACK_LAST:
+# raise SystemError("Number of object callbacks changed from %d to %d." %
+# (evas_object_event_callbacks_len, EVAS_CALLBACK_LAST))
+# if evas_canvas_event_callbacks_len != EVAS_CALLBACK_LAST:
+# raise SystemError("Number of canvas callbacks changed from %d to %d." %
+# (evas_canvas_event_callbacks_len, EVAS_CALLBACK_LAST))
+ return evas_init()
+
+
+def shutdown():
+ return evas_shutdown()
+
+
+def render_method_lookup(name):
+ return evas_render_method_lookup(_cfruni(name))
+
+
+def render_method_list():
+ cdef Eina_List *lst
+
+ ret = []
+ lst = evas_render_method_list()
+ while lst != NULL:
+ ret.append( lst.data)
+ lst = lst.next
+
+ evas_render_method_list_free(lst)
+ return ret
+
+
+def color_parse(desc, is_premul=None):
+ cdef unsigned long c, desc_len
+ cdef int r, g, b, a
+
+ r = 0
+ g = 0
+ b = 0
+ a = 0
+
+ if isinstance(desc, str):
+ if not desc or desc[0] != "#":
+ raise ValueError("Invalid color description")
+ desc_len = len(desc)
+ c = int(desc[1:], 16)
+ r = (c >> 16) & 0xff
+ g = (c >> 8) & 0xff
+ b = c & 0xff
+
+ if is_premul is None:
+ is_premul = False
+
+ if desc_len == 9:
+ a = (c >> 24) & 0xff
+ elif desc_len == 7:
+ a = 255
+ else:
+ raise ValueError("Invalid color description")
+
+ elif isinstance(desc, (int, long)):
+ c = desc
+ a = (c >> 24) & 0xff
+ r = (c >> 16) & 0xff
+ g = (c >> 8) & 0xff
+ b = c & 0xff
+
+ if is_premul is None:
+ is_premul = False
+
+ elif isinstance(desc, (list, tuple)):
+ if is_premul is None:
+ is_premul = True
+
+ if len(desc) == 3:
+ a = 255
+ r, g, b = desc
+ else:
+ r, g, b, a = desc
+ else:
+ raise TypeError("Unsupported type %s for color description." %
+ type(desc))
+
+ if is_premul is False:
+ evas_color_argb_premul(a, &r, &g, &b)
+
+ return (r, g, b, a)
+
+
+def color_argb_premul(int r, int g, int b, int a):
+ evas_color_argb_premul(a, &r, &g, &b)
+ return (r, g, b, a)
+
+
+def color_argb_unpremul(int r, int g, int b, int a):
+ evas_color_argb_unpremul(a, &r, &g, &b)
+ return (r, g, b, a)
+
+
+def color_hsv_to_rgb(float h, float s, float v):
+ cdef int r, g, b
+ evas_color_hsv_to_rgb(h, s, v, &r, &g, &b)
+ return (r, g, b)
+
+
+def color_rgb_to_hsv(int r, int g, int b):
+ cdef float h, s, v
+ evas_color_rgb_to_hsv(r, g, b, &h, &s, &v)
+ return (h, s, v)
+
+
+class EvasLoadError(Exception):
+ def __init__(self, int code, filename, key):
+ if code == EVAS_LOAD_ERROR_NONE:
+ msg = "No error on load"
+ elif code == EVAS_LOAD_ERROR_GENERIC:
+ msg = "A non-specific error occurred"
+ elif code == EVAS_LOAD_ERROR_DOES_NOT_EXIST:
+ msg = "File (or file path) does not exist"
+ elif code == EVAS_LOAD_ERROR_PERMISSION_DENIED:
+ msg = "Permission deinied to an existing file (or path)"
+ elif code == EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED:
+ msg = "Allocation of resources failure prevented load"
+ elif code == EVAS_LOAD_ERROR_CORRUPT_FILE:
+ msg = "File corrupt (but was detected as a known format)"
+ elif code == EVAS_LOAD_ERROR_UNKNOWN_FORMAT:
+ msg = "File is not a known format"
+ self.code = code
+ self.file = filename
+ self.key = key
+ Exception.__init__(self, "%s (file=%s, key=%s)" % (msg, filename, key))
+
+
+include "efl.evas_rect.pxi"
+include "efl.evas_map.pxi"
+include "efl.evas_canvas_callbacks.pxi"
+include "efl.evas_canvas.pxi"
+include "efl.evas_object_events.pxi"
+include "efl.evas_object_callbacks.pxi"
+include "efl.evas_object.pxi"
+include "efl.evas_object_smart.pxi"
+include "efl.evas_object_image.pxi"
+include "efl.evas_object_line.pxi"
+include "efl.evas_object_rectangle.pxi"
+include "efl.evas_object_polygon.pxi"
+include "efl.evas_object_text.pxi"
+include "efl.evas_object_textblock.pxi"
+include "efl.evas_object_box.pxi"
+
+
+init()
diff --git a/include/efl.c_eo.pxd b/include/efl.c_eo.pxd
index a6c54eb..4ab29fb 100644
--- a/include/efl.c_eo.pxd
+++ b/include/efl.c_eo.pxd
@@ -1,85 +1,85 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-from efl cimport *
-
-cdef extern from "Eo.h":
- ####################################################################
- # Basic Types
- #
-
-
- ####################################################################
- # Enumerations
- #
-
-
- ####################################################################
- # Structures
- #
- ctypedef struct Eo
- ctypedef Eo const_Eo "const Eo"
-
- ctypedef struct Eo_Class
- ctypedef Eo_Class const_Eo_Class "const Eo_Class"
-
- ctypedef struct Eo_Event_Description:
- const_char_ptr name
- const_char_ptr doc
-
- ctypedef Eo_Event_Description const_Eo_Event_Description "const Eo_Event_Description"
-
- ####################################################################
- # Eo Events
- #
- cdef const_Eo_Event_Description *EO_EV_DEL
-
- ####################################################################
- # Other typedefs
- #
- ctypedef Eina_Bool (*Eo_Event_Cb)(void *data, Eo *obj, const_Eo_Event_Description *desc, void *event_info)
-
- ctypedef void (*eo_base_data_free_func)(void *)
-
-
- ####################################################################
- # Functions
- #
- int eo_init()
- int eo_shutdown()
-
- Eo *eo_add(const_Eo_Class *klass, Eo *parent, ...)
- Eo *eo_ref(const_Eo *obj)
- void eo_unref(const_Eo *obj)
- int eo_ref_get(const_Eo *obj)
- void eo_del(const_Eo *obj)
-
- void eo_wref_add(Eo *obj)
-
- Eina_Bool eo_do(Eo *obj, ...)
- void eo_base_data_set(const_char_ptr key, const_void *data, eo_base_data_free_func free_func)
- void eo_base_data_get(const_char_ptr key, void **data)
- void eo_base_data_del(const_char_ptr key)
-
- const_Eo_Class *eo_class_get(const_Eo *obj)
- const_char_ptr eo_class_name_get(const_Eo_Class *klass)
-
- Eo *eo_parent_get(const_Eo *obj)
-
- void eo_event_callback_add(const_Eo_Event_Description *desc, Eo_Event_Cb cb, const_void *data)
- void eo_event_callback_del(const_Eo_Event_Description *desc, Eo_Event_Cb cb, const_void *data)
-
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+from efl cimport *
+
+cdef extern from "Eo.h":
+ ####################################################################
+ # Basic Types
+ #
+
+
+ ####################################################################
+ # Enumerations
+ #
+
+
+ ####################################################################
+ # Structures
+ #
+ ctypedef struct Eo
+ ctypedef Eo const_Eo "const Eo"
+
+ ctypedef struct Eo_Class
+ ctypedef Eo_Class const_Eo_Class "const Eo_Class"
+
+ ctypedef struct Eo_Event_Description:
+ const_char_ptr name
+ const_char_ptr doc
+
+ ctypedef Eo_Event_Description const_Eo_Event_Description "const Eo_Event_Description"
+
+ ####################################################################
+ # Eo Events
+ #
+ cdef const_Eo_Event_Description *EO_EV_DEL
+
+ ####################################################################
+ # Other typedefs
+ #
+ ctypedef Eina_Bool (*Eo_Event_Cb)(void *data, Eo *obj, const_Eo_Event_Description *desc, void *event_info)
+
+ ctypedef void (*eo_base_data_free_func)(void *)
+
+
+ ####################################################################
+ # Functions
+ #
+ int eo_init()
+ int eo_shutdown()
+
+ Eo *eo_add(const_Eo_Class *klass, Eo *parent, ...)
+ Eo *eo_ref(const_Eo *obj)
+ void eo_unref(const_Eo *obj)
+ int eo_ref_get(const_Eo *obj)
+ void eo_del(const_Eo *obj)
+
+ void eo_wref_add(Eo *obj)
+
+ Eina_Bool eo_do(Eo *obj, ...)
+ void eo_base_data_set(const_char_ptr key, const_void *data, eo_base_data_free_func free_func)
+ void eo_base_data_get(const_char_ptr key, void **data)
+ void eo_base_data_del(const_char_ptr key)
+
+ const_Eo_Class *eo_class_get(const_Eo *obj)
+ const_char_ptr eo_class_name_get(const_Eo_Class *klass)
+
+ Eo *eo_parent_get(const_Eo *obj)
+
+ void eo_event_callback_add(const_Eo_Event_Description *desc, Eo_Event_Cb cb, const_void *data)
+ void eo_event_callback_del(const_Eo_Event_Description *desc, Eo_Event_Cb cb, const_void *data)
+
diff --git a/include/efl.ecore.pxd b/include/efl.ecore.pxd
index a37819b..91ebdeb 100644
--- a/include/efl.ecore.pxd
+++ b/include/efl.ecore.pxd
@@ -1,336 +1,336 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-from efl cimport *
-from efl.c_eo cimport Eo as cEo
-from efl.eo cimport Eo
-
-
-
-cdef extern from "Ecore.h":
- ####################################################################
- # Basic Types
- #
- ctypedef cEo Ecore_Timer
- ctypedef cEo Ecore_Animator
- ctypedef cEo Ecore_Idler
- ctypedef cEo Ecore_Idle_Enterer
- ctypedef cEo Ecore_Idle_Exiter
-
- ctypedef struct Ecore_Event_Handler
- ctypedef struct Ecore_Event
-
- ctypedef struct Ecore_Event_Signal_User:
- int number
-
- ctypedef struct Ecore_Event_Signal_Exit:
- unsigned int interrupt
- unsigned int quit
- unsigned int terminate
-
- ctypedef struct Ecore_Event_Signal_Realtime:
- int num
-
- ctypedef struct Ecore_Exe_Event_Add:
- Ecore_Exe *exe
- void *ext_data
-
- ctypedef struct Ecore_Exe_Event_Del:
- int pid
- int exit_code
- Ecore_Exe *exe
- int exit_signal
- unsigned int exited
- unsigned int signalled
- void *ext_data
-
- ctypedef struct Ecore_Exe_Event_Data:
- Ecore_Exe *exe
- void *data
- int size
- Ecore_Exe_Event_Data_Line *lines
-
- ctypedef struct Ecore_Exe_Event_Data_Line:
- char *line
- int size
-
- ctypedef struct Ecore_Fd_Handler
- ctypedef struct Ecore_Exe
- ctypedef Ecore_Exe const_Ecore_Exe "const Ecore_Exe"
-
- int ECORE_EVENT_SIGNAL_USER
- int ECORE_EVENT_SIGNAL_HUP
- int ECORE_EVENT_SIGNAL_EXIT
- int ECORE_EVENT_SIGNAL_POWER
- int ECORE_EVENT_SIGNAL_REALTIME
-
- int ECORE_EXE_EVENT_ADD
- int ECORE_EXE_EVENT_DEL
- int ECORE_EXE_EVENT_DATA
- int ECORE_EXE_EVENT_ERROR
-
-
- ####################################################################
- # Enumerations
- #
- ctypedef enum Ecore_Fd_Handler_Flags:
- pass
-
- ctypedef enum Ecore_Exe_Flags:
- pass
-
- ####################################################################
- # Other typedefs
- #
- ctypedef void (*Ecore_Cb)(void *data)
- ctypedef Eina_Bool (*Ecore_Task_Cb)(void *data)
- ctypedef Eina_Bool (*Ecore_Fd_Cb)(void *data, Ecore_Fd_Handler *fd_handler)
- ctypedef void (*Ecore_Fd_Prep_Cb)(void *data, Ecore_Fd_Handler *fd_handler)
- ctypedef Eina_Bool (*Ecore_Event_Handler_Cb)(void *data, int type, void *event)
- ctypedef void (*Ecore_End_Cb)(void *user_data, void *func_data)
- ctypedef void (*Ecore_Exe_Cb)(void *data, const_Ecore_Exe *exe)
-
- ####################################################################
- # Functions
- #
- int ecore_init()
- int ecore_shutdown()
-
- void ecore_main_loop_iterate() nogil
- void ecore_main_loop_begin() nogil
- void ecore_main_loop_quit()
-
- int ecore_main_loop_glib_integrate()
-
- double ecore_time_get()
- double ecore_loop_time_get()
-
- Ecore_Animator *ecore_animator_add(Ecore_Task_Cb func, void *data)
- void *ecore_animator_del(Ecore_Animator *animator)
- void ecore_animator_frametime_set(double frametime)
- double ecore_animator_frametime_get()
-
- Ecore_Timer *ecore_timer_add(double t, Ecore_Task_Cb func, void *data)
- void *ecore_timer_del(Ecore_Timer *timer)
- void ecore_timer_freeze(Ecore_Timer *timer)
- void ecore_timer_thaw(Ecore_Timer *timer)
- void ecore_timer_interval_set(Ecore_Timer *timer, double t)
- double ecore_timer_interval_get(Ecore_Timer *timer)
- void ecore_timer_delay(Ecore_Timer *timer, double add)
- void ecore_timer_reset(Ecore_Timer *timer)
- double ecore_timer_pending_get(Ecore_Timer *timer)
- double ecore_timer_precision_get()
- double ecore_timer_precision_set(double value)
-
- Ecore_Idler *ecore_idler_add(Ecore_Task_Cb func, void *data)
- void *ecore_idler_del(Ecore_Idler *idler)
- Ecore_Idler *ecore_idle_enterer_add(Ecore_Task_Cb func, void *data)
- void *ecore_idle_enterer_del(Ecore_Idler *idler)
- Ecore_Idler *ecore_idle_exiter_add(Ecore_Task_Cb func, void *data)
- void *ecore_idle_exiter_del(Ecore_Idler *idler)
-
- Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, Ecore_Fd_Cb func, void *data, Ecore_Fd_Cb buf_func, void *buf_data)
- void ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Prep_Cb func, void *data)
- void *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler)
- int ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler)
- int ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags)
- void ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags)
-
- Ecore_Event_Handler *ecore_event_handler_add(int type, Ecore_Event_Handler_Cb func, void *data)
- void *ecore_event_handler_del(Ecore_Event_Handler *event_handler)
- int ecore_event_type_new()
- Ecore_Event *ecore_event_add(int type, void *ev, Ecore_End_Cb func_free, void *data)
- void *ecore_event_del(Ecore_Event *ev)
-
- void ecore_exe_run_priority_set(int pri)
- int ecore_exe_run_priority_get()
- Ecore_Exe *ecore_exe_pipe_run(char *exe_cmd, Ecore_Exe_Flags flags, void *data)
- void ecore_exe_callback_pre_free_set(Ecore_Exe *exe, Ecore_Exe_Cb func)
- int ecore_exe_send(Ecore_Exe *exe, const_void *data, int size)
- void ecore_exe_close_stdin(Ecore_Exe *exe)
- void ecore_exe_auto_limits_set(Ecore_Exe *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)
- Ecore_Exe_Event_Data *ecore_exe_event_data_get(Ecore_Exe *exe, Ecore_Exe_Flags flags)
- void ecore_exe_event_data_free(Ecore_Exe_Event_Data *data)
- void *ecore_exe_free(Ecore_Exe *exe)
- int ecore_exe_pid_get(Ecore_Exe *exe)
- void ecore_exe_tag_set(Ecore_Exe *exe, char *tag)
- const_char_ptr ecore_exe_tag_get(Ecore_Exe *exe)
- const_char_ptr ecore_exe_cmd_get(Ecore_Exe *exe)
- void *ecore_exe_data_get(Ecore_Exe *exe)
- Ecore_Exe_Flags ecore_exe_flags_get(Ecore_Exe *exe)
- void ecore_exe_pause(Ecore_Exe *exe)
- void ecore_exe_continue(Ecore_Exe *exe)
- void ecore_exe_interrupt(Ecore_Exe *exe)
- void ecore_exe_quit(Ecore_Exe *exe)
- void ecore_exe_terminate(Ecore_Exe *exe)
- void ecore_exe_kill(Ecore_Exe *exe)
- void ecore_exe_signal(Ecore_Exe *exe, int num)
- void ecore_exe_hup(Ecore_Exe *exe)
-
-
-cdef extern from "Ecore_File.h":
-
- ctypedef struct Ecore_File_Download_Job
-
- ctypedef void (*Ecore_File_Download_Completion_Cb)(void *data, const_char_ptr file, int status)
- ctypedef int (*Ecore_File_Download_Progress_Cb)(void *data, const_char_ptr file, long int dltotal, long int dlnow, long int ultotal, long int ulnow)
-
- int ecore_file_init()
- int ecore_file_shutdown()
- void ecore_file_download_abort(Ecore_File_Download_Job *job)
- void ecore_file_download_abort_all()
- Eina_Bool ecore_file_download_protocol_available(const_char_ptr protocol)
- Eina_Bool ecore_file_download(const_char_ptr url, const_char_ptr dst,
- Ecore_File_Download_Completion_Cb completion_cb,
- Ecore_File_Download_Progress_Cb progress_cb,
- void *data,
- Ecore_File_Download_Job **job_ret)
-
-
-####################################################################
-# Python classes
-#
-cdef class Timer(Eo):
- cdef double _interval
- cdef readonly object func, args, kargs
- cpdef object _task_exec(self)
-
-
-cdef class Animator(Eo):
- cdef readonly object func, args, kargs
- cpdef object _task_exec(self)
-
-
-cdef class Idler(Eo):
- cdef readonly object func, args, kargs
- cpdef object _task_exec(self)
-
-
-cdef class IdleEnterer(Idler):
- pass
-
-
-cdef class IdleExiter(Idler):
- pass
-
-
-cdef class FdHandler(object):
- cdef Ecore_Fd_Handler *obj
- cdef readonly object func
- cdef readonly object args
- cdef readonly object kargs
- cdef readonly object _prepare_callback
-
- cdef object _exec(self)
-
-
-cdef class Exe(object):
- cdef Ecore_Exe *exe
- cdef readonly object __data
- cdef object __callbacks
-
- cdef int _set_obj(self, char *exe_cmd, int flags) except 0
- cdef int _unset_obj(self) except 0
-
-
-cdef class ExeEventFilter(object):
- cdef Ecore_Exe *exe
- cdef Ecore_Event_Handler *handler
- cdef readonly object owner
- cdef readonly object event_type
- cdef object callbacks
-
-
-cdef class EventHandler(object):
- cdef Ecore_Event_Handler *obj
- cdef readonly int type
- cdef readonly object event_cls
- cdef readonly object func
- cdef readonly object args
- cdef readonly object kargs
-
- cdef int _set_obj(self, Ecore_Event_Handler *obj) except 0
- cdef int _unset_obj(self) except 0
- cdef Eina_Bool _exec(self, void *event) except 2
-
-
-cdef class Event(object):
- cdef int _set_obj(self, void *obj) except 0
-
-
-cdef class EventSignalUser(Event):
- cdef readonly object number
-
-
-cdef class EventSignalHup(Event):
- pass
-
-
-cdef class EventSignalExit(Event):
- cdef readonly object interrupt
- cdef readonly object quit
- cdef readonly object terminate
-
-
-cdef class EventSignalPower(Event):
- pass
-
-
-cdef class CustomEvent(Event):
- cdef readonly object obj
-
-
-cdef class QueuedEvent:
- cdef Ecore_Event *obj
- cdef readonly object args
-
- cdef int _set_obj(self, Ecore_Event *ev) except 0
- cdef int _unset_obj(self) except 0
-
-
-cdef class EventExeAdd(Event):
- cdef readonly object exe
-
-
-cdef class EventExeDel(Event):
- cdef readonly object exe
- cdef readonly object pid
- cdef readonly object exit_code
- cdef readonly object exit_signal
- cdef readonly object exited
- cdef readonly object signalled
-
-
-cdef class EventExeData(Event):
- cdef readonly object exe
- cdef readonly object data
- cdef readonly object size
- cdef readonly object lines
-
-
-cdef class FileDownload:
- cdef Ecore_File_Download_Job *job
- cdef readonly object completion_cb
- cdef readonly object progress_cb
- cdef readonly object args
- cdef readonly object kargs
-
- cdef object _exec_completion(self, const_char_ptr file, int status)
- cdef object _exec_progress(self, const_char_ptr file,
- long int dltotal, long int dlnow,
- long int ultotal, long int ulnow)
-
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+from efl cimport *
+from efl.c_eo cimport Eo as cEo
+from efl.eo cimport Eo
+
+
+
+cdef extern from "Ecore.h":
+ ####################################################################
+ # Basic Types
+ #
+ ctypedef cEo Ecore_Timer
+ ctypedef cEo Ecore_Animator
+ ctypedef cEo Ecore_Idler
+ ctypedef cEo Ecore_Idle_Enterer
+ ctypedef cEo Ecore_Idle_Exiter
+
+ ctypedef struct Ecore_Event_Handler
+ ctypedef struct Ecore_Event
+
+ ctypedef struct Ecore_Event_Signal_User:
+ int number
+
+ ctypedef struct Ecore_Event_Signal_Exit:
+ unsigned int interrupt
+ unsigned int quit
+ unsigned int terminate
+
+ ctypedef struct Ecore_Event_Signal_Realtime:
+ int num
+
+ ctypedef struct Ecore_Exe_Event_Add:
+ Ecore_Exe *exe
+ void *ext_data
+
+ ctypedef struct Ecore_Exe_Event_Del:
+ int pid
+ int exit_code
+ Ecore_Exe *exe
+ int exit_signal
+ unsigned int exited
+ unsigned int signalled
+ void *ext_data
+
+ ctypedef struct Ecore_Exe_Event_Data:
+ Ecore_Exe *exe
+ void *data
+ int size
+ Ecore_Exe_Event_Data_Line *lines
+
+ ctypedef struct Ecore_Exe_Event_Data_Line:
+ char *line
+ int size
+
+ ctypedef struct Ecore_Fd_Handler
+ ctypedef struct Ecore_Exe
+ ctypedef Ecore_Exe const_Ecore_Exe "const Ecore_Exe"
+
+ int ECORE_EVENT_SIGNAL_USER
+ int ECORE_EVENT_SIGNAL_HUP
+ int ECORE_EVENT_SIGNAL_EXIT
+ int ECORE_EVENT_SIGNAL_POWER
+ int ECORE_EVENT_SIGNAL_REALTIME
+
+ int ECORE_EXE_EVENT_ADD
+ int ECORE_EXE_EVENT_DEL
+ int ECORE_EXE_EVENT_DATA
+ int ECORE_EXE_EVENT_ERROR
+
+
+ ####################################################################
+ # Enumerations
+ #
+ ctypedef enum Ecore_Fd_Handler_Flags:
+ pass
+
+ ctypedef enum Ecore_Exe_Flags:
+ pass
+
+ ####################################################################
+ # Other typedefs
+ #
+ ctypedef void (*Ecore_Cb)(void *data)
+ ctypedef Eina_Bool (*Ecore_Task_Cb)(void *data)
+ ctypedef Eina_Bool (*Ecore_Fd_Cb)(void *data, Ecore_Fd_Handler *fd_handler)
+ ctypedef void (*Ecore_Fd_Prep_Cb)(void *data, Ecore_Fd_Handler *fd_handler)
+ ctypedef Eina_Bool (*Ecore_Event_Handler_Cb)(void *data, int type, void *event)
+ ctypedef void (*Ecore_End_Cb)(void *user_data, void *func_data)
+ ctypedef void (*Ecore_Exe_Cb)(void *data, const_Ecore_Exe *exe)
+
+ ####################################################################
+ # Functions
+ #
+ int ecore_init()
+ int ecore_shutdown()
+
+ void ecore_main_loop_iterate() nogil
+ void ecore_main_loop_begin() nogil
+ void ecore_main_loop_quit()
+
+ int ecore_main_loop_glib_integrate()
+
+ double ecore_time_get()
+ double ecore_loop_time_get()
+
+ Ecore_Animator *ecore_animator_add(Ecore_Task_Cb func, void *data)
+ void *ecore_animator_del(Ecore_Animator *animator)
+ void ecore_animator_frametime_set(double frametime)
+ double ecore_animator_frametime_get()
+
+ Ecore_Timer *ecore_timer_add(double t, Ecore_Task_Cb func, void *data)
+ void *ecore_timer_del(Ecore_Timer *timer)
+ void ecore_timer_freeze(Ecore_Timer *timer)
+ void ecore_timer_thaw(Ecore_Timer *timer)
+ void ecore_timer_interval_set(Ecore_Timer *timer, double t)
+ double ecore_timer_interval_get(Ecore_Timer *timer)
+ void ecore_timer_delay(Ecore_Timer *timer, double add)
+ void ecore_timer_reset(Ecore_Timer *timer)
+ double ecore_timer_pending_get(Ecore_Timer *timer)
+ double ecore_timer_precision_get()
+ double ecore_timer_precision_set(double value)
+
+ Ecore_Idler *ecore_idler_add(Ecore_Task_Cb func, void *data)
+ void *ecore_idler_del(Ecore_Idler *idler)
+ Ecore_Idler *ecore_idle_enterer_add(Ecore_Task_Cb func, void *data)
+ void *ecore_idle_enterer_del(Ecore_Idler *idler)
+ Ecore_Idler *ecore_idle_exiter_add(Ecore_Task_Cb func, void *data)
+ void *ecore_idle_exiter_del(Ecore_Idler *idler)
+
+ Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, Ecore_Fd_Cb func, void *data, Ecore_Fd_Cb buf_func, void *buf_data)
+ void ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Prep_Cb func, void *data)
+ void *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler)
+ int ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler)
+ int ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags)
+ void ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags)
+
+ Ecore_Event_Handler *ecore_event_handler_add(int type, Ecore_Event_Handler_Cb func, void *data)
+ void *ecore_event_handler_del(Ecore_Event_Handler *event_handler)
+ int ecore_event_type_new()
+ Ecore_Event *ecore_event_add(int type, void *ev, Ecore_End_Cb func_free, void *data)
+ void *ecore_event_del(Ecore_Event *ev)
+
+ void ecore_exe_run_priority_set(int pri)
+ int ecore_exe_run_priority_get()
+ Ecore_Exe *ecore_exe_pipe_run(char *exe_cmd, Ecore_Exe_Flags flags, void *data)
+ void ecore_exe_callback_pre_free_set(Ecore_Exe *exe, Ecore_Exe_Cb func)
+ int ecore_exe_send(Ecore_Exe *exe, const_void *data, int size)
+ void ecore_exe_close_stdin(Ecore_Exe *exe)
+ void ecore_exe_auto_limits_set(Ecore_Exe *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)
+ Ecore_Exe_Event_Data *ecore_exe_event_data_get(Ecore_Exe *exe, Ecore_Exe_Flags flags)
+ void ecore_exe_event_data_free(Ecore_Exe_Event_Data *data)
+ void *ecore_exe_free(Ecore_Exe *exe)
+ int ecore_exe_pid_get(Ecore_Exe *exe)
+ void ecore_exe_tag_set(Ecore_Exe *exe, char *tag)
+ const_char_ptr ecore_exe_tag_get(Ecore_Exe *exe)
+ const_char_ptr ecore_exe_cmd_get(Ecore_Exe *exe)
+ void *ecore_exe_data_get(Ecore_Exe *exe)
+ Ecore_Exe_Flags ecore_exe_flags_get(Ecore_Exe *exe)
+ void ecore_exe_pause(Ecore_Exe *exe)
+ void ecore_exe_continue(Ecore_Exe *exe)
+ void ecore_exe_interrupt(Ecore_Exe *exe)
+ void ecore_exe_quit(Ecore_Exe *exe)
+ void ecore_exe_terminate(Ecore_Exe *exe)
+ void ecore_exe_kill(Ecore_Exe *exe)
+ void ecore_exe_signal(Ecore_Exe *exe, int num)
+ void ecore_exe_hup(Ecore_Exe *exe)
+
+
+cdef extern from "Ecore_File.h":
+
+ ctypedef struct Ecore_File_Download_Job
+
+ ctypedef void (*Ecore_File_Download_Completion_Cb)(void *data, const_char_ptr file, int status)
+ ctypedef int (*Ecore_File_Download_Progress_Cb)(void *data, const_char_ptr file, long int dltotal, long int dlnow, long int ultotal, long int ulnow)
+
+ int ecore_file_init()
+ int ecore_file_shutdown()
+ void ecore_file_download_abort(Ecore_File_Download_Job *job)
+ void ecore_file_download_abort_all()
+ Eina_Bool ecore_file_download_protocol_available(const_char_ptr protocol)
+ Eina_Bool ecore_file_download(const_char_ptr url, const_char_ptr dst,
+ Ecore_File_Download_Completion_Cb completion_cb,
+ Ecore_File_Download_Progress_Cb progress_cb,
+ void *data,
+ Ecore_File_Download_Job **job_ret)
+
+
+####################################################################
+# Python classes
+#
+cdef class Timer(Eo):
+ cdef double _interval
+ cdef readonly object func, args, kargs
+ cpdef object _task_exec(self)
+
+
+cdef class Animator(Eo):
+ cdef readonly object func, args, kargs
+ cpdef object _task_exec(self)
+
+
+cdef class Idler(Eo):
+ cdef readonly object func, args, kargs
+ cpdef object _task_exec(self)
+
+
+cdef class IdleEnterer(Idler):
+ pass
+
+
+cdef class IdleExiter(Idler):
+ pass
+
+
+cdef class FdHandler(object):
+ cdef Ecore_Fd_Handler *obj
+ cdef readonly object func
+ cdef readonly object args
+ cdef readonly object kargs
+ cdef readonly object _prepare_callback
+
+ cdef object _exec(self)
+
+
+cdef class Exe(object):
+ cdef Ecore_Exe *exe
+ cdef readonly object __data
+ cdef object __callbacks
+
+ cdef int _set_obj(self, char *exe_cmd, int flags) except 0
+ cdef int _unset_obj(self) except 0
+
+
+cdef class ExeEventFilter(object):
+ cdef Ecore_Exe *exe
+ cdef Ecore_Event_Handler *handler
+ cdef readonly object owner
+ cdef readonly object event_type
+ cdef object callbacks
+
+
+cdef class EventHandler(object):
+ cdef Ecore_Event_Handler *obj
+ cdef readonly int type
+ cdef readonly object event_cls
+ cdef readonly object func
+ cdef readonly object args
+ cdef readonly object kargs
+
+ cdef int _set_obj(self, Ecore_Event_Handler *obj) except 0
+ cdef int _unset_obj(self) except 0
+ cdef Eina_Bool _exec(self, void *event) except 2
+
+
+cdef class Event(object):
+ cdef int _set_obj(self, void *obj) except 0
+
+
+cdef class EventSignalUser(Event):
+ cdef readonly object number
+
+
+cdef class EventSignalHup(Event):
+ pass
+
+
+cdef class EventSignalExit(Event):
+ cdef readonly object interrupt
+ cdef readonly object quit
+ cdef readonly object terminate
+
+
+cdef class EventSignalPower(Event):
+ pass
+
+
+cdef class CustomEvent(Event):
+ cdef readonly object obj
+
+
+cdef class QueuedEvent:
+ cdef Ecore_Event *obj
+ cdef readonly object args
+
+ cdef int _set_obj(self, Ecore_Event *ev) except 0
+ cdef int _unset_obj(self) except 0
+
+
+cdef class EventExeAdd(Event):
+ cdef readonly object exe
+
+
+cdef class EventExeDel(Event):
+ cdef readonly object exe
+ cdef readonly object pid
+ cdef readonly object exit_code
+ cdef readonly object exit_signal
+ cdef readonly object exited
+ cdef readonly object signalled
+
+
+cdef class EventExeData(Event):
+ cdef readonly object exe
+ cdef readonly object data
+ cdef readonly object size
+ cdef readonly object lines
+
+
+cdef class FileDownload:
+ cdef Ecore_File_Download_Job *job
+ cdef readonly object completion_cb
+ cdef readonly object progress_cb
+ cdef readonly object args
+ cdef readonly object kargs
+
+ cdef object _exec_completion(self, const_char_ptr file, int status)
+ cdef object _exec_progress(self, const_char_ptr file,
+ long int dltotal, long int dlnow,
+ long int ultotal, long int ulnow)
+
diff --git a/include/efl.eo.pxd b/include/efl.eo.pxd
index 69fd300..f96e004 100644
--- a/include/efl.eo.pxd
+++ b/include/efl.eo.pxd
@@ -1,45 +1,45 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-from efl.c_eo cimport Eo as cEo
-from efl.c_eo cimport Eo_Class
-from efl cimport const_char_ptr, Eina_List, const_Eina_List
-
-
-cdef class Eo(object):
- cdef cEo *obj
- cdef readonly data
-
- cdef _set_obj(self, cEo *obj)
-# cdef _unset_obj(self)
-# cdef _add_obj(self, Eo_Class *klass, cEo *parent)
-
-
-cdef int PY_REFCOUNT(object o)
-
-cdef object object_from_instance(cEo *obj)
-cdef _object_mapping_register(char *name, klass)
-cdef _object_mapping_unregister(char*name)
-
-cdef inline unicode _touni(char* s)
-cdef inline char* _fruni(s)
-cdef inline unicode _ctouni(const_char_ptr s)
-cdef inline const_char_ptr _cfruni(s)
-
-cdef inline _strings_to_python(const_Eina_List *lst)
-cdef inline Eina_List * _strings_from_python(strings)
-cdef inline _object_list_to_python(const_Eina_List *lst)
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+from efl.c_eo cimport Eo as cEo
+from efl.c_eo cimport Eo_Class
+from efl cimport const_char_ptr, Eina_List, const_Eina_List
+
+
+cdef class Eo(object):
+ cdef cEo *obj
+ cdef readonly data
+
+ cdef _set_obj(self, cEo *obj)
+# cdef _unset_obj(self)
+# cdef _add_obj(self, Eo_Class *klass, cEo *parent)
+
+
+cdef int PY_REFCOUNT(object o)
+
+cdef object object_from_instance(cEo *obj)
+cdef _object_mapping_register(char *name, klass)
+cdef _object_mapping_unregister(char*name)
+
+cdef inline unicode _touni(char* s)
+cdef inline char* _fruni(s)
+cdef inline unicode _ctouni(const_char_ptr s)
+cdef inline const_char_ptr _cfruni(s)
+
+cdef inline _strings_to_python(const_Eina_List *lst)
+cdef inline Eina_List * _strings_from_python(strings)
+cdef inline _object_list_to_python(const_Eina_List *lst)
diff --git a/include/efl.evas.pxd b/include/efl.evas.pxd
index 14128c4..6fbdb55 100644
--- a/include/efl.evas.pxd
+++ b/include/efl.evas.pxd
@@ -1,1013 +1,1013 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-from efl cimport *
-from efl.eo cimport Eo
-# cimport efl.c_eo as c_eo
-from efl.c_eo cimport Eo as cEo
-from efl.c_eo cimport const_Eo_Class
-
-
-cdef extern from "Evas.h":
- ####################################################################
- # Basic Types
- #
- ctypedef int Evas_Coord
- ctypedef int Evas_Angle
- ctypedef int Evas_Font_Size
-
-
- ####################################################################
- # Enumerations
- #
- ctypedef enum Evas_Layer:
- pass
-
- ctypedef enum Evas_Text:
- pass
-
- ctypedef enum Evas_Callback_Type:
- pass
-
-
- ctypedef enum Evas_Pixel_Format:
- pass
-
-
- ctypedef enum Evas_Color_Space:
- pass
-
-
- ctypedef enum Evas_Texture:
- pass
-
-
- cdef enum Evas_Alloc_Error:
- pass
-
-
- cdef enum Evas_Load_Error:
- pass
-
-
- ctypedef enum Evas_Button_Flags:
- pass
-
-
- ctypedef enum Evas_Event_Flags:
- pass
-
-
- ctypedef enum Evas_Font_Hinting_Flags:
- pass
-
-
- ctypedef enum Evas_Colorspace:
- pass
-
-
- ctypedef enum Evas_Render_Op:
- pass
-
-
- ctypedef enum Evas_Text_Style_Type:
- pass
-
-
- ctypedef enum Evas_Textblock_Text_Type:
- pass
-
-
- ctypedef enum Evas_Smart_Class_Version:
- EVAS_SMART_CLASS_VERSION
-
-
- ctypedef enum Evas_Object_Pointer_Mode:
- pass
-
-
- ctypedef enum Evas_Aspect_Control:
- pass
-
- ####################################################################
- # Structures
- #
- ctypedef struct Evas_Point:
- int x
- int y
-
- ctypedef struct Evas_Coord_Point: # Evas_Coord is int now
- Evas_Coord x
- Evas_Coord y
-
- ctypedef struct Evas_Coord_Precision_Point: # Evas_Coord is int now
- Evas_Coord x
- Evas_Coord y
- double xsub
- double ysub
-
- ctypedef struct Evas_Position:
- Evas_Point output
- Evas_Coord_Point canvas
-
- ctypedef struct Evas_Precision_Position:
- Evas_Point output
- Evas_Coord_Precision_Point canvas
-
- ctypedef struct Evas_Hash
-
- ctypedef cEo Evas
- ctypedef Evas const_Evas "const Evas"
-
- ctypedef cEo Evas_Object
- ctypedef Evas_Object const_Evas_Object "const Evas_Object"
-
- ctypedef struct Evas_Modifier
- ctypedef struct Evas_Lock
- ctypedef struct Evas_Smart
- ctypedef struct Evas_Native_Surface
- ctypedef struct Evas_Textblock_Style
- ctypedef Evas_Textblock_Style const_Evas_Textblock_Style "const Evas_Textblock_Style"
- ctypedef struct Evas_Textblock_Cursor
- ctypedef Evas_Textblock_Cursor const_Evas_Textblock_Cursor "const Evas_Textblock_Cursor"
-
- ctypedef struct Evas_Smart_Cb_Description:
- const_char_ptr name
- const_char_ptr type
- ctypedef Evas_Smart_Cb_Description const_Evas_Smart_Cb_Description "const Evas_Smart_Cb_Description"
-
- ctypedef struct Evas_Smart_Interface
- ctypedef Evas_Smart_Interface const_Evas_Smart_Interface "const Evas_Smart_Interface"
-
- ctypedef struct Evas_Smart_Class
- ctypedef Evas_Smart_Class const_Evas_Smart_Class "const Evas_Smart_Class"
- ctypedef struct Evas_Smart_Class:
- const_char_ptr name
- int version
- void (*add)(Evas_Object *o)
- void (*delete "del")(Evas_Object *o)
- void (*move)(Evas_Object *o, int x, int y)
- void (*resize)(Evas_Object *o, int w, int h)
- void (*show)(Evas_Object *o)
- void (*hide)(Evas_Object *o)
- void (*color_set)(Evas_Object *o, int r, int g, int b, int a)
- void (*clip_set)(Evas_Object *o, Evas_Object *clip)
- void (*clip_unset)(Evas_Object *o)
- void (*calculate)(Evas_Object *o)
- void (*member_add)(Evas_Object *o, Evas_Object *child)
- void (*member_del)(Evas_Object *o, Evas_Object *child)
- const_Evas_Smart_Class *parent
- Evas_Smart_Cb_Description *callbacks
- const_Evas_Smart_Interface **interfaces
- const_void *data
-
- ctypedef struct Evas_Device
-
- ctypedef struct Evas_Event_Mouse_In:
- int buttons
- Evas_Point output
- Evas_Coord_Point canvas
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Mouse_Out:
- int buttons
- Evas_Point output
- Evas_Coord_Point canvas
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Mouse_Down:
- int button
- Evas_Point output
- Evas_Coord_Point canvas
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- Evas_Button_Flags flags
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Mouse_Up:
- int button
- Evas_Point output
- Evas_Coord_Point canvas
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- Evas_Button_Flags flags
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Mouse_Move:
- int buttons
- Evas_Position cur
- Evas_Position prev
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
-
- ctypedef struct Evas_Event_Multi_Down:
- int device
- double radius
- double radius_x
- double radius_y
- double pressure
- double angle
- Evas_Point output
- Evas_Coord_Precision_Point canvas
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- Evas_Button_Flags flags
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Multi_Up:
- int device
- double radius
- double radius_x
- double radius_y
- double pressure
- double angle
- Evas_Point output
- Evas_Coord_Precision_Point canvas
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- Evas_Button_Flags flags
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Multi_Move:
- double radius
- double radius_x
- double radius_y
- double pressure
- double angle
- Evas_Precision_Position cur
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Mouse_Wheel:
- int direction # 0 = default up/down wheel
- int z # ...,-2,-1 = down, 1,2,... = up */
- Evas_Point output
- Evas_Coord_Point canvas
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Key_Down:
- char *keyname
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- const_char_ptr key
- const_char_ptr string
- const_char_ptr compose
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Key_Up:
- char *keyname
- void *data
- Evas_Modifier *modifiers
- Evas_Lock *locks
- const_char_ptr key
- const_char_ptr string
- const_char_ptr compose
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Event_Hold:
- int hold
- void *data
- unsigned int timestamp
- Evas_Event_Flags event_flags
- Evas_Device *dev
-
- ctypedef struct Evas_Object_Box_Option:
- Evas_Object *obj
-
- ctypedef struct Evas_Map
- ctypedef Evas_Map const_Evas_Map "const Evas_Map"
-
-
- ####################################################################
- # Other typedefs
- #
- ctypedef void (*Evas_Event_Cb)(void *data, Evas *e, void *event_info)
- ctypedef void (*Evas_Object_Event_Cb)(void *data, Evas *e, Evas_Object *obj, void *event_info)
- ctypedef void (*Evas_Smart_Cb)(void *data, Evas_Object *obj, void *event_info)
-
- ctypedef void *Evas_Object_Box_Data
- ctypedef void (*Evas_Object_Box_Layout)(Evas_Object *o, Evas_Object_Box_Data *priv, void *user_data)
-
-
- ####################################################################
- # Engine
- #
- int evas_init()
- int evas_shutdown()
-
-
- ####################################################################
- # Canvas
- #
- Evas *evas_new()
- void evas_free(Evas *e)
- const_Eo_Class *evas_class_get()
-
- int evas_render_method_lookup(const_char_ptr name)
- Eina_List *evas_render_method_list()
- void evas_render_method_list_free(Eina_List *list)
-
- void evas_output_method_set(Evas *e, int render_method)
- int evas_output_method_get(Evas *e)
-
- void *evas_engine_info_get(Evas *e)
- int evas_engine_info_set(Evas *e, void *info)
-
- void evas_output_size_set(Evas *e, int w, int h)
- void evas_output_size_get(const_Evas *e, int *w, int *h)
- void evas_output_viewport_set(Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
- void evas_output_viewport_get(const_Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
- Evas_Coord evas_coord_screen_x_to_world(const_Evas *e, int x)
- Evas_Coord evas_coord_screen_y_to_world(const_Evas *e, int y)
- int evas_coord_world_x_to_screen(const_Evas *e, Evas_Coord x)
- int evas_coord_world_y_to_screen(const_Evas *e, Evas_Coord y)
-
- void evas_pointer_output_xy_get(const_Evas *e, int *x, int *y)
- void evas_pointer_canvas_xy_get(const_Evas *e, Evas_Coord *x, Evas_Coord *y)
- int evas_pointer_button_down_mask_get(const_Evas *e)
- Eina_Bool evas_pointer_inside_get(const_Evas *e)
-
- Evas_Object *evas_object_top_at_xy_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
- Evas_Object *evas_object_top_at_pointer_get(const_Evas *e)
- Evas_Object *evas_object_top_in_rectangle_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
-
- Eina_List *evas_objects_at_xy_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
- Eina_List *evas_objects_in_rectangle_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
-
- void evas_damage_rectangle_add(Evas *e, int x, int y, int w, int h)
- void evas_obscured_rectangle_add(Evas *e, int x, int y, int w, int h)
- void evas_obscured_clear(Evas *e)
- Eina_List *evas_render_updates(Evas *e)
- void evas_render_updates_free(Eina_List *updates)
- void evas_render(Evas *e)
- void evas_norender(Evas *e)
- void *evas_data_attach_get(const_Evas *e)
- void evas_data_attach_set(Evas *e, void *data)
-
- Evas_Object *evas_focus_get(const_Evas *e)
-
- Evas_Modifier *evas_key_modifier_get(Evas *e)
- Eina_Bool evas_key_modifier_is_set(Evas_Modifier *m, const_char_ptr keyname)
-
- void evas_event_freeze(Evas *e)
- void evas_event_thaw(Evas *e)
- int evas_event_freeze_get(const_Evas *e)
-
- void evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
- void evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
- void evas_event_feed_mouse_cancel(Evas *e, unsigned int timestamp, const_void *data)
- void evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestamp, const_void *data)
- void evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const_void *data)
- void evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const_void *data)
- void evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const_void *data)
- void evas_event_feed_multi_down(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
- void evas_event_feed_multi_up(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
- void evas_event_feed_multi_move(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const_void *data)
- void evas_event_feed_key_down(Evas *e, const_char_ptr keyname, const_char_ptr key, const_char_ptr string, const_char_ptr compose, unsigned int timestamp, const_void *data)
- void evas_event_feed_key_up(Evas *e, const_char_ptr keyname, const_char_ptr key, const_char_ptr string, const_char_ptr compose, unsigned int timestamp, const_void *data)
- void evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const_void *data)
-
- void evas_font_path_clear(Evas *e)
- void evas_font_path_append(Evas *e, const_char_ptr path)
- void evas_font_path_prepend(Evas *e, const_char_ptr path)
- const_Eina_List *evas_font_path_list(const_Evas *e)
-
- void evas_font_hinting_set(Evas *e, Evas_Font_Hinting_Flags hinting)
- Evas_Font_Hinting_Flags evas_font_hinting_get(const_Evas *e)
- Eina_Bool evas_font_hinting_can_hint(const_Evas *e, Evas_Font_Hinting_Flags hinting)
-
- void evas_font_cache_flush(Evas *e)
- void evas_font_cache_set(Evas *e, int size)
- int evas_font_cache_get(const_Evas *e)
-
- Eina_List *evas_font_available_list(const_Evas *e)
- void evas_font_available_list_free(Evas *e, Eina_List *available)
-
- void evas_image_cache_flush(Evas *e)
- void evas_image_cache_reload(Evas *e)
- void evas_image_cache_set(Evas *e, int size)
- int evas_image_cache_get(const_Evas *e)
-
-
- ####################################################################
- # Base Object
- #
- void evas_object_del(Evas_Object *obj)
- Evas *evas_object_evas_get(const_Evas_Object *obj)
-
- void evas_object_data_set(Evas_Object *obj, const_char_ptr key, const_void *data)
- void *evas_object_data_get(const_Evas_Object *obj, const_char_ptr key)
- void *evas_object_data_del(Evas_Object *obj, const_char_ptr key)
-
- const_char_ptr evas_object_type_get(const_Evas_Object *obj)
-
- void evas_object_layer_set(Evas_Object *obj, int l)
- int evas_object_layer_get(const_Evas_Object *obj)
-
- void evas_object_raise(Evas_Object *obj)
- void evas_object_lower(Evas_Object *obj)
- void evas_object_stack_above(Evas_Object *obj, Evas_Object *above)
- void evas_object_stack_below(Evas_Object *obj, Evas_Object *below)
- Evas_Object *evas_object_above_get(const_Evas_Object *obj)
- Evas_Object *evas_object_below_get(const_Evas_Object *obj)
- Evas_Object *evas_object_bottom_get(const_Evas *e)
- Evas_Object *evas_object_top_get(const_Evas *e)
-
- void evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
- void evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
- void evas_object_geometry_get(const_Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
-
- void evas_object_size_hint_min_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
- void evas_object_size_hint_min_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
- void evas_object_size_hint_max_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
- void evas_object_size_hint_max_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
- void evas_object_size_hint_request_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
- void evas_object_size_hint_request_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
- void evas_object_size_hint_aspect_get(const_Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)
- void evas_object_size_hint_aspect_set(Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)
- void evas_object_size_hint_align_get(const_Evas_Object *obj, double *x, double *y)
- void evas_object_size_hint_align_set(Evas_Object *obj, double x, double y)
- void evas_object_size_hint_weight_get(const_Evas_Object *obj, double *x, double *y)
- void evas_object_size_hint_weight_set(Evas_Object *obj, double x, double y)
- void evas_object_size_hint_padding_get(const_Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)
- void evas_object_size_hint_padding_set(Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)
-
- void evas_object_show(Evas_Object *obj)
- void evas_object_hide(Evas_Object *obj)
- Eina_Bool evas_object_visible_get(const_Evas_Object *obj)
-
- void evas_object_static_clip_set(Evas_Object *obj, Eina_Bool is_static_clip)
- Eina_Bool evas_object_static_clip_get(Evas_Object *obj)
-
- void evas_object_render_op_set(Evas_Object *obj, Evas_Render_Op op)
- Evas_Render_Op evas_object_render_op_get(const_Evas_Object *obj)
-
- void evas_object_anti_alias_set(Evas_Object *obj, Eina_Bool antialias)
- Eina_Bool evas_object_anti_alias_get(const_Evas_Object *obj)
-
- void evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a)
- void evas_object_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
-
- void evas_color_argb_premul(int a, int *r, int *g, int *b)
- void evas_color_argb_unpremul(int a, int *r, int *g, int *b)
-
- void evas_color_hsv_to_rgb(float h, float s, float v, int *r, int *g, int *b)
- void evas_color_rgb_to_hsv(int r, int g, int b, float *h, float *s, float *v)
-
- void evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
- Evas_Object *evas_object_clip_get(const_Evas_Object *obj)
- void evas_object_clip_unset(Evas_Object *obj)
- const_Eina_List *evas_object_clipees_get(const_Evas_Object *obj)
-
- void evas_object_name_set(Evas_Object *obj, const_char_ptr name)
- const_char_ptr evas_object_name_get(const_Evas_Object *obj)
- Evas_Object *evas_object_name_find(const_Evas *e, const_char_ptr name)
-
- int evas_async_events_fd_get()
- int evas_async_events_process()
-
- void evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const_void *data)
- void *evas_object_event_callback_del(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func)
-
- void evas_event_callback_add(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const_void *data)
- void *evas_event_callback_del(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func)
-
- void evas_object_pass_events_set(Evas_Object *obj, Eina_Bool p)
- Eina_Bool evas_object_pass_events_get(const_Evas_Object *obj)
- void evas_object_repeat_events_set(Evas_Object *obj, Eina_Bool repeat)
- Eina_Bool evas_object_repeat_events_get(const_Evas_Object *obj)
- void evas_object_propagate_events_set(Evas_Object *obj, Eina_Bool prop)
- Eina_Bool evas_object_propagate_events_get(const_Evas_Object *obj)
- void evas_object_pointer_mode_set(Evas_Object *obj, Evas_Object_Pointer_Mode setting)
- Evas_Object_Pointer_Mode evas_object_pointer_mode_get(const_Evas_Object *obj)
-
- void evas_object_focus_set(Evas_Object *obj, Eina_Bool focus)
- Eina_Bool evas_object_focus_get(const_Evas_Object *obj)
-
-
- ####################################################################
- # Smart Object (py3:TODO)
- #
- void evas_smart_free(Evas_Smart *s)
- Evas_Smart *evas_smart_class_new(Evas_Smart_Class *sc)
- Evas_Smart_Class *evas_smart_class_get(Evas_Smart *s)
- const_Eo_Class *evas_object_smart_class_get()
-
- void *evas_smart_data_get(Evas_Smart *s)
-
- Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s)
- void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj)
- void evas_object_smart_member_del(Evas_Object *obj)
- Evas_Object *evas_object_smart_parent_get(const_Evas_Object *obj)
- Eina_List *evas_object_smart_members_get(const_Evas_Object *obj)
- Evas_Smart *evas_object_smart_smart_get(const_Evas_Object *obj)
- void *evas_object_smart_data_get(const_Evas_Object *obj)
- void evas_object_smart_data_set(Evas_Object *obj, void *data)
- void evas_object_smart_callback_add(Evas_Object *obj, const_char_ptr event, Evas_Smart_Cb func, const_void *data)
- void *evas_object_smart_callback_del(Evas_Object *obj, const_char_ptr event, Evas_Smart_Cb func)
- void evas_object_smart_callback_call(Evas_Object *obj, const_char_ptr event, void *event_info)
- void evas_object_smart_changed(Evas_Object *obj)
- void evas_object_smart_need_recalculate_set(Evas_Object *obj, int value)
- int evas_object_smart_need_recalculate_get(const_Evas_Object *obj)
- void evas_object_smart_calculate(Evas_Object *obj)
- void evas_object_smart_move_children_relative(Evas_Object *obj, int dx, int dy)
-
-
- ####################################################################
- # Rectangle Object
- #
- Evas_Object *evas_object_rectangle_add(Evas *e)
- const_Eo_Class *evas_object_rectangle_class_get()
-
-
- ####################################################################
- # Line Object
- #
- Evas_Object *evas_object_line_add(Evas *e)
- void evas_object_line_xy_set(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)
- void evas_object_line_xy_get(const_Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)
- const_Eo_Class *evas_object_line_class_get()
-
-
- ####################################################################
- # Image Object
- #
- Evas_Object *evas_object_image_add(Evas *e)
- const_Eo_Class *evas_object_image_class_get()
- void evas_object_image_file_set(Evas_Object *obj, const_char_ptr file, const_char_ptr key)
- void evas_object_image_file_get(const_Evas_Object *obj, const_char_ptr *file, const_char_ptr *key)
- void evas_object_image_border_set(Evas_Object *obj, int l, int r, int t, int b)
- void evas_object_image_border_get(const_Evas_Object *obj, int *l, int *r, int *t, int *b)
- void evas_object_image_border_center_fill_set(Evas_Object *obj, Eina_Bool fill)
- Eina_Bool evas_object_image_border_center_fill_get(const_Evas_Object *obj)
- void evas_object_image_fill_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
- void evas_object_image_fill_get(const_Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
- void evas_object_image_size_set(Evas_Object *obj, int w, int h)
- void evas_object_image_size_get(const_Evas_Object *obj, int *w, int *h)
- int evas_object_image_stride_get(const_Evas_Object *obj)
- int evas_object_image_load_error_get(const_Evas_Object *obj)
- void evas_object_image_data_set(Evas_Object *obj, void *data)
- void *evas_object_image_data_get(const_Evas_Object *obj, Eina_Bool for_writing)
- void evas_object_image_data_copy_set(Evas_Object *obj, void *data)
- void evas_object_image_data_update_add(Evas_Object *obj, int x, int y, int w, int h)
- void evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool has_alpha)
- Eina_Bool evas_object_image_alpha_get(const_Evas_Object *obj)
- void evas_object_image_smooth_scale_set(Evas_Object *obj, Eina_Bool smooth_scale)
- Eina_Bool evas_object_image_smooth_scale_get(const_Evas_Object *obj)
- void evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel)
- void evas_object_image_reload(Evas_Object *obj)
- Eina_Bool evas_object_image_save(const_Evas_Object *obj, const_char_ptr file, const_char_ptr key, const_char_ptr flags)
- #Eina_Bool evas_object_image_pixels_import(Evas_Object *obj, Evas_Pixel_Import_Source *pixels)
- void evas_object_image_pixels_get_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *o), void *data)
- void evas_object_image_pixels_dirty_set(Evas_Object *obj, Eina_Bool dirty)
- Eina_Bool evas_object_image_pixels_dirty_get(const_Evas_Object *obj)
- void evas_object_image_load_dpi_set(Evas_Object *obj, double dpi)
- double evas_object_image_load_dpi_get(const_Evas_Object *obj)
- void evas_object_image_load_size_set(Evas_Object *obj, int w, int h)
- void evas_object_image_load_size_get(const_Evas_Object *obj, int *w, int *h)
- void evas_object_image_load_scale_down_set(Evas_Object *obj, int scale_down)
- int evas_object_image_load_scale_down_get(const_Evas_Object *obj)
- void evas_object_image_colorspace_set(Evas_Object *obj, Evas_Colorspace cspace)
- Evas_Colorspace evas_object_image_colorspace_get(const_Evas_Object *obj)
- void evas_object_image_native_surface_set(Evas_Object *obj, Evas_Native_Surface *surf)
- Evas_Native_Surface *evas_object_image_native_surface_get(const_Evas_Object *obj)
-
-
- ####################################################################
- # Polygon Object
- #
- Evas_Object *evas_object_polygon_add(Evas *e)
- const_Eo_Class *evas_object_polygon_class_get()
- void evas_object_polygon_point_add(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
- void evas_object_polygon_points_clear(Evas_Object *obj)
-
-
- ####################################################################
- # Text Object (py3:TODO)
- #
- Evas_Object *evas_object_text_add(Evas *e)
- const_Eo_Class *evas_object_text_class_get()
- void evas_object_text_font_source_set(Evas_Object *obj, const_char_ptr font)
- const_char_ptr evas_object_text_font_source_get(const_Evas_Object *obj)
- void evas_object_text_font_set(Evas_Object *obj, const_char_ptr font, Evas_Font_Size size)
- void evas_object_text_font_get(const_Evas_Object *obj, const_char_ptr *font, Evas_Font_Size *size)
- void evas_object_text_text_set(Evas_Object *obj, const_char_ptr text)
- const_char_ptr evas_object_text_text_get(const_Evas_Object *obj)
- Evas_Coord evas_object_text_ascent_get(const_Evas_Object *obj)
- Evas_Coord evas_object_text_descent_get(const_Evas_Object *obj)
- Evas_Coord evas_object_text_max_ascent_get(const_Evas_Object *obj)
- Evas_Coord evas_object_text_max_descent_get(const_Evas_Object *obj)
- Evas_Coord evas_object_text_horiz_advance_get(const_Evas_Object *obj)
- Evas_Coord evas_object_text_vert_advance_get(const_Evas_Object *obj)
- Evas_Coord evas_object_text_inset_get(const_Evas_Object *obj)
- int evas_object_text_char_pos_get(const_Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
- int evas_object_text_char_coords_get(const_Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
- Evas_Text_Style_Type evas_object_text_style_get(const_Evas_Object *obj)
- void evas_object_text_style_set(Evas_Object *obj, Evas_Text_Style_Type type)
- void evas_object_text_shadow_color_set(Evas_Object *obj, int r, int g, int b, int a)
- void evas_object_text_shadow_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
- void evas_object_text_glow_color_set(Evas_Object *obj, int r, int g, int b, int a)
- void evas_object_text_glow_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
- void evas_object_text_glow2_color_set(Evas_Object *obj, int r, int g, int b, int a)
- void evas_object_text_glow2_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
- void evas_object_text_outline_color_set(Evas_Object *obj, int r, int g, int b, int a)
- void evas_object_text_outline_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
- void evas_object_text_style_pad_get(const_Evas_Object *obj, int *l, int *r, int *t, int *b)
-
-
- ####################################################################
- # Textblock Object (py3:TODO)
- #
- Evas_Object *evas_object_textblock_add(Evas *e)
- const_Eo_Class *evas_object_textblock_class_get()
- Evas_Textblock_Style *evas_textblock_style_new()
- void evas_textblock_style_free(Evas_Textblock_Style *ts)
- void evas_textblock_style_set(Evas_Textblock_Style *ts, const_char_ptr text)
- const_char_ptr evas_textblock_style_get(const_Evas_Textblock_Style *ts)
- void evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts)
- Evas_Textblock_Style *evas_object_textblock_style_get(const_Evas_Object *obj)
- void evas_object_textblock_replace_char_set(Evas_Object *obj, const_char_ptr ch)
- const_char_ptr evas_object_textblock_replace_char_get(const_Evas_Object *obj)
- const_char_ptr evas_textblock_escape_string_get(const_char_ptr escape)
- const_char_ptr evas_textblock_string_escape_get(const_char_ptr string, int *len_ret)
- void evas_object_textblock_text_markup_set(Evas_Object *obj, const_char_ptr text)
- void evas_object_textblock_text_markup_prepend(Evas_Textblock_Cursor *cur, const_char_ptr text)
- const_char_ptr evas_object_textblock_text_markup_get(const_Evas_Object *obj)
- Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const_Evas_Object *obj)
- Evas_Textblock_Cursor *evas_object_textblock_cursor_new(Evas_Object *obj)
- void evas_textblock_cursor_free(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_node_first(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_node_last(Evas_Textblock_Cursor *cur)
- Eina_Bool evas_textblock_cursor_node_next(Evas_Textblock_Cursor *cur)
- Eina_Bool evas_textblock_cursor_node_prev(Evas_Textblock_Cursor *cur)
- Eina_Bool evas_textblock_cursor_char_next(Evas_Textblock_Cursor *cur)
- Eina_Bool evas_textblock_cursor_char_prev(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_char_first(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_char_last(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_line_first(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_line_last(Evas_Textblock_Cursor *cur)
- int evas_textblock_cursor_pos_get(const_Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_pos_set(Evas_Textblock_Cursor *cur, int pos)
- Eina_Bool evas_textblock_cursor_line_set(Evas_Textblock_Cursor *cur, int line)
- int evas_textblock_cursor_compare(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
- void evas_textblock_cursor_copy(Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)
- void evas_textblock_cursor_text_append(Evas_Textblock_Cursor *cur, const_char_ptr text)
- void evas_textblock_cursor_text_prepend(Evas_Textblock_Cursor *cur, const_char_ptr text)
- void evas_textblock_cursor_format_append(Evas_Textblock_Cursor *cur, const_char_ptr format)
- void evas_textblock_cursor_format_prepend(Evas_Textblock_Cursor *cur, const_char_ptr format)
- void evas_textblock_cursor_node_delete(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_char_delete(Evas_Textblock_Cursor *cur)
- void evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
- const_char_ptr evas_textblock_cursor_node_text_get(const_Evas_Textblock_Cursor *cur)
- int evas_textblock_cursor_node_text_length_get(const_Evas_Textblock_Cursor *cur)
- const_char_ptr evas_textblock_cursor_node_format_get(const_Evas_Textblock_Cursor *cur)
- Eina_Bool evas_textblock_cursor_node_format_is_visible_get(const_Evas_Textblock_Cursor *cur)
- const_char_ptr evas_textblock_cursor_range_text_get(const_Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2, Evas_Textblock_Text_Type format)
- int evas_textblock_cursor_char_geometry_get(const_Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
- int evas_textblock_cursor_line_geometry_get(const_Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
- Eina_Bool evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)
- int evas_textblock_cursor_line_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord y)
- Eina_List *evas_textblock_cursor_range_geometry_get(const_Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
- Eina_Bool evas_object_textblock_line_number_geometry_get(const_Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
- void evas_object_textblock_clear(Evas_Object *obj)
- void evas_object_textblock_size_formatted_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
- void evas_object_textblock_size_native_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
- void evas_object_textblock_style_insets_get(const_Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)
-
-
- ####################################################################
- # Box Object
- #
- Evas_Object *evas_object_box_add(Evas *e)
- Evas_Object *evas_object_box_add_to(Evas_Object *parent)
- const_Eo_Class *evas_object_box_class_get()
-
- void evas_object_box_align_set(Evas_Object *o, double horizontal, double vertical)
- void evas_object_box_align_get(const_Evas_Object *o, double *horizontal, double *vertical)
- void evas_object_box_padding_set(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)
- void evas_object_box_padding_get(const_Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)
-
- Evas_Object_Box_Option *evas_object_box_append(Evas_Object *o, Evas_Object *child)
- Evas_Object_Box_Option *evas_object_box_prepend(Evas_Object *o, Evas_Object *child)
- Evas_Object_Box_Option *evas_object_box_insert_before(Evas_Object *o, Evas_Object *child, Evas_Object *reference)
- Evas_Object_Box_Option *evas_object_box_insert_after(Evas_Object *o, Evas_Object *child, Evas_Object *reference)
- Evas_Object_Box_Option *evas_object_box_insert_at(Evas_Object *o, Evas_Object *child, unsigned int pos)
-
- Eina_Bool evas_object_box_remove(Evas_Object *o, Evas_Object *child)
- Eina_Bool evas_object_box_remove_at(Evas_Object *o, unsigned int pos)
- Eina_Bool evas_object_box_remove_all(Evas_Object *o, Eina_Bool clear)
-
- void evas_object_box_layout_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_homogeneous_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_homogeneous_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_homogeneous_max_size_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_homogeneous_max_size_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_flow_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_flow_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void evas_object_box_layout_stack(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
- void elm_box_layout_transition(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
-
-
- ####################################################################
- # Evas Map
- #
- Evas_Map *evas_map_new(int count)
-
- void evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled)
- Eina_Bool evas_object_map_enable_get(const_Evas_Object *obj)
- void evas_object_map_set(Evas_Object *obj, const_Evas_Map *map)
- const_Evas_Map *evas_object_map_get(const_Evas_Object *obj)
-
- void evas_map_util_points_populate_from_object_full(Evas_Map *m, const_Evas_Object *obj, Evas_Coord z)
- void evas_map_util_points_populate_from_object(Evas_Map *m, const_Evas_Object *obj)
- void evas_map_util_points_populate_from_geometry(Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)
- void evas_map_util_points_color_set(Evas_Map *m, int r, int g, int b, int a)
- void evas_map_util_rotate(Evas_Map *m, double degrees, Evas_Coord cx, Evas_Coord cy)
- void evas_map_util_zoom(Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)
- void evas_map_util_3d_rotate(Evas_Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)
- void evas_map_util_3d_lighting(Evas_Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)
- void evas_map_util_3d_perspective(Evas_Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)
- Eina_Bool evas_map_util_clockwise_get(Evas_Map *m)
-
- void evas_map_smooth_set(Evas_Map *m, Eina_Bool enabled)
- Eina_Bool evas_map_smooth_get(const_Evas_Map *m)
- void evas_map_alpha_set(Evas_Map *m, Eina_Bool enabled)
- Eina_Bool evas_map_alpha_get(const_Evas_Map *m)
- Evas_Map *evas_map_dup(const_Evas_Map *m)
- void evas_map_free(Evas_Map *m)
- int evas_map_count_get(const_Evas_Map *m)
- void evas_map_point_coord_set(Evas_Map *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)
- void evas_map_point_coord_get(const_Evas_Map *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)
- void evas_map_point_image_uv_set(Evas_Map *m, int idx, double u, double v)
- void evas_map_point_image_uv_get(const_Evas_Map *m, int idx, double *u, double *v)
- void evas_map_point_color_set(Evas_Map *m, int idx, int r, int g, int b, int a)
- void evas_map_point_color_get(const_Evas_Map *m, int idx, int *r, int *g, int *b, int *a)
-
-
-####################################################################
-# Python classes
-#
-cdef class Rect:
- cdef int x0, y0, x1, y1, cx, cy, _w, _h
-
-
-cdef class Canvas(Eo):
-# cdef Evas *obj
- cdef object _callbacks
-#
-# cdef int _set_obj(self, Evas *obj) except 0
-# cdef int _unset_obj(self) except 0
-
-
-cdef class Object(Eo):
-# cdef readonly Canvas evas
- cdef object _callbacks
- # cdef int _unset_obj(self) except 0
- # cdef int _set_obj(self, Evas_Object *obj) except 0
-
-
-cdef class Rectangle(Object):
- pass
-
-
-cdef class Line(Object):
- pass
-
-
-cdef class Image(Object):
- pass
-
-
-cdef class FilledImage(Image):
- pass
-
-
-cdef class Polygon(Object):
- pass
-
-
-cdef class Text(Object):
- pass
-
-
-cdef class Textblock(Object):
- pass
-
-
-cdef class SmartObject(Object):
- cdef object _smart_callbacks
- cdef object _m_delete
- cdef object _m_move
- cdef object _m_resize
- cdef object _m_show
- cdef object _m_hide
- cdef object _m_color_set
- cdef object _m_clip_set
- cdef object _m_clip_unset
- cdef object _m_calculate
-
-
-cdef class ClippedSmartObject(SmartObject):
- cdef readonly Rectangle clipper
-
-
-cdef class EventPoint:
- cdef Evas_Point *obj
-
- cdef void _set_obj(self, Evas_Point *obj)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventCoordPoint:
- cdef Evas_Coord_Point *obj
-
- cdef void _set_obj(self, Evas_Coord_Point *obj)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventPrecisionPoint:
- cdef Evas_Coord_Precision_Point *obj
-
- cdef void _set_obj(self, Evas_Coord_Precision_Point *obj)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventPosition:
- cdef readonly EventPoint output
- cdef readonly EventCoordPoint canvas
-
- cdef void _set_objs(self, Evas_Point *output, Evas_Coord_Point *canvas)
- cdef void _unset_objs(self)
-
-
-cdef class EventPrecisionPosition:
- cdef readonly EventPoint output
- cdef readonly EventPrecisionPoint canvas
-
- cdef void _set_objs(self, Evas_Point *output, Evas_Coord_Precision_Point *canvas)
- cdef void _unset_objs(self)
-
-
-cdef class EventMouseIn:
- cdef Evas_Event_Mouse_In *obj
- cdef readonly EventPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMouseOut:
- cdef Evas_Event_Mouse_Out *obj
- cdef readonly EventPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMouseDown:
- cdef Evas_Event_Mouse_Down *obj
- cdef readonly EventPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMouseUp:
- cdef Evas_Event_Mouse_Up *obj
- cdef readonly EventPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMouseMove:
- cdef Evas_Event_Mouse_Move *obj
- cdef readonly EventPosition position
- cdef readonly EventPosition prev_position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMultiDown:
- cdef Evas_Event_Multi_Down *obj
- cdef readonly EventPrecisionPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMultiUp:
- cdef Evas_Event_Multi_Up *obj
- cdef readonly EventPrecisionPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMultiMove:
- cdef Evas_Event_Multi_Move *obj
- cdef readonly EventPrecisionPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventMouseWheel:
- cdef Evas_Event_Mouse_Wheel *obj
- cdef readonly EventPosition position
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventKeyDown:
- cdef Evas_Event_Key_Down *obj
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventKeyUp:
- cdef Evas_Event_Key_Up *obj
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
-
-
-cdef class EventHold:
- cdef Evas_Event_Hold *obj
-
- cdef void _set_obj(self, void *ptr)
- cdef void _unset_obj(self)
- cdef void _check_validity(self) except *
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+from efl cimport *
+from efl.eo cimport Eo
+# cimport efl.c_eo as c_eo
+from efl.c_eo cimport Eo as cEo
+from efl.c_eo cimport const_Eo_Class
+
+
+cdef extern from "Evas.h":
+ ####################################################################
+ # Basic Types
+ #
+ ctypedef int Evas_Coord
+ ctypedef int Evas_Angle
+ ctypedef int Evas_Font_Size
+
+
+ ####################################################################
+ # Enumerations
+ #
+ ctypedef enum Evas_Layer:
+ pass
+
+ ctypedef enum Evas_Text:
+ pass
+
+ ctypedef enum Evas_Callback_Type:
+ pass
+
+
+ ctypedef enum Evas_Pixel_Format:
+ pass
+
+
+ ctypedef enum Evas_Color_Space:
+ pass
+
+
+ ctypedef enum Evas_Texture:
+ pass
+
+
+ cdef enum Evas_Alloc_Error:
+ pass
+
+
+ cdef enum Evas_Load_Error:
+ pass
+
+
+ ctypedef enum Evas_Button_Flags:
+ pass
+
+
+ ctypedef enum Evas_Event_Flags:
+ pass
+
+
+ ctypedef enum Evas_Font_Hinting_Flags:
+ pass
+
+
+ ctypedef enum Evas_Colorspace:
+ pass
+
+
+ ctypedef enum Evas_Render_Op:
+ pass
+
+
+ ctypedef enum Evas_Text_Style_Type:
+ pass
+
+
+ ctypedef enum Evas_Textblock_Text_Type:
+ pass
+
+
+ ctypedef enum Evas_Smart_Class_Version:
+ EVAS_SMART_CLASS_VERSION
+
+
+ ctypedef enum Evas_Object_Pointer_Mode:
+ pass
+
+
+ ctypedef enum Evas_Aspect_Control:
+ pass
+
+ ####################################################################
+ # Structures
+ #
+ ctypedef struct Evas_Point:
+ int x
+ int y
+
+ ctypedef struct Evas_Coord_Point: # Evas_Coord is int now
+ Evas_Coord x
+ Evas_Coord y
+
+ ctypedef struct Evas_Coord_Precision_Point: # Evas_Coord is int now
+ Evas_Coord x
+ Evas_Coord y
+ double xsub
+ double ysub
+
+ ctypedef struct Evas_Position:
+ Evas_Point output
+ Evas_Coord_Point canvas
+
+ ctypedef struct Evas_Precision_Position:
+ Evas_Point output
+ Evas_Coord_Precision_Point canvas
+
+ ctypedef struct Evas_Hash
+
+ ctypedef cEo Evas
+ ctypedef Evas const_Evas "const Evas"
+
+ ctypedef cEo Evas_Object
+ ctypedef Evas_Object const_Evas_Object "const Evas_Object"
+
+ ctypedef struct Evas_Modifier
+ ctypedef struct Evas_Lock
+ ctypedef struct Evas_Smart
+ ctypedef struct Evas_Native_Surface
+ ctypedef struct Evas_Textblock_Style
+ ctypedef Evas_Textblock_Style const_Evas_Textblock_Style "const Evas_Textblock_Style"
+ ctypedef struct Evas_Textblock_Cursor
+ ctypedef Evas_Textblock_Cursor const_Evas_Textblock_Cursor "const Evas_Textblock_Cursor"
+
+ ctypedef struct Evas_Smart_Cb_Description:
+ const_char_ptr name
+ const_char_ptr type
+ ctypedef Evas_Smart_Cb_Description const_Evas_Smart_Cb_Description "const Evas_Smart_Cb_Description"
+
+ ctypedef struct Evas_Smart_Interface
+ ctypedef Evas_Smart_Interface const_Evas_Smart_Interface "const Evas_Smart_Interface"
+
+ ctypedef struct Evas_Smart_Class
+ ctypedef Evas_Smart_Class const_Evas_Smart_Class "const Evas_Smart_Class"
+ ctypedef struct Evas_Smart_Class:
+ const_char_ptr name
+ int version
+ void (*add)(Evas_Object *o)
+ void (*delete "del")(Evas_Object *o)
+ void (*move)(Evas_Object *o, int x, int y)
+ void (*resize)(Evas_Object *o, int w, int h)
+ void (*show)(Evas_Object *o)
+ void (*hide)(Evas_Object *o)
+ void (*color_set)(Evas_Object *o, int r, int g, int b, int a)
+ void (*clip_set)(Evas_Object *o, Evas_Object *clip)
+ void (*clip_unset)(Evas_Object *o)
+ void (*calculate)(Evas_Object *o)
+ void (*member_add)(Evas_Object *o, Evas_Object *child)
+ void (*member_del)(Evas_Object *o, Evas_Object *child)
+ const_Evas_Smart_Class *parent
+ Evas_Smart_Cb_Description *callbacks
+ const_Evas_Smart_Interface **interfaces
+ const_void *data
+
+ ctypedef struct Evas_Device
+
+ ctypedef struct Evas_Event_Mouse_In:
+ int buttons
+ Evas_Point output
+ Evas_Coord_Point canvas
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Mouse_Out:
+ int buttons
+ Evas_Point output
+ Evas_Coord_Point canvas
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Mouse_Down:
+ int button
+ Evas_Point output
+ Evas_Coord_Point canvas
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ Evas_Button_Flags flags
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Mouse_Up:
+ int button
+ Evas_Point output
+ Evas_Coord_Point canvas
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ Evas_Button_Flags flags
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Mouse_Move:
+ int buttons
+ Evas_Position cur
+ Evas_Position prev
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+
+ ctypedef struct Evas_Event_Multi_Down:
+ int device
+ double radius
+ double radius_x
+ double radius_y
+ double pressure
+ double angle
+ Evas_Point output
+ Evas_Coord_Precision_Point canvas
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ Evas_Button_Flags flags
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Multi_Up:
+ int device
+ double radius
+ double radius_x
+ double radius_y
+ double pressure
+ double angle
+ Evas_Point output
+ Evas_Coord_Precision_Point canvas
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ Evas_Button_Flags flags
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Multi_Move:
+ double radius
+ double radius_x
+ double radius_y
+ double pressure
+ double angle
+ Evas_Precision_Position cur
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Mouse_Wheel:
+ int direction # 0 = default up/down wheel
+ int z # ...,-2,-1 = down, 1,2,... = up */
+ Evas_Point output
+ Evas_Coord_Point canvas
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Key_Down:
+ char *keyname
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ const_char_ptr key
+ const_char_ptr string
+ const_char_ptr compose
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Key_Up:
+ char *keyname
+ void *data
+ Evas_Modifier *modifiers
+ Evas_Lock *locks
+ const_char_ptr key
+ const_char_ptr string
+ const_char_ptr compose
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Event_Hold:
+ int hold
+ void *data
+ unsigned int timestamp
+ Evas_Event_Flags event_flags
+ Evas_Device *dev
+
+ ctypedef struct Evas_Object_Box_Option:
+ Evas_Object *obj
+
+ ctypedef struct Evas_Map
+ ctypedef Evas_Map const_Evas_Map "const Evas_Map"
+
+
+ ####################################################################
+ # Other typedefs
+ #
+ ctypedef void (*Evas_Event_Cb)(void *data, Evas *e, void *event_info)
+ ctypedef void (*Evas_Object_Event_Cb)(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ ctypedef void (*Evas_Smart_Cb)(void *data, Evas_Object *obj, void *event_info)
+
+ ctypedef void *Evas_Object_Box_Data
+ ctypedef void (*Evas_Object_Box_Layout)(Evas_Object *o, Evas_Object_Box_Data *priv, void *user_data)
+
+
+ ####################################################################
+ # Engine
+ #
+ int evas_init()
+ int evas_shutdown()
+
+
+ ####################################################################
+ # Canvas
+ #
+ Evas *evas_new()
+ void evas_free(Evas *e)
+ const_Eo_Class *evas_class_get()
+
+ int evas_render_method_lookup(const_char_ptr name)
+ Eina_List *evas_render_method_list()
+ void evas_render_method_list_free(Eina_List *list)
+
+ void evas_output_method_set(Evas *e, int render_method)
+ int evas_output_method_get(Evas *e)
+
+ void *evas_engine_info_get(Evas *e)
+ int evas_engine_info_set(Evas *e, void *info)
+
+ void evas_output_size_set(Evas *e, int w, int h)
+ void evas_output_size_get(const_Evas *e, int *w, int *h)
+ void evas_output_viewport_set(Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
+ void evas_output_viewport_get(const_Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+ Evas_Coord evas_coord_screen_x_to_world(const_Evas *e, int x)
+ Evas_Coord evas_coord_screen_y_to_world(const_Evas *e, int y)
+ int evas_coord_world_x_to_screen(const_Evas *e, Evas_Coord x)
+ int evas_coord_world_y_to_screen(const_Evas *e, Evas_Coord y)
+
+ void evas_pointer_output_xy_get(const_Evas *e, int *x, int *y)
+ void evas_pointer_canvas_xy_get(const_Evas *e, Evas_Coord *x, Evas_Coord *y)
+ int evas_pointer_button_down_mask_get(const_Evas *e)
+ Eina_Bool evas_pointer_inside_get(const_Evas *e)
+
+ Evas_Object *evas_object_top_at_xy_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
+ Evas_Object *evas_object_top_at_pointer_get(const_Evas *e)
+ Evas_Object *evas_object_top_in_rectangle_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
+
+ Eina_List *evas_objects_at_xy_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
+ Eina_List *evas_objects_in_rectangle_get(const_Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
+
+ void evas_damage_rectangle_add(Evas *e, int x, int y, int w, int h)
+ void evas_obscured_rectangle_add(Evas *e, int x, int y, int w, int h)
+ void evas_obscured_clear(Evas *e)
+ Eina_List *evas_render_updates(Evas *e)
+ void evas_render_updates_free(Eina_List *updates)
+ void evas_render(Evas *e)
+ void evas_norender(Evas *e)
+ void *evas_data_attach_get(const_Evas *e)
+ void evas_data_attach_set(Evas *e, void *data)
+
+ Evas_Object *evas_focus_get(const_Evas *e)
+
+ Evas_Modifier *evas_key_modifier_get(Evas *e)
+ Eina_Bool evas_key_modifier_is_set(Evas_Modifier *m, const_char_ptr keyname)
+
+ void evas_event_freeze(Evas *e)
+ void evas_event_thaw(Evas *e)
+ int evas_event_freeze_get(const_Evas *e)
+
+ void evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
+ void evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
+ void evas_event_feed_mouse_cancel(Evas *e, unsigned int timestamp, const_void *data)
+ void evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestamp, const_void *data)
+ void evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const_void *data)
+ void evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const_void *data)
+ void evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const_void *data)
+ void evas_event_feed_multi_down(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
+ void evas_event_feed_multi_up(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const_void *data)
+ void evas_event_feed_multi_move(Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const_void *data)
+ void evas_event_feed_key_down(Evas *e, const_char_ptr keyname, const_char_ptr key, const_char_ptr string, const_char_ptr compose, unsigned int timestamp, const_void *data)
+ void evas_event_feed_key_up(Evas *e, const_char_ptr keyname, const_char_ptr key, const_char_ptr string, const_char_ptr compose, unsigned int timestamp, const_void *data)
+ void evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const_void *data)
+
+ void evas_font_path_clear(Evas *e)
+ void evas_font_path_append(Evas *e, const_char_ptr path)
+ void evas_font_path_prepend(Evas *e, const_char_ptr path)
+ const_Eina_List *evas_font_path_list(const_Evas *e)
+
+ void evas_font_hinting_set(Evas *e, Evas_Font_Hinting_Flags hinting)
+ Evas_Font_Hinting_Flags evas_font_hinting_get(const_Evas *e)
+ Eina_Bool evas_font_hinting_can_hint(const_Evas *e, Evas_Font_Hinting_Flags hinting)
+
+ void evas_font_cache_flush(Evas *e)
+ void evas_font_cache_set(Evas *e, int size)
+ int evas_font_cache_get(const_Evas *e)
+
+ Eina_List *evas_font_available_list(const_Evas *e)
+ void evas_font_available_list_free(Evas *e, Eina_List *available)
+
+ void evas_image_cache_flush(Evas *e)
+ void evas_image_cache_reload(Evas *e)
+ void evas_image_cache_set(Evas *e, int size)
+ int evas_image_cache_get(const_Evas *e)
+
+
+ ####################################################################
+ # Base Object
+ #
+ void evas_object_del(Evas_Object *obj)
+ Evas *evas_object_evas_get(const_Evas_Object *obj)
+
+ void evas_object_data_set(Evas_Object *obj, const_char_ptr key, const_void *data)
+ void *evas_object_data_get(const_Evas_Object *obj, const_char_ptr key)
+ void *evas_object_data_del(Evas_Object *obj, const_char_ptr key)
+
+ const_char_ptr evas_object_type_get(const_Evas_Object *obj)
+
+ void evas_object_layer_set(Evas_Object *obj, int l)
+ int evas_object_layer_get(const_Evas_Object *obj)
+
+ void evas_object_raise(Evas_Object *obj)
+ void evas_object_lower(Evas_Object *obj)
+ void evas_object_stack_above(Evas_Object *obj, Evas_Object *above)
+ void evas_object_stack_below(Evas_Object *obj, Evas_Object *below)
+ Evas_Object *evas_object_above_get(const_Evas_Object *obj)
+ Evas_Object *evas_object_below_get(const_Evas_Object *obj)
+ Evas_Object *evas_object_bottom_get(const_Evas *e)
+ Evas_Object *evas_object_top_get(const_Evas *e)
+
+ void evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+ void evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+ void evas_object_geometry_get(const_Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+
+ void evas_object_size_hint_min_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
+ void evas_object_size_hint_min_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+ void evas_object_size_hint_max_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
+ void evas_object_size_hint_max_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+ void evas_object_size_hint_request_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
+ void evas_object_size_hint_request_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+ void evas_object_size_hint_aspect_get(const_Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)
+ void evas_object_size_hint_aspect_set(Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)
+ void evas_object_size_hint_align_get(const_Evas_Object *obj, double *x, double *y)
+ void evas_object_size_hint_align_set(Evas_Object *obj, double x, double y)
+ void evas_object_size_hint_weight_get(const_Evas_Object *obj, double *x, double *y)
+ void evas_object_size_hint_weight_set(Evas_Object *obj, double x, double y)
+ void evas_object_size_hint_padding_get(const_Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)
+ void evas_object_size_hint_padding_set(Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)
+
+ void evas_object_show(Evas_Object *obj)
+ void evas_object_hide(Evas_Object *obj)
+ Eina_Bool evas_object_visible_get(const_Evas_Object *obj)
+
+ void evas_object_static_clip_set(Evas_Object *obj, Eina_Bool is_static_clip)
+ Eina_Bool evas_object_static_clip_get(Evas_Object *obj)
+
+ void evas_object_render_op_set(Evas_Object *obj, Evas_Render_Op op)
+ Evas_Render_Op evas_object_render_op_get(const_Evas_Object *obj)
+
+ void evas_object_anti_alias_set(Evas_Object *obj, Eina_Bool antialias)
+ Eina_Bool evas_object_anti_alias_get(const_Evas_Object *obj)
+
+ void evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a)
+ void evas_object_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
+
+ void evas_color_argb_premul(int a, int *r, int *g, int *b)
+ void evas_color_argb_unpremul(int a, int *r, int *g, int *b)
+
+ void evas_color_hsv_to_rgb(float h, float s, float v, int *r, int *g, int *b)
+ void evas_color_rgb_to_hsv(int r, int g, int b, float *h, float *s, float *v)
+
+ void evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
+ Evas_Object *evas_object_clip_get(const_Evas_Object *obj)
+ void evas_object_clip_unset(Evas_Object *obj)
+ const_Eina_List *evas_object_clipees_get(const_Evas_Object *obj)
+
+ void evas_object_name_set(Evas_Object *obj, const_char_ptr name)
+ const_char_ptr evas_object_name_get(const_Evas_Object *obj)
+ Evas_Object *evas_object_name_find(const_Evas *e, const_char_ptr name)
+
+ int evas_async_events_fd_get()
+ int evas_async_events_process()
+
+ void evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const_void *data)
+ void *evas_object_event_callback_del(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func)
+
+ void evas_event_callback_add(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const_void *data)
+ void *evas_event_callback_del(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func)
+
+ void evas_object_pass_events_set(Evas_Object *obj, Eina_Bool p)
+ Eina_Bool evas_object_pass_events_get(const_Evas_Object *obj)
+ void evas_object_repeat_events_set(Evas_Object *obj, Eina_Bool repeat)
+ Eina_Bool evas_object_repeat_events_get(const_Evas_Object *obj)
+ void evas_object_propagate_events_set(Evas_Object *obj, Eina_Bool prop)
+ Eina_Bool evas_object_propagate_events_get(const_Evas_Object *obj)
+ void evas_object_pointer_mode_set(Evas_Object *obj, Evas_Object_Pointer_Mode setting)
+ Evas_Object_Pointer_Mode evas_object_pointer_mode_get(const_Evas_Object *obj)
+
+ void evas_object_focus_set(Evas_Object *obj, Eina_Bool focus)
+ Eina_Bool evas_object_focus_get(const_Evas_Object *obj)
+
+
+ ####################################################################
+ # Smart Object (py3:TODO)
+ #
+ void evas_smart_free(Evas_Smart *s)
+ Evas_Smart *evas_smart_class_new(Evas_Smart_Class *sc)
+ Evas_Smart_Class *evas_smart_class_get(Evas_Smart *s)
+ const_Eo_Class *evas_object_smart_class_get()
+
+ void *evas_smart_data_get(Evas_Smart *s)
+
+ Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s)
+ void evas_object_smart_member_add(Evas_Object *obj, Evas_Object *smart_obj)
+ void evas_object_smart_member_del(Evas_Object *obj)
+ Evas_Object *evas_object_smart_parent_get(const_Evas_Object *obj)
+ Eina_List *evas_object_smart_members_get(const_Evas_Object *obj)
+ Evas_Smart *evas_object_smart_smart_get(const_Evas_Object *obj)
+ void *evas_object_smart_data_get(const_Evas_Object *obj)
+ void evas_object_smart_data_set(Evas_Object *obj, void *data)
+ void evas_object_smart_callback_add(Evas_Object *obj, const_char_ptr event, Evas_Smart_Cb func, const_void *data)
+ void *evas_object_smart_callback_del(Evas_Object *obj, const_char_ptr event, Evas_Smart_Cb func)
+ void evas_object_smart_callback_call(Evas_Object *obj, const_char_ptr event, void *event_info)
+ void evas_object_smart_changed(Evas_Object *obj)
+ void evas_object_smart_need_recalculate_set(Evas_Object *obj, int value)
+ int evas_object_smart_need_recalculate_get(const_Evas_Object *obj)
+ void evas_object_smart_calculate(Evas_Object *obj)
+ void evas_object_smart_move_children_relative(Evas_Object *obj, int dx, int dy)
+
+
+ ####################################################################
+ # Rectangle Object
+ #
+ Evas_Object *evas_object_rectangle_add(Evas *e)
+ const_Eo_Class *evas_object_rectangle_class_get()
+
+
+ ####################################################################
+ # Line Object
+ #
+ Evas_Object *evas_object_line_add(Evas *e)
+ void evas_object_line_xy_set(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)
+ void evas_object_line_xy_get(const_Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)
+ const_Eo_Class *evas_object_line_class_get()
+
+
+ ####################################################################
+ # Image Object
+ #
+ Evas_Object *evas_object_image_add(Evas *e)
+ const_Eo_Class *evas_object_image_class_get()
+ void evas_object_image_file_set(Evas_Object *obj, const_char_ptr file, const_char_ptr key)
+ void evas_object_image_file_get(const_Evas_Object *obj, const_char_ptr *file, const_char_ptr *key)
+ void evas_object_image_border_set(Evas_Object *obj, int l, int r, int t, int b)
+ void evas_object_image_border_get(const_Evas_Object *obj, int *l, int *r, int *t, int *b)
+ void evas_object_image_border_center_fill_set(Evas_Object *obj, Eina_Bool fill)
+ Eina_Bool evas_object_image_border_center_fill_get(const_Evas_Object *obj)
+ void evas_object_image_fill_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
+ void evas_object_image_fill_get(const_Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+ void evas_object_image_size_set(Evas_Object *obj, int w, int h)
+ void evas_object_image_size_get(const_Evas_Object *obj, int *w, int *h)
+ int evas_object_image_stride_get(const_Evas_Object *obj)
+ int evas_object_image_load_error_get(const_Evas_Object *obj)
+ void evas_object_image_data_set(Evas_Object *obj, void *data)
+ void *evas_object_image_data_get(const_Evas_Object *obj, Eina_Bool for_writing)
+ void evas_object_image_data_copy_set(Evas_Object *obj, void *data)
+ void evas_object_image_data_update_add(Evas_Object *obj, int x, int y, int w, int h)
+ void evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool has_alpha)
+ Eina_Bool evas_object_image_alpha_get(const_Evas_Object *obj)
+ void evas_object_image_smooth_scale_set(Evas_Object *obj, Eina_Bool smooth_scale)
+ Eina_Bool evas_object_image_smooth_scale_get(const_Evas_Object *obj)
+ void evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel)
+ void evas_object_image_reload(Evas_Object *obj)
+ Eina_Bool evas_object_image_save(const_Evas_Object *obj, const_char_ptr file, const_char_ptr key, const_char_ptr flags)
+ #Eina_Bool evas_object_image_pixels_import(Evas_Object *obj, Evas_Pixel_Import_Source *pixels)
+ void evas_object_image_pixels_get_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *o), void *data)
+ void evas_object_image_pixels_dirty_set(Evas_Object *obj, Eina_Bool dirty)
+ Eina_Bool evas_object_image_pixels_dirty_get(const_Evas_Object *obj)
+ void evas_object_image_load_dpi_set(Evas_Object *obj, double dpi)
+ double evas_object_image_load_dpi_get(const_Evas_Object *obj)
+ void evas_object_image_load_size_set(Evas_Object *obj, int w, int h)
+ void evas_object_image_load_size_get(const_Evas_Object *obj, int *w, int *h)
+ void evas_object_image_load_scale_down_set(Evas_Object *obj, int scale_down)
+ int evas_object_image_load_scale_down_get(const_Evas_Object *obj)
+ void evas_object_image_colorspace_set(Evas_Object *obj, Evas_Colorspace cspace)
+ Evas_Colorspace evas_object_image_colorspace_get(const_Evas_Object *obj)
+ void evas_object_image_native_surface_set(Evas_Object *obj, Evas_Native_Surface *surf)
+ Evas_Native_Surface *evas_object_image_native_surface_get(const_Evas_Object *obj)
+
+
+ ####################################################################
+ # Polygon Object
+ #
+ Evas_Object *evas_object_polygon_add(Evas *e)
+ const_Eo_Class *evas_object_polygon_class_get()
+ void evas_object_polygon_point_add(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+ void evas_object_polygon_points_clear(Evas_Object *obj)
+
+
+ ####################################################################
+ # Text Object (py3:TODO)
+ #
+ Evas_Object *evas_object_text_add(Evas *e)
+ const_Eo_Class *evas_object_text_class_get()
+ void evas_object_text_font_source_set(Evas_Object *obj, const_char_ptr font)
+ const_char_ptr evas_object_text_font_source_get(const_Evas_Object *obj)
+ void evas_object_text_font_set(Evas_Object *obj, const_char_ptr font, Evas_Font_Size size)
+ void evas_object_text_font_get(const_Evas_Object *obj, const_char_ptr *font, Evas_Font_Size *size)
+ void evas_object_text_text_set(Evas_Object *obj, const_char_ptr text)
+ const_char_ptr evas_object_text_text_get(const_Evas_Object *obj)
+ Evas_Coord evas_object_text_ascent_get(const_Evas_Object *obj)
+ Evas_Coord evas_object_text_descent_get(const_Evas_Object *obj)
+ Evas_Coord evas_object_text_max_ascent_get(const_Evas_Object *obj)
+ Evas_Coord evas_object_text_max_descent_get(const_Evas_Object *obj)
+ Evas_Coord evas_object_text_horiz_advance_get(const_Evas_Object *obj)
+ Evas_Coord evas_object_text_vert_advance_get(const_Evas_Object *obj)
+ Evas_Coord evas_object_text_inset_get(const_Evas_Object *obj)
+ int evas_object_text_char_pos_get(const_Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+ int evas_object_text_char_coords_get(const_Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+ Evas_Text_Style_Type evas_object_text_style_get(const_Evas_Object *obj)
+ void evas_object_text_style_set(Evas_Object *obj, Evas_Text_Style_Type type)
+ void evas_object_text_shadow_color_set(Evas_Object *obj, int r, int g, int b, int a)
+ void evas_object_text_shadow_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
+ void evas_object_text_glow_color_set(Evas_Object *obj, int r, int g, int b, int a)
+ void evas_object_text_glow_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
+ void evas_object_text_glow2_color_set(Evas_Object *obj, int r, int g, int b, int a)
+ void evas_object_text_glow2_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
+ void evas_object_text_outline_color_set(Evas_Object *obj, int r, int g, int b, int a)
+ void evas_object_text_outline_color_get(const_Evas_Object *obj, int *r, int *g, int *b, int *a)
+ void evas_object_text_style_pad_get(const_Evas_Object *obj, int *l, int *r, int *t, int *b)
+
+
+ ####################################################################
+ # Textblock Object (py3:TODO)
+ #
+ Evas_Object *evas_object_textblock_add(Evas *e)
+ const_Eo_Class *evas_object_textblock_class_get()
+ Evas_Textblock_Style *evas_textblock_style_new()
+ void evas_textblock_style_free(Evas_Textblock_Style *ts)
+ void evas_textblock_style_set(Evas_Textblock_Style *ts, const_char_ptr text)
+ const_char_ptr evas_textblock_style_get(const_Evas_Textblock_Style *ts)
+ void evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts)
+ Evas_Textblock_Style *evas_object_textblock_style_get(const_Evas_Object *obj)
+ void evas_object_textblock_replace_char_set(Evas_Object *obj, const_char_ptr ch)
+ const_char_ptr evas_object_textblock_replace_char_get(const_Evas_Object *obj)
+ const_char_ptr evas_textblock_escape_string_get(const_char_ptr escape)
+ const_char_ptr evas_textblock_string_escape_get(const_char_ptr string, int *len_ret)
+ void evas_object_textblock_text_markup_set(Evas_Object *obj, const_char_ptr text)
+ void evas_object_textblock_text_markup_prepend(Evas_Textblock_Cursor *cur, const_char_ptr text)
+ const_char_ptr evas_object_textblock_text_markup_get(const_Evas_Object *obj)
+ Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const_Evas_Object *obj)
+ Evas_Textblock_Cursor *evas_object_textblock_cursor_new(Evas_Object *obj)
+ void evas_textblock_cursor_free(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_node_first(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_node_last(Evas_Textblock_Cursor *cur)
+ Eina_Bool evas_textblock_cursor_node_next(Evas_Textblock_Cursor *cur)
+ Eina_Bool evas_textblock_cursor_node_prev(Evas_Textblock_Cursor *cur)
+ Eina_Bool evas_textblock_cursor_char_next(Evas_Textblock_Cursor *cur)
+ Eina_Bool evas_textblock_cursor_char_prev(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_char_first(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_char_last(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_line_first(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_line_last(Evas_Textblock_Cursor *cur)
+ int evas_textblock_cursor_pos_get(const_Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_pos_set(Evas_Textblock_Cursor *cur, int pos)
+ Eina_Bool evas_textblock_cursor_line_set(Evas_Textblock_Cursor *cur, int line)
+ int evas_textblock_cursor_compare(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
+ void evas_textblock_cursor_copy(Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)
+ void evas_textblock_cursor_text_append(Evas_Textblock_Cursor *cur, const_char_ptr text)
+ void evas_textblock_cursor_text_prepend(Evas_Textblock_Cursor *cur, const_char_ptr text)
+ void evas_textblock_cursor_format_append(Evas_Textblock_Cursor *cur, const_char_ptr format)
+ void evas_textblock_cursor_format_prepend(Evas_Textblock_Cursor *cur, const_char_ptr format)
+ void evas_textblock_cursor_node_delete(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_char_delete(Evas_Textblock_Cursor *cur)
+ void evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
+ const_char_ptr evas_textblock_cursor_node_text_get(const_Evas_Textblock_Cursor *cur)
+ int evas_textblock_cursor_node_text_length_get(const_Evas_Textblock_Cursor *cur)
+ const_char_ptr evas_textblock_cursor_node_format_get(const_Evas_Textblock_Cursor *cur)
+ Eina_Bool evas_textblock_cursor_node_format_is_visible_get(const_Evas_Textblock_Cursor *cur)
+ const_char_ptr evas_textblock_cursor_range_text_get(const_Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2, Evas_Textblock_Text_Type format)
+ int evas_textblock_cursor_char_geometry_get(const_Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+ int evas_textblock_cursor_line_geometry_get(const_Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+ Eina_Bool evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)
+ int evas_textblock_cursor_line_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord y)
+ Eina_List *evas_textblock_cursor_range_geometry_get(const_Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
+ Eina_Bool evas_object_textblock_line_number_geometry_get(const_Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+ void evas_object_textblock_clear(Evas_Object *obj)
+ void evas_object_textblock_size_formatted_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
+ void evas_object_textblock_size_native_get(const_Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
+ void evas_object_textblock_style_insets_get(const_Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)
+
+
+ ####################################################################
+ # Box Object
+ #
+ Evas_Object *evas_object_box_add(Evas *e)
+ Evas_Object *evas_object_box_add_to(Evas_Object *parent)
+ const_Eo_Class *evas_object_box_class_get()
+
+ void evas_object_box_align_set(Evas_Object *o, double horizontal, double vertical)
+ void evas_object_box_align_get(const_Evas_Object *o, double *horizontal, double *vertical)
+ void evas_object_box_padding_set(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)
+ void evas_object_box_padding_get(const_Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)
+
+ Evas_Object_Box_Option *evas_object_box_append(Evas_Object *o, Evas_Object *child)
+ Evas_Object_Box_Option *evas_object_box_prepend(Evas_Object *o, Evas_Object *child)
+ Evas_Object_Box_Option *evas_object_box_insert_before(Evas_Object *o, Evas_Object *child, Evas_Object *reference)
+ Evas_Object_Box_Option *evas_object_box_insert_after(Evas_Object *o, Evas_Object *child, Evas_Object *reference)
+ Evas_Object_Box_Option *evas_object_box_insert_at(Evas_Object *o, Evas_Object *child, unsigned int pos)
+
+ Eina_Bool evas_object_box_remove(Evas_Object *o, Evas_Object *child)
+ Eina_Bool evas_object_box_remove_at(Evas_Object *o, unsigned int pos)
+ Eina_Bool evas_object_box_remove_all(Evas_Object *o, Eina_Bool clear)
+
+ void evas_object_box_layout_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_homogeneous_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_homogeneous_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_homogeneous_max_size_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_homogeneous_max_size_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_flow_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_flow_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void evas_object_box_layout_stack(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+ void elm_box_layout_transition(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+
+
+ ####################################################################
+ # Evas Map
+ #
+ Evas_Map *evas_map_new(int count)
+
+ void evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled)
+ Eina_Bool evas_object_map_enable_get(const_Evas_Object *obj)
+ void evas_object_map_set(Evas_Object *obj, const_Evas_Map *map)
+ const_Evas_Map *evas_object_map_get(const_Evas_Object *obj)
+
+ void evas_map_util_points_populate_from_object_full(Evas_Map *m, const_Evas_Object *obj, Evas_Coord z)
+ void evas_map_util_points_populate_from_object(Evas_Map *m, const_Evas_Object *obj)
+ void evas_map_util_points_populate_from_geometry(Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)
+ void evas_map_util_points_color_set(Evas_Map *m, int r, int g, int b, int a)
+ void evas_map_util_rotate(Evas_Map *m, double degrees, Evas_Coord cx, Evas_Coord cy)
+ void evas_map_util_zoom(Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)
+ void evas_map_util_3d_rotate(Evas_Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)
+ void evas_map_util_3d_lighting(Evas_Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)
+ void evas_map_util_3d_perspective(Evas_Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)
+ Eina_Bool evas_map_util_clockwise_get(Evas_Map *m)
+
+ void evas_map_smooth_set(Evas_Map *m, Eina_Bool enabled)
+ Eina_Bool evas_map_smooth_get(const_Evas_Map *m)
+ void evas_map_alpha_set(Evas_Map *m, Eina_Bool enabled)
+ Eina_Bool evas_map_alpha_get(const_Evas_Map *m)
+ Evas_Map *evas_map_dup(const_Evas_Map *m)
+ void evas_map_free(Evas_Map *m)
+ int evas_map_count_get(const_Evas_Map *m)
+ void evas_map_point_coord_set(Evas_Map *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)
+ void evas_map_point_coord_get(const_Evas_Map *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)
+ void evas_map_point_image_uv_set(Evas_Map *m, int idx, double u, double v)
+ void evas_map_point_image_uv_get(const_Evas_Map *m, int idx, double *u, double *v)
+ void evas_map_point_color_set(Evas_Map *m, int idx, int r, int g, int b, int a)
+ void evas_map_point_color_get(const_Evas_Map *m, int idx, int *r, int *g, int *b, int *a)
+
+
+####################################################################
+# Python classes
+#
+cdef class Rect:
+ cdef int x0, y0, x1, y1, cx, cy, _w, _h
+
+
+cdef class Canvas(Eo):
+# cdef Evas *obj
+ cdef object _callbacks
+#
+# cdef int _set_obj(self, Evas *obj) except 0
+# cdef int _unset_obj(self) except 0
+
+
+cdef class Object(Eo):
+# cdef readonly Canvas evas
+ cdef object _callbacks
+ # cdef int _unset_obj(self) except 0
+ # cdef int _set_obj(self, Evas_Object *obj) except 0
+
+
+cdef class Rectangle(Object):
+ pass
+
+
+cdef class Line(Object):
+ pass
+
+
+cdef class Image(Object):
+ pass
+
+
+cdef class FilledImage(Image):
+ pass
+
+
+cdef class Polygon(Object):
+ pass
+
+
+cdef class Text(Object):
+ pass
+
+
+cdef class Textblock(Object):
+ pass
+
+
+cdef class SmartObject(Object):
+ cdef object _smart_callbacks
+ cdef object _m_delete
+ cdef object _m_move
+ cdef object _m_resize
+ cdef object _m_show
+ cdef object _m_hide
+ cdef object _m_color_set
+ cdef object _m_clip_set
+ cdef object _m_clip_unset
+ cdef object _m_calculate
+
+
+cdef class ClippedSmartObject(SmartObject):
+ cdef readonly Rectangle clipper
+
+
+cdef class EventPoint:
+ cdef Evas_Point *obj
+
+ cdef void _set_obj(self, Evas_Point *obj)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventCoordPoint:
+ cdef Evas_Coord_Point *obj
+
+ cdef void _set_obj(self, Evas_Coord_Point *obj)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventPrecisionPoint:
+ cdef Evas_Coord_Precision_Point *obj
+
+ cdef void _set_obj(self, Evas_Coord_Precision_Point *obj)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventPosition:
+ cdef readonly EventPoint output
+ cdef readonly EventCoordPoint canvas
+
+ cdef void _set_objs(self, Evas_Point *output, Evas_Coord_Point *canvas)
+ cdef void _unset_objs(self)
+
+
+cdef class EventPrecisionPosition:
+ cdef readonly EventPoint output
+ cdef readonly EventPrecisionPoint canvas
+
+ cdef void _set_objs(self, Evas_Point *output, Evas_Coord_Precision_Point *canvas)
+ cdef void _unset_objs(self)
+
+
+cdef class EventMouseIn:
+ cdef Evas_Event_Mouse_In *obj
+ cdef readonly EventPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMouseOut:
+ cdef Evas_Event_Mouse_Out *obj
+ cdef readonly EventPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMouseDown:
+ cdef Evas_Event_Mouse_Down *obj
+ cdef readonly EventPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMouseUp:
+ cdef Evas_Event_Mouse_Up *obj
+ cdef readonly EventPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMouseMove:
+ cdef Evas_Event_Mouse_Move *obj
+ cdef readonly EventPosition position
+ cdef readonly EventPosition prev_position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMultiDown:
+ cdef Evas_Event_Multi_Down *obj
+ cdef readonly EventPrecisionPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMultiUp:
+ cdef Evas_Event_Multi_Up *obj
+ cdef readonly EventPrecisionPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMultiMove:
+ cdef Evas_Event_Multi_Move *obj
+ cdef readonly EventPrecisionPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventMouseWheel:
+ cdef Evas_Event_Mouse_Wheel *obj
+ cdef readonly EventPosition position
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventKeyDown:
+ cdef Evas_Event_Key_Down *obj
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventKeyUp:
+ cdef Evas_Event_Key_Up *obj
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
+
+
+cdef class EventHold:
+ cdef Evas_Event_Hold *obj
+
+ cdef void _set_obj(self, void *ptr)
+ cdef void _unset_obj(self)
+ cdef void _check_validity(self) except *
diff --git a/include/efl.pxd b/include/efl.pxd
index f4961e1..3680859 100644
--- a/include/efl.pxd
+++ b/include/efl.pxd
@@ -1,138 +1,138 @@
-# Copyright (C) 2007-2013 various contributors (see AUTHORS)
-#
-# This file is part of Python-EFL.
-#
-# Python-EFL is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# Python-EFL is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this Python-EFL. If not, see .
-
-
-cdef extern from *:
- ctypedef char* const_char_ptr "const char *"
- ctypedef void const_void "const void"
-
-cdef extern from "stdlib.h":
- void *malloc(long)
- void free(void*)
-
-# cdef extern from "stdio.h":
-# int printf(char*)
-
-cdef extern from "string.h":
- void *memcpy(void *dst, void *src, int n)
- char *strdup(char *str)
-
-cdef extern from "time.h":
- struct tm:
- int tm_sec
- int tm_min
- int tm_hour
- int tm_mday
- int tm_mon
- int tm_year
- int tm_wday
- int tm_yday
- int tm_isdst
-
- long int tm_gmtoff
- const_char_ptr tm_zone
-
-
-cdef extern from "Eina.h":
- ####################################################################
- # Enumerations
- #
-
- ####################################################################
- # Basic Types
- #
- ctypedef unsigned char Eina_Bool
- ctypedef int Eina_Error
-
- ####################################################################
- # Structures
- #
- ctypedef struct Eina_Rectangle:
- int x
- int y
- int w
- int h
-
- ctypedef struct Eina_List:
- void *data
- Eina_List *next
- Eina_List *prev
- void *accounting
- ctypedef Eina_List const_Eina_List "const Eina_List"
-
- ctypedef struct Eina_Hash_Tuple:
- void *key
- void *data
- unsigned int key_length
- ctypedef Eina_Hash_Tuple const_Eina_Hash_Tuple "const Eina_Hash_Tuple"
-
- ctypedef struct Eina_Iterator:
- Eina_Bool (*next)(Eina_Iterator *it, void **data)
- void *(*get_container)(Eina_Iterator *it)
- void (*free)(Eina_Iterator *it)
-
- ####################################################################
- # Other typedefs
- #
- ctypedef int (*Eina_Compare_Cb)(const_void *data1, const_void *data2)
-
- ####################################################################
- # Functions
- #
- Eina_Error eina_error_get()
- void eina_error_set(Eina_Error err)
- const_char_ptr eina_error_msg_get(Eina_Error error)
-
- Eina_Bool eina_iterator_next(Eina_Iterator *iterator, void **data)
- void eina_iterator_free(Eina_Iterator *iterator)
-
- Eina_List *eina_list_free(Eina_List *list)
- Eina_List *eina_list_append(Eina_List *list, void *data)
- Eina_List *eina_list_prepend(Eina_List *list, void *data)
- Eina_List *eina_list_append(Eina_List *list, void *data)
- Eina_List *eina_list_prepend(Eina_List *list, void *data)
- Eina_List *eina_list_append_relative(Eina_List *list, void *data, void *relative)
- Eina_List *eina_list_append_relative_list(Eina_List *list, void *data, Eina_List *relative)
- Eina_List *eina_list_prepend_relative(Eina_List *list, void *data, void *relative)
- Eina_List *eina_list_prepend_relative_list(Eina_List *list, void *data, Eina_List *relative)
- Eina_List *eina_list_sorted_insert(Eina_List *list, Eina_Compare_Cb func, void *data)
- Eina_List *eina_list_remove(Eina_List *list, void *data)
- Eina_List *eina_list_remove_list(Eina_List *list, Eina_List *remove_list)
- Eina_List *eina_list_promote_list(Eina_List *list, Eina_List *move_list)
- Eina_List *eina_list_demote_list(Eina_List *list, Eina_List *move_list)
- void *eina_list_data_find(Eina_List *list, void *data)
- Eina_List *eina_list_data_find_list(Eina_List *list, void *data)
- Eina_List *eina_list_free(Eina_List *list)
- void *eina_list_nth(Eina_List *list, unsigned int n)
- Eina_List *eina_list_nth_list(Eina_List *list, unsigned int n)
- Eina_List *eina_list_reverse(Eina_List *list)
- Eina_List *eina_list_reverse_clone(Eina_List *list)
- Eina_List *eina_list_clone(Eina_List *list)
- Eina_List *eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func)
- Eina_List *eina_list_merge(Eina_List *left, Eina_List *right)
- Eina_List *eina_list_sorted_merge(Eina_List *left, Eina_List *right, Eina_Compare_Cb func)
- Eina_List *eina_list_split_list(Eina_List *list, Eina_List *relative, Eina_List **right)
- Eina_List *eina_list_search_sorted_near_list(Eina_List *list, Eina_Compare_Cb func, void *data, int *result_cmp)
- Eina_List *eina_list_search_sorted_list(Eina_List *list, Eina_Compare_Cb func, void *data)
- void *eina_list_search_sorted(Eina_List *list, Eina_Compare_Cb func, void *data)
- Eina_List *eina_list_search_unsorted_list(Eina_List *list, Eina_Compare_Cb func, void *data)
- void *eina_list_search_unsorted(Eina_List *list, Eina_Compare_Cb func, void *data)
- Eina_List *eina_list_last(Eina_List *list)
- Eina_List *eina_list_next(Eina_List *list)
- Eina_List *eina_list_prev(Eina_List *list)
- void *eina_list_data_get(Eina_List *list)
- unsigned int eina_list_count(Eina_List *list)
+# Copyright (C) 2007-2013 various contributors (see AUTHORS)
+#
+# This file is part of Python-EFL.
+#
+# Python-EFL is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-EFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this Python-EFL. If not, see .
+
+
+cdef extern from *:
+ ctypedef char* const_char_ptr "const char *"
+ ctypedef void const_void "const void"
+
+cdef extern from "stdlib.h":
+ void *malloc(long)
+ void free(void*)
+
+# cdef extern from "stdio.h":
+# int printf(char*)
+
+cdef extern from "string.h":
+ void *memcpy(void *dst, void *src, int n)
+ char *strdup(char *str)
+
+cdef extern from "time.h":
+ struct tm:
+ int tm_sec
+ int tm_min
+ int tm_hour
+ int tm_mday
+ int tm_mon
+ int tm_year
+ int tm_wday
+ int tm_yday
+ int tm_isdst
+
+ long int tm_gmtoff
+ const_char_ptr tm_zone
+
+
+cdef extern from "Eina.h":
+ ####################################################################
+ # Enumerations
+ #
+
+ ####################################################################
+ # Basic Types
+ #
+ ctypedef unsigned char Eina_Bool
+ ctypedef int Eina_Error
+
+ ####################################################################
+ # Structures
+ #
+ ctypedef struct Eina_Rectangle:
+ int x
+ int y
+ int w
+ int h
+
+ ctypedef struct Eina_List:
+ void *data
+ Eina_List *next
+ Eina_List *prev
+ void *accounting
+ ctypedef Eina_List const_Eina_List "const Eina_List"
+
+ ctypedef struct Eina_Hash_Tuple:
+ void *key
+ void *data
+ unsigned int key_length
+ ctypedef Eina_Hash_Tuple const_Eina_Hash_Tuple "const Eina_Hash_Tuple"
+
+ ctypedef struct Eina_Iterator:
+ Eina_Bool (*next)(Eina_Iterator *it, void **data)
+ void *(*get_container)(Eina_Iterator *it)
+ void (*free)(Eina_Iterator *it)
+
+ ####################################################################
+ # Other typedefs
+ #
+ ctypedef int (*Eina_Compare_Cb)(const_void *data1, const_void *data2)
+
+ ####################################################################
+ # Functions
+ #
+ Eina_Error eina_error_get()
+ void eina_error_set(Eina_Error err)
+ const_char_ptr eina_error_msg_get(Eina_Error error)
+
+ Eina_Bool eina_iterator_next(Eina_Iterator *iterator, void **data)
+ void eina_iterator_free(Eina_Iterator *iterator)
+
+ Eina_List *eina_list_free(Eina_List *list)
+ Eina_List *eina_list_append(Eina_List *list, void *data)
+ Eina_List *eina_list_prepend(Eina_List *list, void *data)
+ Eina_List *eina_list_append(Eina_List *list, void *data)
+ Eina_List *eina_list_prepend(Eina_List *list, void *data)
+ Eina_List *eina_list_append_relative(Eina_List *list, void *data, void *relative)
+ Eina_List *eina_list_append_relative_list(Eina_List *list, void *data, Eina_List *relative)
+ Eina_List *eina_list_prepend_relative(Eina_List *list, void *data, void *relative)
+ Eina_List *eina_list_prepend_relative_list(Eina_List *list, void *data, Eina_List *relative)
+ Eina_List *eina_list_sorted_insert(Eina_List *list, Eina_Compare_Cb func, void *data)
+ Eina_List *eina_list_remove(Eina_List *list, void *data)
+ Eina_List *eina_list_remove_list(Eina_List *list, Eina_List *remove_list)
+ Eina_List *eina_list_promote_list(Eina_List *list, Eina_List *move_list)
+ Eina_List *eina_list_demote_list(Eina_List *list, Eina_List *move_list)
+ void *eina_list_data_find(Eina_List *list, void *data)
+ Eina_List *eina_list_data_find_list(Eina_List *list, void *data)
+ Eina_List *eina_list_free(Eina_List *list)
+ void *eina_list_nth(Eina_List *list, unsigned int n)
+ Eina_List *eina_list_nth_list(Eina_List *list, unsigned int n)
+ Eina_List *eina_list_reverse(Eina_List *list)
+ Eina_List *eina_list_reverse_clone(Eina_List *list)
+ Eina_List *eina_list_clone(Eina_List *list)
+ Eina_List *eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func)
+ Eina_List *eina_list_merge(Eina_List *left, Eina_List *right)
+ Eina_List *eina_list_sorted_merge(Eina_List *left, Eina_List *right, Eina_Compare_Cb func)
+ Eina_List *eina_list_split_list(Eina_List *list, Eina_List *relative, Eina_List **right)
+ Eina_List *eina_list_search_sorted_near_list(Eina_List *list, Eina_Compare_Cb func, void *data, int *result_cmp)
+ Eina_List *eina_list_search_sorted_list(Eina_List *list, Eina_Compare_Cb func, void *data)
+ void *eina_list_search_sorted(Eina_List *list, Eina_Compare_Cb func, void *data)
+ Eina_List *eina_list_search_unsorted_list(Eina_List *list, Eina_Compare_Cb func, void *data)
+ void *eina_list_search_unsorted(Eina_List *list, Eina_Compare_Cb func, void *data)
+ Eina_List *eina_list_last(Eina_List *list)
+ Eina_List *eina_list_next(Eina_List *list)
+ Eina_List *eina_list_prev(Eina_List *list)
+ void *eina_list_data_get(Eina_List *list)
+ unsigned int eina_list_count(Eina_List *list)