Determining a scroll based on code unit offsets
J. Landman Gay
jacque at hyperactivesw.com
Fri Mar 27 17:15:56 EDT 2020
Oops. Not saved. It fails on larger offsets. Maybe I'm doing something wrong. Here's my longer
way, it could likely be optimized better. It does rely on a scripted field selection, and the
selectedChunk is passed to the handler:
on grpScroll pSelChunk
-- pSelChunk = selected field chunk: char x to y of fld z
put the num of words in char 1 to (word 4 of pSelChunk) of fld "tText" into tNumWords
put the formattedtext of fld "tText" into tFText
put the num of lines in word 1 to tNumWords of tFText into tLineNum
put tLineNum * the effective textheight of fld "tText" into tScroll
set the vScroll of grp "tTextGrp" to tScroll
end grpScroll
Seems like there should be a better way.
On 3/27/20 2:47 PM, Mark Waddingham via use-livecode wrote:
> Maybe (the formattedHeight of codeunit 1 to OFFSET of FIELD - the formattedHeight of codeunit OFFSET of FIELD)?
>
> Sent from my iPhone
>
>> On 27 Mar 2020, at 17:59, J. Landman Gay via use-livecode <use-livecode at lists.runrev.com> wrote:
>>
>> In our last episode, our heroine was trapped by the selection of a line containing metadata. The heroes of this group saved her. In all cases, scrolling the field was accomplished by using the "select" command to bring the line into view.
>>
>> Alas, escape from one danger has led to another. The field itself must be inside an enclosing group so that it will scroll smoothly on mobile. She needs to translate the data from codeunits to a scroll position in order to set the group's scroll rather than the field scroll.
>>
>> Each line of the data looks something like this:
>>
>> 1,103,7
>>
>> While 7 is a line number, multiplying that by the textheight doesn't give consistent results due to line wrap. The first two items are codeunit offsets but there doesn't seem to be a way to translate those into pixel positions.
>>
>> Our heroine is once again in distress, though as mentioned here, some of that may be due to the inability to reach the keyboard from 6 feet away, which presents its own positioning problems.
>>
>> --
>> Jacqueline Landman Gay | jacque at hyperactivesw.com
>> HyperActive Software | http://www.hyperactivesw.com
>>
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list