Tryby mapowania, skrolowanie
Wersja B
Skrolowanie i skalowanie zawartości okna
- Wzór dla programu
- Zawartość okna:
- scena składająca się z następujących elementów (wypełnionych podanymi
kolorami, rysowanych w tej kolejności) - wszystkie liczby we współrzędnych
logicznych sceny:
- czarny kwadrat: bok 3000, środek w (0,0)
- czerwony kwadrat: bok 2900, środek w (0,0)
- niebieski kwadrat: bok 200, środek w (0,0)
- żółte koło: promień 100, środek w (100, 100)
- siatka białych linii poziomych i pionowych co 100 punktów logicznych
(wśród punktów przecięć tych linii musi być punkt (0, 0))
- minimalne współrzędne sceny: (-1500, -1500)
- maksymalne współrzędne sceny: (1500, 1500)
- zaniedbać efekty mrugania
- Skrolowanie zawartości okna (pionowe i poziome)
- ustawienia skroli zawsze takie, by była możliwość zobaczenia całej sceny
i tylko sceny - nie pozwolić przeskrolować zawartości okna tak, by obszar
poza współrzędnymi sceny był widoczny
- w przypadku, gdy przeskalowana scena nie zajmuje całego okna resztę
odrysować standardowym kolorem tła okna i uniemożliwić skrolowanie
(np. ukrywając skrol)
- umożliwić zmianę rozmiaru okna - podczas i po modyfikacji rozmiaru okna
nie może być nagłego przeskoku skrola przy jego użyciu
- skrolować zawartość okna podczas przeciągania thumb
- umożliwić skrolowanie o jedną linię i jedną stronę - rozmiar skrolowania
o jedną stronę ustawić jako 1/10 rozmiaru sceny
- Skalowanie zawartości okna
- dodatkowe skrole w lewym górnym rogu okna
- pionowy
- zmiana skali wysokości
- wysokość skrola: 100 pikseli
- szerokość skrola: standardowa szerokość pionowych skroli w Windows
- pozycja górna: skala 1:1
- pozycja dolna: skala 1:10
- poziomy
- zmiana skali szerokości
- wysokość skrola: standardowa wysokość poziomych skroli w Windows
(GetSystemMetrics())
- szerokość skrola: 100 pikseli
- pozycja lewa: skala 1:1
- pozycja prawa: skala 1:10
- obsłużyć wszystkie możliwości ruchu skroli (jak w przypadku skrolowania
zawartości)
- Wskazówki:
- SetMapMode() - MM_ANISOTROPIC
- GetSystemMetrics()