Introduction

Eiffel Windowing System (EWS) is an Eiffel library which provides a small, stand-alone windowing system. The current implementation is based on the Simple Directmedia Library (SDL), but the design allows other graphical backends. Besides the basic windowing system functionality (overlapping windows, event passing and handling, graphical operations, input froum mouse and keyboard), a small widget-toolkit is included (buttons, scrollbars, labels, etc.). It's specially well suited for applications where a fine degree of control over presentation and timing is required. Multimedia applications and games are the usual examples.

It is licensed under the GNU LGPL and distributed freely. That means that you can use it for whatever you want, redistribute, or inspect its source code freely. You may also change the code, and redistribute the changes as long as you redistribute these changes also under the LGPL.

The name EWS first meant "Eiffel windowing system", after that it meant "Embedded Windowing System" And it's now "E Windowing System". Perhaps the E means something, but I have forgotten.

This library was written mainly by me, Daniel F. Moisset (dmoisset at grulic.org.ar), with some collaboration from Anthony Lenton (anthony at grulic.org.ar). It is a project that was born as a child from a game that we are still developing together (as today, October 2005).

I'll try to make this document as complete as possible, but as most free software, this is always work in progress and the code usually gets away from the documentation. If you have any input about updating this, please contact me at dmoisset at grulic.org.ar . This tutorial will guide you, as any tutorial, through examples covering different concepts. However this tutorial has also the goal of explaining clearly all the concepts you will need as a developer, so it will probably longer and deeper than you might expect of an usual tutorial.

It is assumed here that you can read Eiffel code and that you have some basic knowledge about computer graphics: coordinate systems, pixels, bitmap images, etc.

Previous Table of contents Next