# Задачи - ООП, Седмица 12, 13.05.2026 'define expected-reading 2 min 'define created 13 May 2026 'define edited 13 May 2026 [$pagenav] ## За решаване ### Задача 1 .warn Първо реализирайте архитектурно решение на задачата! Ще разгледаме система за менажиране на прозорци в операционна система. За всеки прозорец съхраняваме: .unordered - неотрицателни координати на горния ляв ъгъл на прозореца в пиксели. На координат (0,0) отбелязваме пиксела в горния ляв ъгъл на екрана. - ширина и височина на прозореца в пиксели - име на прозореца с максимална дължина от 255 букви Прозореца трябва да има нужните селектори, мутатори, методи за центриране (хоризонтално, вертикално и двете), реоразмеряване на цял екран и обратно. Разглеждаме също прозорци с рамка. Рамката заема част от всяка страна на прозореца. Трябва да се съхрняват два размера на рамката: този на горната страна (който в реалния свят би съхранявал името на прозореца, бутони за отваряне/затваряне и так. нат.) и този на останалите страни (който е много тънък и се използва главно за реоразмеряване). Прозреца с рамка допълнително трябва да имплементира метод, който връща областта в която се намира съдържанието: размера и координатите на прозореца с извадени размерите на рамките. Имаме и формулярен прозорец: прозорец с рамка, който съхранява неограничено количество от динамично-заделени данни по подаден тип. Реализирайте всички нужни методи и оператори за обработка на тези данни. Имаме и диалогов прозорец: прозорец с рамка, който съхранява низово съобщение с неограничен размер. Реализирайте селектор и мутатор на това съобщение. Финално имаме графичен прозорец: прозорец без рамка, който съхранява изображение. Всеки пиксел в изображението се представя чрез произволна целочислена стойност. Размерите на изображението са запазени в типа на прозореца.