Скроллбар с линзой
От: Кодт Россия  
Дата: 12.10.05 11:58
Оценка: 33 (4) +3
Пришла в голову такая идея: скроллбар с линзой и с прогрессивной характеристикой.

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

Почему и для чего?

Во-первых, меня достало, что ворд и акробат стремительно прыгают по страницам.
Например, если в документе 1000 страниц, а высота вертикального скроллбара 500 пикселов, то при всём желании я не смогу попасть на нечётную страницу с первой попытки: субпиксельное наведение мыши невозможно.

В то же время, перелистывание физических толстых книг не затрудняет:
— мгновенно наугад открываю (примерно по толщине) — это как бы клик мышкой по скроллбару
— быстро перелистываю стопку соседних страниц — это как бы тяну с большой скоростью
— затем медленно и вдумчиво перелистываю постранично — это как бы тяну или кликаю в области линзы.

Линзу на скроллбаре (или на трекере — в общем-то, не принципиально) можно отображать
— во-первых, сменой шага засечек
— во-вторых, утолщением полоски
— в-третьих, светотенью
Вот примерно так (очень грубо, извините — не дизайнер).


Сразу же возник вопрос о математической стороне этого явления. Нужно отобразить пикселы на логические координаты и обратно.
Это некая кусочно-линейная функция или кусочный сплайн (возможно, с вертикальными участками, т.е. часть логических координат окажется в слепых зонах под линзой).
Переместим мышь от точки фокуса линзы в сторону. Было бы неплохо, чтобы после того, как линза переедет вслед за мышью, логическая координата под мышью осталась неизменной.
Подвигав мышь туда-сюда, мы можем замести семейством функций весь квадрат (диапазон_логических_координат)x(диапазон_пикселов). А вот этого не хочется.

Поэтому на повестке 4 пункта
— полезность
— юзабельность
— дизайн
— математика
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.