So this is my revised effort, which incorporates Wouters suggestions, and Dicks suggestion for using 'filter' in the getHSizes function.
Remarkably this seems a little slower, at 190 to 200 ms.

Mark

on changeTextSize inc
  put the effective textSize of fld 1 into fSize
  put "<font size=" & quote & fSize & quote & ">" into openTag
  put "</font>" into closeTag
  put the htmltext of fld 1 into ttext

  --this next block sets size tags for all the unsized text

  replace "</font>" with "</font>" & openTag in ttext
  replace "<font size=" with closeTag & "<font size=" in ttext
  replace closeTag & closeTag with closeTag in ttext
  put openTag after char 3 of ttext
  -- puts openTag after the intial <p> tag

  --now get all the size values from the size tags
  put getHSizes(ttext) into sizeList

  --set limits
  if inc > 0 AND MAX(sizeList)+inc > 48 then exit to top
  if inc < 0 AND MIN(sizeList)+inc < 8 then exit to top

  --Wouters sort
  if inc > 0 then
    sort items of sizeList numeric descending
  else if inc < 0 then
    sort items of sizeList numeric ascending
  end if

  repeat for each item i in sizeList
    put quote & i & quote into pSize
    put quote & i+inc & quote into nSize
    replace "<font size=" & pSize with "<font size=" & nSize in ttext
  end repeat

  set the textSize of fld 1 to fSize +inc
  set the htmltext of fld 1 to ttext
end changeTextSize


function getHSizes tt
  put empty into sizeList
  replace cr with empty in tt
  replace "<" with cr in tt
  replace ">" with cr in tt

  filter tt with "font size=*"

  replace quote with comma in tt
  repeat for each line i in tt
    get item 2 of i
if it is not among the items of sizeList then put it & comma after sizeList
  end repeat

  return char 1 to -2 of sizeList
end getHSizes
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to