summaryrefslogtreecommitdiff
blob: a6bc2952724db94e40b130fc0c3e1afbd39ad039 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>enlightenment</herd>
<use>
	<flag name="ares">Enables support for asynchronous DNS using the <pkg>net-dns/c-ares</pkg> library</flag>
	<flag name="gles">Add gles support to the ecore-evas-wayland module</flag>
	<flag name="glib">Enable <pkg>dev-libs/glib</pkg> eventloop support</flag>
	<flag name="xprint">Enable X11 Xprint support</flag>
	<flag name="inotify">Enable support for inotify</flag>
	<flag name="evas">Provides easy to use canvas by gluing <pkg>media-libs/evas</pkg> and various input/output systems</flag>
	<flag name="tslib">Build with tslib support for touchscreen devices</flag>
	<flag name="wayland">Add support for <pkg>dev-libs/wayland</pkg></flag>
</use>
<longdescription>
Ecore is a clean and tiny event loop library with many modules to do
lots of convenient things for a programmer, to save time and effort.

It's small and lean, designed to work on embedded systems all the way
to large and powerful multi-cpu workstations. It serialises all system
signals, events etc. into a single event queue, that is easily
processed without needing to worry about concurrency. A properly
written, event-driven program using this kind of programming doesn't
need threads, nor has to worry about concurrency. It turns a program
into a state machine, and makes it very robust and easy to follow.

Ecore gives you other handy primitives, such as timers to tick over
for you and call specified functions at particular times so the
programmer can use this to do things, like animate, or time out on
connections or tasks that take too long etc.

Idle handlers are provided too, as well as calls on entering an idle
state (often a very good time to update the state of the program). All
events that enter the system are passed to specific callback functions
that the program sets up to handle those events. Handling them is
simple and other Ecore modules produce more events on the queue,
coming from other sources such as file descriptors etc.

Ecore also lets you have functions called when file descriptors become
active for reading or writing, allowing for streamlined, non-blocking
IO.

Ecore may provide (if enabled) the following libraries:

 * ecore: main loop, signals, and base;

 * ecore_con: http/ftp (curl) access;

 * ecore_file: easy file manipulation (copy, move, symlink, remove),
   monitoring and directory (mkdir, mkdir -p, rm -fr);

 * ecore_txt: text charset conversion (iconv wrapper);

 * ecore_evas: integrates <pkg>media-libs/evas</pkg> into different
   input and output systems, providing easy to use canvas;

 * ecore_x, ecore_sdl, ecore_quartz, ecore_directfb, ecore_win32,
   ecore_wince, ecore_fb: access to different input/output systems,
   mapping them to ecore main loop and events;

 * ecore_imf, ecore_imf_evas: input-method framework used to integrate
   with different input methods such as virtual keyboards;

 * ecore_input, ecore_input_evas: abstraction of input events.
</longdescription>
</pkgmetadata>