Re[3]: Плавное скролирование "зеркального" текста
От: Alexey Karak Россия  
Дата: 19.03.02 14:55
Оценка: 6 (1)
AK>>Готового решения не встречал — область применения довольна специфична — не каждому нужен телесуфлер .

PPA>я нашел готовую (не в сырцах) прогу на делфях WinSufler — стоит 200 баков(значит не все так просто! )...

PPA>и демка не работает на моем компе почему-то.
PPA>а автор похоже на нее забил
Вероятно, имеется в виду программа Игоря Поливаного? Сейчас он уже занимается другим и, кажется, в другой стране.

AK>>Делается довольно просто. Нужен буфер на весь экран, буфер на новую строку, буфер, высота которого равна размеру шага. Алгоритм настолько прост, что его, вероятно, даже и приводить неуместно.


PPA>Уместно!

PPA>У меня по зеркалам двойка в школе была ))
Ну тогда вот цитата из Help'a по StretchBlt:
StretchBlt creates a mirror image of a bitmap if the signs of the nWidthSrc and nWidthDest parameters or of the nHeightSrc and nHeightDest parameters differ. If nWidthSrc and nWidthDest have different signs, the function creates a mirror image of the bitmap along the x-axis.

Если буфер строки уже весь показан, то выводим очередную строку текста в буфер строки, флипуем его, переносим соответствующий кусок в буфер шага или сразу в сдвинутый буфер кадра. И т.д. если высота буфера кадра не кратна шагу, то возникает несколько дополнительных шагов. В чём проблема-то?

PPA>Единственное, что нужно учесть — скорость движения регулируется шагом, а не частотой перерисовки экрана. Частота перерисовки экрана зависит только от частоты обновления выходного устройства, например, монитора.


PPA>И тут плиз подробнее.

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