이 연습 문제에서는 윈도우 기반 컴퓨터 시스템을 시뮬레이션해요. 이동하고 크기를 조절할 수 있으며 내용을 표시하는 윈도우를 몇 개 만들어 봐요. 아래 그림은 앞으로 다룰 값들을 나타내요.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
다음은 운영 체제용으로 단순화한 윈도우 시스템을 구현한다는 스토리에 맞는 예시 작업이에요.
다음은 안내문(스텁 설명 포함)에서 반복되는 용어에 대한 권장 사항이며, 규칙은 아니에요.
screenSize는 전체 디스플레이의 크기를 가리켜요size는 디스플레이에 나타나는 윈도우의 크기를 가리켜요position은 디스플레이의 왼쪽 위 모서리를 기준으로 한 각 윈도우의 왼쪽 위 모서리 위치를 가리켜요