Hi Lainz,
Thanks for the demo.
I was wanting to have clickable controls scrolling, but with all the redrawing etc; the impact is rather large. So Agree must use textout on the canvas to; and use some logic to determine if anything is clickable within the 'scrolling window'.
If I increase the Font Size and change the pixel scroll amount to say -4; I get around 2.2%CPU on full screen. Maybe It can be optimized.
I had thought of creating a large canvas, but the canvas size is limited to I think 32767 when addressing it ordinates. ( windows limitation in how the x,y are stored).
I have attached a revised scroller, that looks pretty good, and is not too cpu intensive, if you could have a look see and see if you could see anything that could reduce the cpu usage even further. ( full screen is worst obviously, on mine its about 2.9% ; 1920x1080). its using normal LCL, so if BGRABitmap could help it;)
nb, best viewed with a Mono spaced font, I am using 'Hack' font.. You can change most values defined in the Projects VAR section.
UPDATED project, you can now scroll tpanel or timage