From 5cce35c5f5f66a855e73025abe8ecac08cfdbe7d Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Wed, 15 Apr 2015 18:17:41 +0900 Subject: [PATCH] start on some efl coding startup docs --- media/docs/lib/efl/mainloop.png | Bin 0 -> 26211 bytes media/docs/lib/efl/mainloop.svg | 308 ++++++++++++++++++++++++++++++++ pages/docs.txt | 1 + pages/docs/lib/efl/start.txt | 77 ++++++++ 4 files changed, 386 insertions(+) create mode 100644 media/docs/lib/efl/mainloop.png create mode 100644 media/docs/lib/efl/mainloop.svg create mode 100644 pages/docs/lib/efl/start.txt diff --git a/media/docs/lib/efl/mainloop.png b/media/docs/lib/efl/mainloop.png new file mode 100644 index 0000000000000000000000000000000000000000..68fa7dccc73f6492a757413476363665a72b12c3 GIT binary patch literal 26211 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 q9(eGU|g;Qpf`g5cnoJJoKIu$JWriwNGEhk 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 + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + Initializeapplicationstate &objects + Sleep waitingfor new input,outputavailabilityor timeouts + Process events,state changes,timingcallbacks, I/O& changestate + Finalize statechanges &render updatedUI state + Shutdownapplicationstate &objects + REPEAT + MAINLOOP + + diff --git a/pages/docs.txt b/pages/docs.txt index 27bf86594..c0bf090f1 100644 --- a/pages/docs.txt +++ b/pages/docs.txt @@ -9,6 +9,7 @@ continually. This is also the case if you want to contribute. Of course you can use stable packages for your distribution as well. * [[docs-efl-start|Get EFL installed]] + * [[docs/lib/efl/start|Get started with EFL]] ---- diff --git a/pages/docs/lib/efl/start.txt b/pages/docs/lib/efl/start.txt new file mode 100644 index 000000000..e8e3e4032 --- /dev/null +++ b/pages/docs/lib/efl/start.txt @@ -0,0 +1,77 @@ +~~Title: EFL~~ +==== EFL ==== + +EFL is a range of libraries that cover APIs to solve every day +problems we, and others have encountered. You can see it having +various API layers, with some intended for very low-level controls and +access that no one but specialists (eg writing a window manager +itself) will need, through to higher level "just writing a notepad" +application. The lower you go, the less portable things can be. Here +we will cover the EFL features and APIs used to make things portably +and cleanly. We will cover these topics here: + + * Data structures (lists, hash tables, growable buffers/strings etc.) + * Main loop event, I/O and timing core + * Event queue and callhandling + * Canvas scene graph and rendering + * UI object element layout, animation and theme abstraction + * Widgets/controls (buttons, sliders, scrollers etc.) + * Input method framework + * Data archive storage & retrieval + * Data strcuture (de)serialization + * Video & audio codec playback, control and display + * IPC and network connectivty (TCP, UDP, unix domain & abstract sockets, HTTP) + * File utilities + * Freedesktop.org standards (desktop files, menus, mime types, icons) + * Async I/O + * D-Bus IPC integration + * Location API + * Basic Audio playback, recording and mixing + +You will use a range of libraries to make use of the above, and so +learning the naming of these is important to know where to look. They +will be in Ecore, Evas, Edje, Elementary (Elm), Ecore_IMF, Eet, +Emotion, Ecore_Con, Ecore_IPC, Eio, Eldbus, Elocation, Ecore_Audio, +Ecore_File and Efreet. + +---- + +=== Application Mainloop === + +It is assumed every application has a Mainloop, and that EFL is in +charge of that. If you are writing a library, then that assumption +would be made ulimately of the application using that library as well. +For the purposes of this introduction to EFL, we will talk about an +application, how it starts, runs and shuts down. + +Every application is expected to have a lifecycle as follows. If you +have a design that is significantly different then you will be +struggling against EFL and what it is pushing you to use. This does +not mean we do not support threads, we just push you into a specific +design pattern. + +{{ :docs:lib:efl:mainloop.png?nolink |Application Mainloop}} + +An application would spend almost it's entire life inside the Mainloop +sleeping, processing events and then updating it's UI, until it +decides to exit. All of this would take place inside the mainloop +processing function ''elm_run()'' which will only return once the +mainloop voluntarily exits thanks to an ''elm_exit()'' function being +called, whihc marks the loop to exit, next time it has a chance. +Before and after this, will be initialization and shutdown of the +application. Your most basic application that just does nothing but +wait forever would be: + + +#include + +EAPI_MAIN int +elm_main(int argc, char **argv) +{ + elm_run(); + return 0; +} +ELM_MAIN() + +Compile it with: + cc example.c -o example `pkg-config --cflags --libs elementary`