Ebben a feladatban egy ablakozásra épülő számítógépes rendszert szimulálsz. Létrehozol néhány ablakot, amelyek mozgathatók és átméretezhetők, és megjelenítik a tartalmukat. A következő ábra azokat az értékeket szemlélteti, amelyekkel az alábbiakban dolgozni fogsz.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
Ezek példafeladatok, amelyek illenek egy operációs rendszer egyszerűsített ablakozó rendszerének megvalósításához:
Ezek ajánlások, nem szabályok az utasításokban visszatérő terminológiára (a vázkommenteket is beleértve):
screenSize a teljes kijelző méretére utalsize a kijelzőn megjelenő ablakok méretére utalposition az egyes ablakok bal felső sarkának a kijelző bal felső sarkához viszonyított helyzetére utal.