ecere/gui/Window: Prevent uninitialized values if base Window methods not overridden...
[sdk] / README.md
1 [![GitHub version](https://badge.fury.io/gh/ecere%2Fecere-sdk.svg)](https://github.com/ecere/ecere-sdk/releases/latest)
2 [![Travis status](https://api.travis-ci.org/ecere/ecere-sdk.svg?branch=master)](https://travis-ci.org/ecere/ecere-sdk)
3 [![Ecere docs](https://img.shields.io/badge/docs-being_improved-yellow.svg)](http://ecere.org/overview)<br>
4 [![GitHub size](https://reposs.herokuapp.com/?path=ecere/ecere-sdk&style=flat)](https://github.com/ecere/ecere-sdk/graphs/traffic)
5 [![GitHub license](https://img.shields.io/badge/license-BSD%203--Clause%20(Revised)-blue.svg)](https://tldrlegal.com/license/bsd-3-clause-license-(revised))<br>
6 [![Ecere web](https://img.shields.io/badge/web-ecere.org-9DA1CA.svg)](http://ecere.org)
7 [![Ecere web](https://img.shields.io/badge/web-ec--lang.org-9DA1CA.svg)](http://ec-lang.org)
8 [![Ecere forum](https://img.shields.io/badge/forum-ecere.org%2Fforums-9DA1CA.svg)](http://ecere.org/forums)
9 [![Ecere tracker](https://img.shields.io/badge/tracker-ecere.org%2Fmantis-9DA1CA.svg)](http://ecere.org/mantis)
10 [![Freenode chat](https://img.shields.io/badge/irc-%20Freenode_%23ecere-9DA1CA.svg)](http://webchat.freenode.net/?channels=ecere)<br>
11 [![Meetup group](https://img.shields.io/badge/meetup-Ottawa-88B094.svg)](http://www.meetup.com/eC-Programming-Language-Meetup)
12
13 # Ecere SDK
14 #### Free Open Source Software released under the New BSD license
15
16 The **Ecere SDK** is a Software Development Kit including:
17
18    * A set of compiling tools for the **[eC programming language](http://ec-lang.org)**
19
20    * An Integrated Development Environment, with the usual features such as:
21       - A source code editor with auto-completion, syntax highlighting
22       - Management of application and library projects
23       - A visual debugger
24       - A Rapid Application Development form designer, based on
25         properties & methods
26
27 ![Ecere IDE Screenshot](http://ecere.com/wiki/images/0/01/IdeShotSept2011.png)
28
29    * A run time library, providing a uniform API across platforms, featuring:
30       - A GUI toolkit (with a vast collection of powerful controls:
31         Buttons, Edit boxes, Drop/Combo boxes, Menus, Tabs,
32         Tree views/Grids/List boxes, file dialogs, ...)
33       - A 2D graphics API (bitmaps, fonts, international text, basic drawing)
34       - A 3D graphics API, supporting both Direct3D and OpenGL
35         (3DS file format support)
36       - A networking API which provide Sockets as well as a
37         distributed objects system for eC
38       - System functionality such as file access, multi-threading &
39         synchronization, handling date & time, etc.
40
41 ![Ecere Games Screenshot](http://ecere.com/shots/games.jpg)
42
43 ![GNOSIS Screenshot](http://ecere.com/wiki/images/7/76/NorthWest.jpg)
44
45    * Additional libraries and code for more features, such as:
46       - The Ecere Data Access (EDA) layer, an abstract relational database
47         API, providing an active record system for eC. Currently it has
48         drivers for a minimal Ecere RDBMS and SQLite (as well as an encrypted
49         version using SQLCipher), and recently a basic Oracle driver was
50         introduced
51       - An audio library (supporting DirectSound on Windows and ALSA on Linux)
52       - WIA Scanning support on Windows
53       - SSL Sockets suport through OpenSSL
54       - A 2D tiled based game graphics engine (Tiled map, Sprites, A*)
55
56 ![Acovel Media Player Screenshot](http://ecere.com/wiki/images/7/72/Acovel3.png)
57
58 -----------------------------------------------------------------------------
59
60 ## INSTALLATION
61
62 Please refer to the latest instructions at http://ecere.org/install.
63
64 Windows binaries are available from that page.
65
66 Daily-built Ubuntu Debian packages are available from our [Ubuntu PPA](https://code.launchpad.net/~ecere-team/+archive/ppa).
67
68 To build from source, simply type 'make' ('mingw32-make' on Windows).
69
70 It should build fine on Linux, on Windows with [MinGW](http://mingw.org) or [MinGW-w64](http://mingw-w64.org),
71 on Mac OS X with Xcode command line tools installed or on FreeBSD (with gmake).
72
73 To install, type 'make install' ('mingw32-make install' on Windows).
74
75 64-bit is now supported.
76
77 Executables can also be deployed to the Android platform using the Android NDK. Please refer to http://ecere.org/android .
78
79 They can also deployed to the Web using [Emscripten](http://emscripten.org). Please refer to http://ecere.org/web .
80
81 ## DOCUMENTATION
82
83 [![Tao](http://ecere.com/images/tao.png)](http://ecere.org/tao.pdf)
84 The [Ecere Tao of Programming](http://ecere.org/tao.pdf) is a Programmer's Guide (still work in progress)
85 that will teach you the foundations of eC and Ecere. You will find it under:
86
87    *(Windows)*    %PROGRAMFILES%\Ecere SDK\doc\Ecere Tao of Programming [work in progress].pdf
88    *(Linux/Unix)* /usr/share/doc/tao.pdf
89
90 Please check out the [samples](http://github.com/ecere/ecere-sdk/tree/master/samples) that come with the SDK.
91
92 You can see a list of the most interesting ones as well as prebuilt binaries at http://ecere.org/software.
93
94 When installing the SDK, the samples get installed in:
95
96    *(Windows)*      %APPDATA%\Ecere SDK\Samples
97    *(Linux/Unix)*   /usr/share/ecere/samples/
98
99 On Unix you might need to make a copy to a directory with write permissions in order to compile them.
100
101 The Documentor is a tool under development to browse and document the APIs of
102 eC modules. You can use it to browse all available classes, methods and properties
103 of the Ecere runtime library. It is available from the Help menu in the IDE (F1).
104 However, at the moment the tool itself is being improved, and so not much
105 descriptive info has been added yet.
106
107 ## COMMUNITY
108
109 [Git Repository](http://github.com/ecere/ecere-sdk) ( git://github.com/ecere/ecere-sdk.git )<br>
110 [Support forums](http://ecere.org/forums)<br>
111 [Bug tracker](http://ecere.org/mantis)<br>
112 [IRC](http://webchat.freenode.net/?channels=ecere) - **#ecere** on irc.freenode.net<br>