En este ejercicio vas a simular un sistema informático basado en ventanas. Vas a crear ventanas que se pueden mover y redimensionar, 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 stub)
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.