summaryrefslogtreecommitdiff
path: root/legacy/ecore/doc/ecore.dox.in
diff options
context:
space:
mode:
authorDaniel Juyung Seo <seojuyung2@gmail.com>2011-05-24 11:31:32 +0000
committerDaniel Juyung Seo <seojuyung2@gmail.com>2011-05-24 11:31:32 +0000
commit30e6030197bdafb0601cb6ec6ac4818db11400d6 (patch)
tree313f03cc17f2ffb9fe6ef11715e2d612c9138070 /legacy/ecore/doc/ecore.dox.in
parent534e53d1a17826251bc131a16bdb6829b4b60b33 (diff)
Ecore: Moved ecore.dox.in to Ecore.h header.
SVN revision: 59651
Diffstat (limited to '')
-rw-r--r--legacy/ecore/doc/ecore.dox.in283
1 files changed, 0 insertions, 283 deletions
diff --git a/legacy/ecore/doc/ecore.dox.in b/legacy/ecore/doc/ecore.dox.in
index 0d605a60dd..e69de29bb2 100644
--- a/legacy/ecore/doc/ecore.dox.in
+++ b/legacy/ecore/doc/ecore.dox.in
@@ -1,283 +0,0 @@
1/**
2@brief Ecore Library Public API Calls
3
4These routines are used for Ecore Library interaction
5*/
6
7/**
8
9@mainpage Ecore
10
11@image html e.png
12
13@version @PACKAGE_VERSION@
14@author Carsten Haitzler <raster@rasterman.com>
15@author Tom Gilbert <tom@linuxbrit.co.uk>
16@author Burra <burra@colorado.edu>
17@author Chris Ross <chris@darkrock.co.uk>
18@author Term <term@twistedpath.org>
19@author Tilman Sauerbeck <tilman@code-monkey.de>
20@author Ibukun Olumuyiwa <ibukun@computer.org>
21@author Yuri <da2001@hotmail.ru>
22@author Nicholas Curran <quasar@bigblue.net.au>
23@author Howell Tam <pigeon@pigeond.net>
24@author Nathan Ingersoll <rbdpngn@users.sourceforge.net>
25@author Andrew Elcock <andy@elcock.org>
26@author Kim Woelders <kim@woelders.dk>
27@author Sebastian Dransfeld <sebastid@tango.flipp.net>
28@author Simon Poole <simon.armlinux@themalago.net>
29@author Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
30@author dan sinclair <zero@everburning.com>
31@author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
32@author David 'onefang' Seikel <onefang@gmail.com>
33@author Hisham 'CodeWarrior' Mardam Bey <hisham@hisham.cc>
34@author Brian 'rephorm' Mattern <rephorm@rephorm.com>
35@author Tim Horton <hortont424@gmail.com>
36@author Arnaud de Turckheim 'quarium' <quarium@gmail.com>
37@author Matt Barclay <mbarclay@gmail.com>
38@author Peter Wehrfritz <peter.wehrfritz@web.de>
39@author Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com>
40@author Vincent Torri <vincent.torri@gmail.com>
41@author Lars Munch <lars@segv.dk>
42@author Andre Dieb <andre.dieb@gmail.com>
43@author Mathieu Taillefumier <mathieu.taillefumier@free.fr>
44@author Rui Miguel Silva Seabra <rms@1407.org>
45@author Samsung Electronics
46@author Samsung SAIT
47@author Nicolas Aguirre <aguirre.nicolas@gmail.com>
48@author Brett Nash <nash@nash.id.au>
49@author Mike Blumenkrantz <mike@zentific.com>
50@author Leif Middelschulte <leif.middelschulte@gmail.com>
51@author Mike McCormack <mj.mccormack@samsung.com>
52@author Sangho Park <gouache95@gmail.com>
53@author Jihoon Kim <jihoon48.kim@samsung.com> <imfine98@gmail.com>
54@author Daniel Juyung Seo <seojuyung2@gmail.com> <juyung.seo@samsung.com>
55@date 2000-2011
56
57@section intro Introduction
58
59Ecore is a library of convenience functions.
60
61The Ecore library provides the following modules:
62@li @ref Ecore_Group
63@li @ref Ecore_File_Group
64@li @ref Ecore_Con_Group
65@li @link Ecore_Evas.h Ecore_Evas - Evas convenience functions. @endlink
66@li @ref Ecore_FB_Group
67@li @link Ecore_Ipc.h Ecore_IPC - Inter Process Communication functions. @endlink
68@li @link Ecore_X.h Ecore_X - X Windows System wrapper. @endlink
69@li @ref Ecore_Win32_Group
70@li @ref Ecore_WinCE_Group
71
72@section compiling How to compile using Ecore?
73pkgconfig (.pc) files are installed for every ecore module.
74Thus, to compile using any of them, you can use something like the following:
75
76@verbatim
77gcc *.c $(pkg-config ecore ecore-$x ecore-$y [...] --cflags --libs)
78@endverbatim
79
80@section install How is it installed?
81
82Suggested configure options for evas for a Linux desktop X display:
83
84@verbatim
85./configure \
86--enable-ecore-x \
87--enable-ecore-fb \
88--enable-ecore-evas \
89--enable-ecore-evas-gl \
90--enable-ecore-con \
91--enable-ecore-ipc
92make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
93@endverbatim
94
95@todo (1.0) Document API
96
97/*
98@page Ecore_Main_Loop_Page The Ecore Main Loop
99
100@section intro What is Ecore?
101
102Ecore is a clean and tiny event loop library with many modules to do lots of
103convenient things for a programmer, to save time and effort.
104
105It's small and lean, designed to work on embedded systems all the way to
106large and powerful multi-cpu workstations. It serialises all system signals,
107events etc. into a single event queue, that is easily processed without
108needing to worry about concurrency. A properly written, event-driven program
109using this kind of programming doesn't need threads, nor has to worry about
110concurrency. It turns a program into a state machine, and makes it very
111robust and easy to follow.
112
113Ecore gives you other handy primitives, such as timers to tick over for you
114and call specified functions at particular times so the programmer can use
115this to do things, like animate, or time out on connections or tasks that take
116too long etc.
117
118Idle handlers are provided too, as well as calls on entering an idle state
119(often a very good time to update the state of the program). All events that
120enter the system are passed to specific callback functions that the program
121sets up to handle those events. Handling them is simple and other Ecore
122modules produce more events on the queue, coming from other sources such as
123file descriptors etc.
124
125Ecore also lets you have functions called when file descriptors become active
126for reading or writing, allowing for streamlined, non-blocking IO.
127
128Here is an example of a simple program and its basic event loop flow:
129
130@image html prog_flow.png
131
132
133
134@section work How does Ecore work?
135
136Ecore is very easy to learn and use. All the function calls are designed to
137be easy to remember, explicit in describing what they do, and heavily
138name-spaced. Ecore programs can start and be very simple.
139
140For example:
141
142@code
143#include <Ecore.h>
144
145int main(int argc, const char **argv)
146{
147 ecore_init();
148 ecore_app_args_set(argc, argv);
149 ecore_main_loop_begin();
150 ecore_shutdown();
151 return 0;
152}
153@endcode
154
155This program is very simple and does't check for errors, but it does start up
156and begin a main loop waiting for events or timers to tick off. This program
157doesn't set up any, but now we can expand on this simple program a little
158more by adding some event handlers and timers.
159
160@code
161#include <Ecore.h>
162
163Ecore_Timer *timer1 = NULL;
164Ecore_Event_Handler *handler1 = NULL;
165double start_time = 0.0;
166
167int timer_func(void *data)
168{
169 printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time);
170 return 1;
171}
172
173int exit_func(void *data, int ev_type, void *ev)
174{
175 Ecore_Event_Signal_Exit *e;
176
177 e = (Ecore_Event_Signal_Exit *)ev;
178 if (e->interrupt) printf("Exit: interrupt\n");
179 else if (e->quit) printf("Exit: quit\n");
180 else if (e->terminate) printf("Exit: terminate\n");
181 ecore_main_loop_quit();
182 return 1;
183}
184
185int main(int argc, const char **argv)
186{
187 ecore_init();
188 ecore_app_args_set(argc, argv);
189 start_time = ecore_time_get();
190 handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL);
191 timer1 = ecore_timer_add(0.5, timer_func, NULL);
192 ecore_main_loop_begin();
193 ecore_shutdown();
194 return 0;
195}
196@endcode
197
198In the previous example, we initialize our application and get the time at
199which our program has started so we can calculate an offset. We set
200up a timer to tick off in 0.5 seconds, and since it returns 1, will
201keep ticking off every 0.5 seconds until it returns 0, or is deleted
202by hand. An event handler is set up to call a function - exit_func(),
203whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C
204on the command line will cause such an event to happen). If this event
205occurs it tells you what kind of exit signal was received, and asks
206the main loop to quit when it is finished by calling
207ecore_main_loop_quit().
208
209The handles returned by ecore_timer_add() and ecore_event_handler_add() are
210only stored here as an example. If you don't need to address the timer or
211event handler again you don't need to store the result, so just call the
212function, and don't assign the result to any variable.
213
214This program looks slightly more complex than needed to do these simple
215things, but in principle, programs don't get any more complex. You add more
216event handlers, for more events, will have more timers and such, BUT it all
217follows the same principles as shown in this example.
218
219*/
220
221/*
222@page Ecore_Config_Page The Enlightened Property Library
223
224The Enlightened Property Library (Ecore_Config) is an adbstraction
225from the complexities of writing your own configuration. It provides
226many features using the Enlightenment 17 development libraries.
227
228To use the library, you:
229@li Set the default values of your properties.
230@li Load the configuration from a file. You must set the default values
231 first, so that the library knows the correct type of each argument.
232
233The following examples show how to use the Enlightened Property Library:
234@li @link config_basic_example.c config_basic_example.c @endlink
235@li @link config_listener_example.c config_listener_example.c @endlink
236
237*/
238
239/**
240@page X_Window_System_Page X Window System
241
242The Ecore library includes a wrapper for handling the X window system.
243This page briefly explains what the X window system is and various terms
244that are used.
245*/
246
247// EXAMPLES
248
249/**
250@example ecore_args_example.c
251Shows how to set and retrieve the program arguments.
252*/
253
254/**
255@example ecore_event_handler_example.c
256Shows how to use event handlers.
257*/
258
259/**
260@example ecore_fd_handler_example.c
261Shows how to use fd handlers.
262*/
263
264/**
265@example ecore_timer_example.c
266Demonstrates use of the ecore_timer.
267*/
268
269/*
270@example ecore_config_basic_example.c
271Provides an example of how to use the basic configuration functions.
272See the file Ecore_Config.h for the full list of available functions.
273*/
274
275/*
276@example ecore_config_listener_example.c
277Shows how to set up a listener to listen for configuration changes.
278*/
279
280/**
281@example ecore_x_window_example.c
282Shows the basics of using the X Windows system through Ecore functions.
283*/