この演習では、ウィンドウベースのコンピューターシステムをシミュレーションします。移動したりサイズを変更したりできるウィンドウを作成し、その内容を表示します。次の図は、このあと扱う値のイメージを表しています。
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
以下は、オペレーティングシステム向けに簡易化したウィンドウシステムを実装するストーリーに合う、タスクの例です。
これらは、説明(スタブのコメントを含む)で繰り返し使われる用語についての推奨であり、規則ではありません。
screenSizeはディスプレイ全体のサイズを指しますsizeはディスプレイに表示されるウィンドウのサイズを指しますpositionは、ディスプレイの左上隅を基準とした、各ウィンドウの左上隅の位置を指します。