beautypg.com

Apple Newton Programmer’s Newton 2.0 (for Newton 2.0) User Manual

Page 419

background image

C H A P T E R 1 0

Recognition: Advanced Topics

Using Advanced Topics in Recognition

10-43

GetKeyView().viewInkWordScript := func(strokeBundle) begin

// convert the stroke bundle into an ink word

local inkPoly := CompressStrokes(strokeBundle);

local inkWord := inkPoly.ink;

local textSlot := "\uF701";

local stylesSlot := [1, inkWord];

local root := GetRoot();

// create a rich string with the ink word in it

local appendString := MakeRichString(textSlot,

stylesSlot);

// append the rich string to myRichString

if root.myRichString then

root.myRichString := root.myRichString && appendString;

else

root.myRichString := appendString;

// return nil so default handling still happens

nil;

end;

This implementation converts the stroke bundle into an ink word, creates a rich
string that includes the ink word, and appends that rich string to a rich string that is
stored in the root (

myRichString

). The method then returns

nil

, which allows

the built-in handling of the stroke bundle to occur.