Tryby mapowania, skrolowanie
Wersja B
Skrolowanie, zmiana skali zawartości okna, anizotropiczny tryb mapowania
- Zawartość okna roboczego programu:
- 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 (odpowiadają pikselom w skali 1:1):
- czarny kwadrat: bok 2000, środek w (0, 0)
- zielony kwadrat: bok 1950, środek w (0, 0)
- niebieskie koło: promień 100, środek w (0, 0)
- żółte koło: promień 100, środek w (100, 100)
- siatka białych poziomych i pionowych linii z krokiem 50 (wśród
punktów przecięć tych linii musi być punkt (0, 0))
- minimalne współrzędne sceny: (-1000, -1000)
- maksymalne współrzędne sceny: (1000, 1000)
- Działanie programu
- skrole - przewijanie widocznego w oknie fragmentu sceny
- zakres skroli zawsze taki, by uniemożliwić wyjście poza scenę
- przeciąganie myszą z naciśniętym lewym przyciskiem myszy - rysowanie
prostokąta
- wykorzystać rysowanie XOR
- po puszczeniu lewego przycisku myszy zaznaczony obszar powinien
wypełnić okno (zmienić pionową i poziomą skalę tak, aby zaznaczony
obszar całkowicie wypełnił okno w jego aktualnych rozmiarach)
- naciśnięcie prawego przycisku myszy - dwukrotne zmiejszenie skali
pionowej i poziomej (czyli dwukrotne pomniejszenie po obu współrzędnych)
- dwuklik prawym przyciskiem myszy - ustawienie skali 1:1 dla współrzędnych
pionowych i poziomych
- Uwagi
- wykorzystać tryb MM_ANISOTROPIC
- umożliwić zmianę rozmiaru okna
- zaniedbać problem widoczności obszaru poza sceną, gdy w aktualnych
skalach scena nie może wypełnić całego okna