في هذا التمرين، ستحاكي نظام حاسوب قائمًا على النوافذ. ستنشئ بعض النوافذ التي يمكن تحريكها وتغيير حجمها وعرض محتوياتها. الصورة التالية تمثّل القيم التي ستعمل بها أدناه.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
هذه أمثلة على مهام تناسب قصة تنفيذ نظام نوافذ مبسّط لنظام تشغيل:
هذه توصيات، وليست قواعد، بشأن المصطلحات المتكررة في التعليمات (بما في ذلك تعليقات القالب الأولي)
screenSize إلى حجم الشاشة الكاملsize إلى حجم النوافذ التي تظهر على الشاشةposition إلى موضع الزاوية العلوية اليسرى لكل نافذة بالنسبة إلى الزاوية العلوية اليسرى للشاشة.