In questo esercizio simulerai un sistema a finestre per computer. Creerai alcune finestre che si possono spostare e ridimensionare, e che mostrano il loro contenuto. L'immagine seguente è rappresentativa dei valori con cui lavorerai qui sotto.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
Queste sono attività di esempio che si adattano alla storia dell'implementazione di un sistema a finestre semplificato per un sistema operativo:
Queste sono raccomandazioni, non regole, per la terminologia ricorrente nelle istruzioni (compresi i commenti dello stub)
screenSize si riferisce alla dimensione del display completosize si riferisce alla dimensione delle finestre che compaiono sul displayposition si riferisce alla posizione dell'angolo in alto a sinistra di ogni finestra rispetto all'angolo in alto a sinistra del display.