Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "Ecore"

From eLinux.org
Jump to: navigation, search
(add doc refs)
Line 10: Line 10:
 
* [http://docs.enlightenment.org/api/ecore/html API (Doxygen)]
 
* [http://docs.enlightenment.org/api/ecore/html API (Doxygen)]
 
* Ecore is the base of [[Edje]], so its documentations may help as well.
 
* Ecore is the base of [[Edje]], so its documentations may help as well.
 +
 +
 +
=== Features ===
 +
Main Loop:
 +
* idlers, including exiter and enterer (useful for garbage collect and render phases)
 +
* timers, including shared timers as animators and pollers
 +
* file descriptor handlers
 +
* asynchronous events
 +
* UNIX signal handling in asynchronous way
 +
 +
[[X11]]:
 +
* xlib or xcb backends
 +
* supports most of api, including xrandr, xscreensaver and more
 +
* used by e17 window manager
 +
 +
Ecore_Evas:
 +
* integrates with fb, directfb, x11, directdraw, quartz and most of evas engines
 +
* handles evas render phase automatically using idle enterer.
 +
* handles memory buffer flushing on idle, releasing shared X11 pixmaps, for example
 +
 +
Ecore_Con:
 +
* easy to use, main loop based unix sockets, tcp, udp, multicast client and server
 +
* curl integration
 +
 +
Ecore_Ipc:
 +
* client server inter-process communication integrated in main loop
 +
 +
 +
=== Engines ===
 +
* framebuffer, supports libts (touchscreen)
 +
* macos quartz
 +
* sdl
 +
* win32 api
 +
* WindowsCE
 +
* X11
 +
* DirectFB

Revision as of 14:08, 19 November 2008

Ecore is a set of libraries to help software development. It's part of [[EFL|Enlightenment Foundation Libraries], is written in C but bindings for Python and Ruby exists.

The base library provides main loop with interesting calls as timers, animators, pollers, file descriptor handlers, idlers idle enterer and exit, some of these do not exit in GLib or Qt counterparts. It will also provide an asynchronous event dispatching system, this can be used by applications and is also used to handle UNIX signals like SIGHUP.

Other libraries provide integration of some other system with Ecore, like ecore_x that integrates X11 using Xlib or Xcb; ecore_directfb that integrates DirectFB; ecore_con to do communication using TCP, UDP and even integrates with curl to provide easy access to HTTP resources; ecore_file for easier path and file manipulation and so on.

Of special interest for EFL users is Ecore_Evas that will integrate Evas with ecore main loop and some input/output system as X11, DirectFB or WindowsCE, it will feed Evas with events, request render of parts and then inform the output system that parts were updated.

Documentation


Features

Main Loop:

  • idlers, including exiter and enterer (useful for garbage collect and render phases)
  • timers, including shared timers as animators and pollers
  • file descriptor handlers
  • asynchronous events
  • UNIX signal handling in asynchronous way

X11:

  • xlib or xcb backends
  • supports most of api, including xrandr, xscreensaver and more
  • used by e17 window manager

Ecore_Evas:

  • integrates with fb, directfb, x11, directdraw, quartz and most of evas engines
  • handles evas render phase automatically using idle enterer.
  • handles memory buffer flushing on idle, releasing shared X11 pixmaps, for example

Ecore_Con:

  • easy to use, main loop based unix sockets, tcp, udp, multicast client and server
  • curl integration

Ecore_Ipc:

  • client server inter-process communication integrated in main loop


Engines

  • framebuffer, supports libts (touchscreen)
  • macos quartz
  • sdl
  • win32 api
  • WindowsCE
  • X11
  • DirectFB