En este ejercicio, vas a simular un sistema informático basado en ventanas. Crearás varias ventanas que se pueden mover y cambiar de tamaño, y que muestran su contenido. La siguiente imagen es representativa de los valores con los que vas a trabajar a continuación.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
Estas son tareas de ejemplo que encajan con la historia de implementar un sistema de ventanas simplificado para un sistema operativo:
Estas son recomendaciones, no reglas, para la terminología recurrente en las instrucciones (incluidos los comentarios del código inicial)
screenSize se refiere al tamaño de la pantalla completasize se refiere al tamaño de las ventanas que aparecen en la pantallaposition se refiere a la posición de la esquina superior izquierda de cada ventana con respecto a la esquina superior izquierda de la pantalla.