Neste exercício, você vai simular um sistema de computador baseado em janelas. Você vai criar algumas janelas que podem ser movidas e redimensionadas e que exibem o próprio conteúdo. A imagem a seguir representa os valores com os quais você vai trabalhar.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
Estas são tarefas de exemplo que se encaixam na história de implementar um sistema de janelas simplificado para um sistema operacional:
Estas são recomendações, não regras, para a terminologia recorrente nas instruções (incluindo os comentários do stub)
screenSize se refere ao tamanho da tela inteirasize se refere ao tamanho das janelas que aparecem na telaposition se refere à posição do canto superior esquerdo de cada janela em relação ao canto superior esquerdo da tela.