Efektywny HTML Canvas z w pełni działającymi scrollbarami

0

Chciałbym za pomocą canvasa zrobić coś a'la hex viewer (to jest mocne uproszczenie, ale od tego zacznę) dla dużych plików. Jako że pliki będą duże to przewijanie ekranu to mus. Trzeba więc zamontować przy canvasie pasek przewijania (przynajmniej pionowy). Samo wyświetlanie ma być efektywne, a więc canvas miałby taki sam rzeczywisty rozmiar jak wyświetlany - zmiany w canvasie następowałyby po nasłuchiwaniu na zdarzenia ze scrollbara i wyciągnięciu z niego aktualnej pozycji. Przewijanie powinno być płynne, tak samo jak np przewijanie całej typowej strony internetowej.

Jak to zrobić?

Oczywisty pomysł to rysowanie własnych pasków przewijania i oprogramowanie przewijania samemu. Wtedy jednak ciężko będzie mi zrobić płynne przewijanie, a i pozostaną przypadki brzegowe jak np przewijanie za pomocą przytrzymanego środkowego przycisku myszki. Ma ktoś lepszy pomysł?

1

Zamiast rysować samemu scrollbare, wystarczy, że umieścisz canvas w diva z css overflow: auto. Canvas musi być większy niż div, co wymusi pojawienie się scrollbarów i umożliwi scrollowanie. Możesz w takim przypadku podpiąć się pod scrollowanie i wtedy zależnie od pozycji scrolla renderować interesującą Ciebie część pliku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1