AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
=>     R0 =     pointer to destination string
     R1 =     redraw block (r_for and r_bac)
     R2 =     offset in source string of first character to be in the cursor
     R3 =     cursor length (length in characters of string pointed to by R4)
     R4 =     pointer to string of cursor characters (usually &7Fs)
     R5 =     pointer to source string (0,2 terminated)
     R6 =     b0-b7     fg colour to match (=> uses cur fg/bg inverted)
              b8-b15     bg colour to match (=> used cur fg col as final bg col)
              b16-b29     reserved
              b30     do fg matching
              b31     do bg matching
     R7 =     b0-b7     high byte to use for cursor characters in R4 string
              b8-b15     control code to use when merging ie 4 or 8.
              b16-b23     foreground colour of the cursor
              b24-b31     background colour of the cursor

<=     R0 =     pointer to end of new destination string (after 0,2 terminator)

This SWI takes a line of the same format used in 'r_data', eg the output from
ZapRedraw_PrepareDataLine, and adds in the codes to place 'cursors' over
some of the text by using the code 0,4 (merge characters) or the code 0,8
(merge cursors). Here, a cursor means a string of characters to be overlayed.

Room should be reserved for the string to grow by 8*R3 characters. (eg
0,4,f,b,old,0,3,l,h) If the indicated offset (R2) is off the end of the
string then it will be lengthened with spaces (&20) so you should ensure
R2+9*R3 characters extra are reserved.


[sh-index] Back to list of manuals