Σε αυτή την άσκηση θα προσομοιώσεις ένα υπολογιστικό σύστημα βασισμένο σε παράθυρα. Θα δημιουργήσεις μερικά παράθυρα που μπορούν να μετακινηθούν και να αλλάξουν μέγεθος και να εμφανίζουν το περιεχόμενό τους. Η παρακάτω εικόνα είναι ενδεικτική των τιμών με τις οποίες θα δουλέψεις στη συνέχεια.
<--------------------- screenSize.width --------------------->
^ ╔════════════════════════════════════════════════════════════╗
| ║ ║
| ║ position.x,_ ║
| ║ position.y \ ║
| ║ \<----- size.width -----> ║
| ║ ^ *──────────────────────┐ ║
| ║ | │ title │ ║
| ║ | ├──────────────────────┤ ║
screenSize.height ║ | │ │ ║
| ║ size.height │ │ ║
| ║ | │ contents │ ║
| ║ | │ │ ║
| ║ | │ │ ║
| ║ v └──────────────────────┘ ║
| ║ ║
| ║ ║
v ╚════════════════════════════════════════════════════════════╝
Αυτές είναι παραδείγματα εργασιών που ταιριάζουν στην ιστορία της υλοποίησης ενός απλοποιημένου συστήματος παραθύρων για ένα λειτουργικό σύστημα:
Size
Position
Window
Αυτές είναι συστάσεις, όχι κανόνες, για την επαναλαμβανόμενη ορολογία στις οδηγίες (συμπεριλαμβανομένων των σχολίων του stub)
screenSize αναφέρεται στο μέγεθος της πλήρους οθόνηςsize αναφέρεται στο μέγεθος των παραθύρων που εμφανίζονται στην οθόνηposition αναφέρεται στη θέση της πάνω αριστερής γωνίας κάθε παραθύρου σε σχέση με την πάνω αριστερή γωνία της οθόνης.