LINUX.ORG.RU

История изменений

Исправление alexru, (текущая версия) :

есть такой костыль:

Замечательно. Костыль помог. Сделал для теста следующее:

1. Диапазон ScrollBar-а 0-10000 (окно). Смещение окна = 0.

2. При достижении 10000 положение устанавливается в 9000 и к смещению прибавляется 1000.

3. При достижении 0, положение устанавливается в 1000 и от смещения отнимается 1000.

4. При отрисовке запрашиваются данные по смещение + положение ScrollBar-а.

Таким образом ScrollBar всегда имеет диапазон 0-10000 и не нужно бороться с ограничениями на максимальное положение (signed int).

С реальными данными не проверял, но на тестовых пустышках все выглядит хорошо и ощущается естественно и приятно.

В добавок ко всему, быстрая прокрутка осуществляется захватом ползунка, удавливанием его вниз и возней мышкой вправо и влево.

Исправление alexru, :

есть такой костыль:

Замечательно. Костыль помог. Сделал для теста следующее:

1. Диапазон ScrollBar-а 0-10000 (окно). Смещение окна = 0.

2. При достижении 10000 значение устанавливается в 9000 и к смещению прибавляется 1000.

3. При достижении 0, значение устанавливается в 1000 и от смещения отнимается 1000.

4. При отрисовке запрашиваются данные по смещение + положение ScrollBar-а.

Таким образом ScrollBar всегда имеет диапазон 0-10000 и не нужно бороться с ограничениями на максимальное положение (signed int).

С реальными данными не проверял, но на тестовых пустышках все выглядит хорошо и ощущается естественно и приятно.

В добавок ко всему, быстрая прокрутка осуществляется захватом ползунка, удавливанием его вниз и возней мышкой вправо и влево.

Исходная версия alexru, :

есть такой костыль:

Замечательно. Костыль помог. Сделал для теста следующее: 1. Диапазон ScrollBar-а 0-10000 (окно). Смещение окна = 0. 2. При достижении 10000 значение устанавливается в 9000 и к смещению прибавляется 1000. 3. При достижении 0, значение устанавливается в 1000 и от смещения отнимается 1000. 4. При отрисовке запрашиваются данные по смещение + положение ScrollBar-а.

Таким образом ScrollBar всегда имеет диапазон 0-10000 и не нужно бороться с ограничениями на максимальное положение (signed int).

С реальными данными не проверял, но на тестовых пустышках все выглядит хорошо и ощущается естественно и приятно.

В добавок ко всему, быстрая прокрутка осуществляется захватом ползунка, удавливанием его вниз и возней мышкой вправо и влево.