Dans cet exercice, tu vas simuler un système informatique à base de fenêtres. On va créer des fenêtres que l'on peut déplacer et redimensionner, et qui affichent leur contenu. L'image ci-dessous illustre les valeurs avec lesquelles on va travailler.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
Voici des exemples de tâches qui correspondent à l'histoire de l'implémentation d'un système de fenêtrage simplifié pour un système d'exploitation :
Il s'agit de recommandations, et non de règles, pour la terminologie récurrente dans les instructions (y compris les commentaires du squelette)
screenSize désigne la taille de l'écran completsize désigne la taille des fenêtres qui apparaissent à l'écranposition désigne la position du coin supérieur gauche de chaque fenêtre par rapport au coin supérieur gauche de l'écran.