>Hi Carl,
>
>CR> I've been writing a routine to add scroll-wheel support to scripts
>CR> and I've hit a slight snag with stopping an area scrolling out of
>CR> the top of its box - ie, I can't see any way to do it. :-)  
>
>CR> With text-lists you have lc and the length of the list's block to
>CR> control this, but I can't find how to get such values with an area
>CR> or any other way it could be done.  With areas I'm changing  
>CR> their para/scroll/y value to scroll them. 
>
>Have you looked at the source for EDITOR? Here are some pertinent
>bits:
>
>    scroll-to: func [txt /local xy] [
>        xy: (caret-to-offset t1 txt) - t1/para/scroll
>        t1/para/scroll: min 0x0 t1/size / 2 - xy
>        s1/data: (second xy) / max 1 second size-text t1
>        show [s1 t1]
>    ]

Ah! I had't twigged that size-text would work out the area of all the text in a face.  
I kinda figured it'd be just what's displayed, so hadn't thought to use it.  Thanks 
Gregg!  Updated version uploaded...

http://homepages.paradise.net.nz/left/rebol/scripts/scrolling.r

-- Carl Read
 
-- 
To unsubscribe from the list, just send an email to rebol-request
at rebol.com with unsubscribe as the subject.

Reply via email to