główne okno aplikacji jest oknem o stałym rozmiarze bez możliwości maksymalizacji, z jednym SplitContainerem
należy również uniemożliwić możliwość zmiany rozmiaru poszczególnych części okna (nieruchomy splitter)
lewa część okna składa się z dwóch pasków przewijania oraz kontrolek Panel, PictureBox i dwóch pasków przewijania
w prawej części okna znajdują się: Button, CheckBox, ListBox i kontrolka TreeView
główne menu składa się z jednej pozycji służącej do ładowania obrazów przy użyciu standardowego okna dialogowego otwierania pliku
początkowo wszystkie kontrolki są wyłączone, załadowanie pierwszego zdjęcia powoduje włączenie kontrolek
aplikacja ma wyłapywać próby załadowania nieprawidłowych zdjęć i zapobiec takim operacjom
załadowany obraz wyświetlany jest w głównej części okna, widok ograniczony jest przez wybrany z listboxa kształt
suwaki ustalają pozycję ograniczanego obszaru, skrajne pozycje suwaków oznaczają skrajne pozycje przepuszczanego fragmentu
w przypadku, gdy CheckBox jest zaznaczony, obraz rysowany jest w negatywie
kolor przycisku wyznacza aktualną barwę "przesłony", jego użycie powoduje wywołanie standardowego okna dialogowego wyboru koloru i umożliwia jego zmianę
wybór innego kształtu z listboxa powoduje natychmiastową aktualizację widoku na obraz
kontrolka TreeView służy do trzymania historii załadowanych obrazów, nazwy nowoładowanych plików dodawane są od góry
tekst w węzłach reprezentujących historię ładowanych plików rysowany jest w odcieniach szarości, przy czym najnowszy wpis oznaczony jest kolorem czarnym a najstarszy jasnoszarym, pozostałe kolory są kolorami pośrednimi (zgodnie z zasadą gradientu)