Я реализую шестнадцатеричный редактор в консоли. У меня отображается 2 «окна», один для шестнадцатеричных чисел и один для текста. Между ними я хочу визуализировать полосу прокрутки.
Вот фото для лучшего понимания.
Теперь мой вопрос:
Я не совсем уверен, как рассчитать количество сегментов полосы прокрутки и на каком сегменте я на данный момент. Я использую поток файлов, содержащий байты. Я всегда показываю количество байтов, которое может показать левое окно. Если пользователь нажимает стрелку вверх или вниз, я читаю следующую или предыдущую строку потока.
У вас есть идеи, как решить это хорошо?
EDIT:
Мой класс Scrollbar на данный момент очень минималистичен: он содержит:
- int numberOfSegments
- int currentSegment
- Точка положения
Рендерер знает, как нарисовать полосу прокрутки. Как вы думаете, этого достаточно для класса Scrollbar?