From 30e6030197bdafb0601cb6ec6ac4818db11400d6 Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Tue, 24 May 2011 11:31:32 +0000 Subject: [PATCH] Ecore: Moved ecore.dox.in to Ecore.h header. SVN revision: 59651 --- legacy/ecore/doc/ecore.dox.in | 283 ---------------------------- legacy/ecore/src/lib/ecore/Ecore.h | 285 +++++++++++++++++++++++++++++ 2 files changed, 285 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 @@ -/** -@brief Ecore Library Public API Calls - -These routines are used for Ecore Library interaction -*/ - -/** - -@mainpage Ecore - -@image html e.png - -@version @PACKAGE_VERSION@ -@author Carsten Haitzler -@author Tom Gilbert -@author Burra -@author Chris Ross -@author Term -@author Tilman Sauerbeck -@author Ibukun Olumuyiwa -@author Yuri -@author Nicholas Curran -@author Howell Tam -@author Nathan Ingersoll -@author Andrew Elcock -@author Kim Woelders -@author Sebastian Dransfeld -@author Simon Poole -@author Jorge Luis Zapata Muga -@author dan sinclair -@author Michael 'Mickey' Lauer -@author David 'onefang' Seikel -@author Hisham 'CodeWarrior' Mardam Bey -@author Brian 'rephorm' Mattern -@author Tim Horton -@author Arnaud de Turckheim 'quarium' -@author Matt Barclay -@author Peter Wehrfritz -@author Albin "Lutin" Tonnerre -@author Vincent Torri -@author Lars Munch -@author Andre Dieb -@author Mathieu Taillefumier -@author Rui Miguel Silva Seabra -@author Samsung Electronics -@author Samsung SAIT -@author Nicolas Aguirre -@author Brett Nash -@author Mike Blumenkrantz -@author Leif Middelschulte -@author Mike McCormack -@author Sangho Park -@author Jihoon Kim -@author Daniel Juyung Seo -@date 2000-2011 - -@section intro Introduction - -Ecore is a library of convenience functions. - -The Ecore library provides the following modules: -@li @ref Ecore_Group -@li @ref Ecore_File_Group -@li @ref Ecore_Con_Group -@li @link Ecore_Evas.h Ecore_Evas - Evas convenience functions. @endlink -@li @ref Ecore_FB_Group -@li @link Ecore_Ipc.h Ecore_IPC - Inter Process Communication functions. @endlink -@li @link Ecore_X.h Ecore_X - X Windows System wrapper. @endlink -@li @ref Ecore_Win32_Group -@li @ref Ecore_WinCE_Group - -@section compiling How to compile using Ecore? -pkgconfig (.pc) files are installed for every ecore module. -Thus, to compile using any of them, you can use something like the following: - -@verbatim -gcc *.c $(pkg-config ecore ecore-$x ecore-$y [...] --cflags --libs) -@endverbatim - -@section install How is it installed? - -Suggested configure options for evas for a Linux desktop X display: - -@verbatim -./configure \ ---enable-ecore-x \ ---enable-ecore-fb \ ---enable-ecore-evas \ ---enable-ecore-evas-gl \ ---enable-ecore-con \ ---enable-ecore-ipc -make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro" -@endverbatim - -@todo (1.0) Document API - -/* -@page Ecore_Main_Loop_Page The Ecore Main Loop - -@section intro What is Ecore? - -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. - -Here is an example of a simple program and its basic event loop flow: - -@image html prog_flow.png - - - -@section work How does Ecore work? - -Ecore is very easy to learn and use. All the function calls are designed to -be easy to remember, explicit in describing what they do, and heavily -name-spaced. Ecore programs can start and be very simple. - -For example: - -@code -#include - -int main(int argc, const char **argv) -{ - ecore_init(); - ecore_app_args_set(argc, argv); - ecore_main_loop_begin(); - ecore_shutdown(); - return 0; -} -@endcode - -This program is very simple and does't check for errors, but it does start up -and begin a main loop waiting for events or timers to tick off. This program -doesn't set up any, but now we can expand on this simple program a little -more by adding some event handlers and timers. - -@code -#include - -Ecore_Timer *timer1 = NULL; -Ecore_Event_Handler *handler1 = NULL; -double start_time = 0.0; - -int timer_func(void *data) -{ - printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time); - return 1; -} - -int exit_func(void *data, int ev_type, void *ev) -{ - Ecore_Event_Signal_Exit *e; - - e = (Ecore_Event_Signal_Exit *)ev; - if (e->interrupt) printf("Exit: interrupt\n"); - else if (e->quit) printf("Exit: quit\n"); - else if (e->terminate) printf("Exit: terminate\n"); - ecore_main_loop_quit(); - return 1; -} - -int main(int argc, const char **argv) -{ - ecore_init(); - ecore_app_args_set(argc, argv); - start_time = ecore_time_get(); - handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL); - timer1 = ecore_timer_add(0.5, timer_func, NULL); - ecore_main_loop_begin(); - ecore_shutdown(); - return 0; -} -@endcode - -In the previous example, we initialize our application and get the time at -which our program has started so we can calculate an offset. We set -up a timer to tick off in 0.5 seconds, and since it returns 1, will -keep ticking off every 0.5 seconds until it returns 0, or is deleted -by hand. An event handler is set up to call a function - exit_func(), -whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C -on the command line will cause such an event to happen). If this event -occurs it tells you what kind of exit signal was received, and asks -the main loop to quit when it is finished by calling -ecore_main_loop_quit(). - -The handles returned by ecore_timer_add() and ecore_event_handler_add() are -only stored here as an example. If you don't need to address the timer or -event handler again you don't need to store the result, so just call the -function, and don't assign the result to any variable. - -This program looks slightly more complex than needed to do these simple -things, but in principle, programs don't get any more complex. You add more -event handlers, for more events, will have more timers and such, BUT it all -follows the same principles as shown in this example. - -*/ - -/* -@page Ecore_Config_Page The Enlightened Property Library - -The Enlightened Property Library (Ecore_Config) is an adbstraction -from the complexities of writing your own configuration. It provides -many features using the Enlightenment 17 development libraries. - -To use the library, you: -@li Set the default values of your properties. -@li Load the configuration from a file. You must set the default values - first, so that the library knows the correct type of each argument. - -The following examples show how to use the Enlightened Property Library: -@li @link config_basic_example.c config_basic_example.c @endlink -@li @link config_listener_example.c config_listener_example.c @endlink - -*/ - -/** -@page X_Window_System_Page X Window System - -The Ecore library includes a wrapper for handling the X window system. -This page briefly explains what the X window system is and various terms -that are used. -*/ - -// EXAMPLES - -/** -@example ecore_args_example.c -Shows how to set and retrieve the program arguments. -*/ - -/** -@example ecore_event_handler_example.c -Shows how to use event handlers. -*/ - -/** -@example ecore_fd_handler_example.c -Shows how to use fd handlers. -*/ - -/** -@example ecore_timer_example.c -Demonstrates use of the ecore_timer. -*/ - -/* -@example ecore_config_basic_example.c -Provides an example of how to use the basic configuration functions. -See the file Ecore_Config.h for the full list of available functions. -*/ - -/* -@example ecore_config_listener_example.c -Shows how to set up a listener to listen for configuration changes. -*/ - -/** -@example ecore_x_window_example.c -Shows the basics of using the X Windows system through Ecore functions. -*/ diff --git a/legacy/ecore/src/lib/ecore/Ecore.h b/legacy/ecore/src/lib/ecore/Ecore.h index 5d826d1b1c..84a3214a94 100644 --- a/legacy/ecore/src/lib/ecore/Ecore.h +++ b/legacy/ecore/src/lib/ecore/Ecore.h @@ -1,3 +1,288 @@ +/** +@brief Ecore Library Public API Calls + +These routines are used for Ecore Library interaction +*/ + +/** + +@mainpage Ecore + +@image html e.png + +@version @PACKAGE_VERSION@ +@author Carsten Haitzler +@author Tom Gilbert +@author Burra +@author Chris Ross +@author Term +@author Tilman Sauerbeck +@author Ibukun Olumuyiwa +@author Yuri +@author Nicholas Curran +@author Howell Tam +@author Nathan Ingersoll +@author Andrew Elcock +@author Kim Woelders +@author Sebastian Dransfeld +@author Simon Poole +@author Jorge Luis Zapata Muga +@author dan sinclair +@author Michael 'Mickey' Lauer +@author David 'onefang' Seikel +@author Hisham 'CodeWarrior' Mardam Bey +@author Brian 'rephorm' Mattern +@author Tim Horton +@author Arnaud de Turckheim 'quarium' +@author Matt Barclay +@author Peter Wehrfritz +@author Albin "Lutin" Tonnerre +@author Vincent Torri +@author Lars Munch +@author Andre Dieb +@author Mathieu Taillefumier +@author Rui Miguel Silva Seabra +@author Samsung Electronics +@author Samsung SAIT +@author Nicolas Aguirre +@author Brett Nash +@author Mike Blumenkrantz +@author Leif Middelschulte +@author Mike McCormack +@author Sangho Park +@author Jihoon Kim +@author Daniel Juyung Seo +@date 2000-2011 + +@section intro Introduction + +Ecore is a library of convenience functions. + +The Ecore library provides the following modules: +@li @ref Ecore_Group +@li @ref Ecore_File_Group +@li @ref Ecore_Con_Group +@li @link Ecore_Evas.h Ecore_Evas - Evas convenience functions. @endlink +@li @ref Ecore_FB_Group +@li @link Ecore_Ipc.h Ecore_IPC - Inter Process Communication functions. @endlink +@li @link Ecore_X.h Ecore_X - X Windows System wrapper. @endlink +@li @ref Ecore_Win32_Group +@li @ref Ecore_WinCE_Group + +@section compiling How to compile using Ecore? +pkgconfig (.pc) files are installed for every ecore module. +Thus, to compile using any of them, you can use something like the following: + +@verbatim +gcc *.c $(pkg-config ecore ecore-$x ecore-$y [...] --cflags --libs) +@endverbatim + +@section install How is it installed? + +Suggested configure options for evas for a Linux desktop X display: + +@verbatim +./configure \ +--enable-ecore-x \ +--enable-ecore-fb \ +--enable-ecore-evas \ +--enable-ecore-evas-gl \ +--enable-ecore-con \ +--enable-ecore-ipc +make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro" +@endverbatim + +@todo (1.0) Document API +*/ + +/* +@page Ecore_Main_Loop_Page The Ecore Main Loop + +@section intro What is Ecore? + +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. + +Here is an example of a simple program and its basic event loop flow: + +@image html prog_flow.png + + + +@section work How does Ecore work? + +Ecore is very easy to learn and use. All the function calls are designed to +be easy to remember, explicit in describing what they do, and heavily +name-spaced. Ecore programs can start and be very simple. + +For example: + +@code +#include + +int main(int argc, const char **argv) +{ + ecore_init(); + ecore_app_args_set(argc, argv); + ecore_main_loop_begin(); + ecore_shutdown(); + return 0; +} +@endcode + +This program is very simple and does't check for errors, but it does start up +and begin a main loop waiting for events or timers to tick off. This program +doesn't set up any, but now we can expand on this simple program a little +more by adding some event handlers and timers. + +@code +#include + +Ecore_Timer *timer1 = NULL; +Ecore_Event_Handler *handler1 = NULL; +double start_time = 0.0; + +int timer_func(void *data) +{ + printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time); + return 1; +} + +int exit_func(void *data, int ev_type, void *ev) +{ + Ecore_Event_Signal_Exit *e; + + e = (Ecore_Event_Signal_Exit *)ev; + if (e->interrupt) printf("Exit: interrupt\n"); + else if (e->quit) printf("Exit: quit\n"); + else if (e->terminate) printf("Exit: terminate\n"); + ecore_main_loop_quit(); + return 1; +} + +int main(int argc, const char **argv) +{ + ecore_init(); + ecore_app_args_set(argc, argv); + start_time = ecore_time_get(); + handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL); + timer1 = ecore_timer_add(0.5, timer_func, NULL); + ecore_main_loop_begin(); + ecore_shutdown(); + return 0; +} +@endcode + +In the previous example, we initialize our application and get the time at +which our program has started so we can calculate an offset. We set +up a timer to tick off in 0.5 seconds, and since it returns 1, will +keep ticking off every 0.5 seconds until it returns 0, or is deleted +by hand. An event handler is set up to call a function - exit_func(), +whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C +on the command line will cause such an event to happen). If this event +occurs it tells you what kind of exit signal was received, and asks +the main loop to quit when it is finished by calling +ecore_main_loop_quit(). + +The handles returned by ecore_timer_add() and ecore_event_handler_add() are +only stored here as an example. If you don't need to address the timer or +event handler again you don't need to store the result, so just call the +function, and don't assign the result to any variable. + +This program looks slightly more complex than needed to do these simple +things, but in principle, programs don't get any more complex. You add more +event handlers, for more events, will have more timers and such, BUT it all +follows the same principles as shown in this example. + +*/ + +/* +@page Ecore_Config_Page The Enlightened Property Library + +The Enlightened Property Library (Ecore_Config) is an adbstraction +from the complexities of writing your own configuration. It provides +many features using the Enlightenment 17 development libraries. + +To use the library, you: +@li Set the default values of your properties. +@li Load the configuration from a file. You must set the default values + first, so that the library knows the correct type of each argument. + +The following examples show how to use the Enlightened Property Library: +@li @link config_basic_example.c config_basic_example.c @endlink +@li @link config_listener_example.c config_listener_example.c @endlink + +*/ + +/** +@page X_Window_System_Page X Window System + +The Ecore library includes a wrapper for handling the X window system. +This page briefly explains what the X window system is and various terms +that are used. +*/ + +// EXAMPLES + +/** +@example ecore_args_example.c +Shows how to set and retrieve the program arguments. +*/ + +/** +@example ecore_event_handler_example.c +Shows how to use event handlers. +*/ + +/** +@example ecore_fd_handler_example.c +Shows how to use fd handlers. +*/ + +/** +@example ecore_timer_example.c +Demonstrates use of the ecore_timer. +*/ + +/* +@example ecore_config_basic_example.c +Provides an example of how to use the basic configuration functions. +See the file Ecore_Config.h for the full list of available functions. +*/ + +/* +@example ecore_config_listener_example.c +Shows how to set up a listener to listen for configuration changes. +*/ + +/** +@example ecore_x_window_example.c +Shows the basics of using the X Windows system through Ecore functions. +*/ + #ifndef _ECORE_H #define _ECORE_H