summaryrefslogblamecommitdiff
path: root/pages/develop/guides/start.md.txt
blob: 9b8ac1f10c12e895cfc8eba5075607a17dc20010 (plain) (tree)
1
2
3
4
5
6
7
8




                           
                      
 
                                                                                                                                                                                                                                                                                                                                                                   


                                                                                                                                                                                
                    
 
                                                                                                                                                                                                                                                                                                                                                                                                                           
 
                            
 

                                                                                                                                                                                                                                                                                          
                                 


                                                                                                                                                                                                                                                             







                                                                                                                                                                                                                          
                                             


                                                                                                                                                                                                                                                              



                                                                                                                                                                                                       
                         
                                                                                                                                                                                                                                                       
---
~~Title: Developer Guides~~
~~NOCACHE~~
---

# Programming Guides #

This section of the Enlightenment Wiki offers reference guides for the most commonly-used features of the Enlightenment Foundation Libraries (EFL) and associated infrastructure. These guides are designed to supplement and support the step-by-step tutorials, which are written as a starting point for beginners who have not previously programmed using EFL.

The documentation in this section is split by language. At present, only C documentation is included; this will be expanded in the future to provide guides for other languages.

## Current Guides ##

The documentation of EFL and its infrastructure is an ongoing effort, taking place alongside the roll-out of a new version of the application programming interface (API). The documentation in this section is verified as applicable to the new API, currently in beta; for guidance on the current API release consult the [Legacy Programming Guide](https://www.enlightenment.org/develop/legacy/program_guide/start).

## Eina Programming Guide ##

[The Eina Programming Guide](https://www.enlightenment.org/develop/guides/c/eina/start.md) provides a quick reference and code examples for the ``Eina`` library, which is designed to implement an API for data types in an efficient manner and which comes with tools for common tasks.

## Main Loop Programming Guide ##

[The Main Loop Programming Guide](https://www.enlightenment.org/develop/guides/c/core/main-loop.md) provides a reference to the internal EFL Main Loop, in which execution takes place, and the timers, monitors, idlers, and polling capabilities it offers.

## IO Programming Guide ##

[The IO Programming Guide](https://www.enlightenment.org/develop/guides/c/core/io.md) details the use of EFL's input-output handling facilities for reading and writing files, Unix file descriptors and networks sockets.

## Events Programming Guide ##

[The Events Programming Guide](https://www.enlightenment.org/develop/guides/c/core/events.md) provides a reference for EFL's event-driven nature, detailing methods for handling events.

## User Interface Sizing Programming Guide ##

[The User Interface Sizing Programming Guide](https://www.enlightenment.org/develop/guides/c/ui/sizing.md) provides a reference to the controls offered by EFL for controlling the minimum and maximum size of a widget when default values are inappropriate.

## User Interface Focus Programming Guide ##

[The User Interface Focus Programming Guide](https://www.enlightenment.org/develop/guides/c/ui/focus.md) details how to handle focus, the graphical indicator of the widget currently selected, in EFL.

## EFL C Porting Guide ##
[The EFL C Porting Guide](https://www.enlightenment.org/develop/guides/c/porting-guide.md) is designed for developers looking to transition from the current EFL API to the beta release, known as the Unified API. This document is a work in progress.