Author: Christian.Queinnec@lip6.fr

## Introduction

Ce chapitre présente la bibliothèque `Graphics` fournie avec la distribution du langage Objective CAML. Cette bibliothèque fonctionne de manière identique sur les principales interfaces graphiques des systèmes d'exploitation les plus courants : Windows, MacOS, Unix avec X-Windows. `Graphics` permet la réalisation de tracés graphiques, pouvant contenir du texte et des images, et gère des événements de base comme le clic de la souris ou l'appui d'une touche du clavier.
Le modèle de programmation pour les tracés graphiques est le << modèle du peintre >> : la dernière couche de peinture efface la précédente. C'est un modèle impératif dans le sens où la fenêtre graphique est un tableau de points que chaque primitive graphique modifie physiquement. Les interactions avec la souris et le clavier seront le cadre de la programmation par événements : la fonction principale du programme est une boucle sans fin en attente d'une action de l'utilisateur. La venue d'un événement entraîne l'exécution d'un traitement particulier, puis le retour à la boucle principale en attente d'un prochain événement.
Bien que la bibliothèque `Graphics` soit très simple, elle est suffisante d'une part pour introduire les concepts de base des interfaces graphiques, et d'autre part, elle contient les éléments de base pour l'élaboration d'interfaces graphiques plus riches et plus faciles à manipuler par le programmeur.