#JAWS for Windows Macro Functions
#6/2/95, th, added extra descriptions for documentation
#8/2/95, th, added Font and Delay functions.

:function 1 -
:description Subtraction operator, used in math equations
:Function 2 +
:description Addition operator, used in math equations
:Function 3 *
:description Multiplication operator, used in math equations
:Function 4 /
:description Division operator, used in math equations
:Function 5 <
:description Less Than operator, used in IF statements
:Function 6 <=
:description Less than or Equal to, used in IF statements
:Function 7 ==
:description Is equal to, used in If statements
:Function 8 >=
:description Greater than or equal to, used in IF statements
:Function 9 >
:description Greater Than operator, used in IF statements
:Function 10 !=
:description Not equal to, used in IF statements
:Function 11 &&
:description And operator, used in IF statements
:Function 12 ||
:description Or operator, used in IF statements
:Function  13 uminus
:description never called by the user, here for testing only
:Function 14 if
:description Start of If-then-Else statement
:param1 string The equation or function that provides a true or false result

:Function 15 else
:description Optional part of IF statement
:Function 16 endif
:description Terminates the IF statement
:Function 17 not
:description Reverses the IF statement
:Function 18 while
:description Start of While loop
:Function 19 endwhile
:description End of While loop
:Function 20 for
:description Start of For loop
:Function 21 next
:description next
:Function 22 PushInt
:description Pushes an integer on the stack
:Function 24 PushString
:description Pushes a pointer to a string on the stack
:Function 27 AssignStringVar
:description never called by the user, here for testing only
:Function 26 PushStringVar
:description never called by the user, here for testing only
:Function 28 PushIntVar
:description never called by the user, here for testing only
:Function 29 AssignIntVar
:description never called by the user, here for testing only
:Function 33 strcmp
:description never directly called by the user
:Function 32 ExecuteKey
:description never called by the user, here for testing only
# User callable functions
:Function 50 ToggleDebug
:Returns int
:description Toggles Debug mode on or off

:Function 51 Run
:param1 string The name of the program to run
:description Runs the program whose name and path are specified in
the string that is passed.

:Function 52 GetDate
:description Gets the system date.
(Not implemented)

:Function 53 SayString
:param1 string The string to speak
:description Speaks the string of characters enclosed in quote
marks.

:Function 54 Beep
:description Does a system beep

:Function 55 MessageBox
:description Pops up a message on the screen
:Param1 String Text to be put in message box.

:Function 56 Flush
:description Flushes the speech synthesizer, stops speaking 
(Not currently implemented)

:Function 57 JAWSCursor
:description Turns on the JAWS cursor, turns off all other cursors.

:Function 58 PCCursor
:description Turns on the PC cursor, turns off all other cursors.

:Function 59 SetVoice
:description Sets a voice parameter
(Currently not implemented)

:Function 60 JAWSHome
:description Moves JAWS cursor to left side of window if it is on,
or does the applications Home function if PC cursor is on.

:Function 61 JAWSEnd
:description Moves JAWS cursor to right side of window if it is on,
or does the applications End function if PC cursor is on.

:Function 62 JAWSPageUp
:description Moves JAWS cursor to top of window if it is on, or
does the applications Page Up function if PC cursor is on.

:Function 63 JAWSPageDown
:description Moves JAWS cursor to bottom of window if it is on, or
does the applications Page Down function if PC cursor is on.
:Function 64 GetCursorRow
:returns int
:description Gets the row or vertical position of the active
cursor, use SayInteger to speak it.

:Function 65 GetCursorCol
:returns int
:description Gets the column or horizontal position of the active
cursor, use SayInteger to speak it.

:Function 66 SayUnit
:description Says the current unit of text
(Not implemented currently)

:Function 67 SayCharacter
:description Says the current character, or graphic label, where
the active cursor is.

:Function 68 SayWord
:description Says the current word, or graphic label, where the
active cursor is.

:Function 69 SayField
:description Says the current field of text.  This is a block or group of
text that has the same attribute, e.g. bold, underlined, italics, or strike
out.  The attribute must be contiguous.
 
:Function 70 SayLine
:description Says the current line of text, the "line" that the
active cursor is on.  This may include items that are slightly up
or down from the current "line", or it may not include them.  All
items do not necessarily line up exactly, unlike DOS.

:Function 71 NextUnit
:description Moves the active cursor to the next unit of text 
(Not implemented)

:Function 72 NextCharacter
:description Moves the active cursor to the next character.  If the
PC cursor is on then the application moves the "cursor" as it sees
fit.  If the JAWS cursor is on then JAWS will try to move to the
next character or graphic item.  

:Function 73 NextWord
:description Moves the active cursor to the next word

:Function 74 NextChunk
:description Moves the active cursor to the next chunk of text
:Function 75 NextLine
:description Moves the active cursor to the next line

:Function 76 PriorUnit
:description Moves the active cursor to the prior unit of text 
(not implemented)

:Function 77 PriorCharacter
:description Moves the active cursor to the prior character
:Function 78 PriorWord
:description Moves the active cursor to the prior word

:Function 79 PriorChunk
:description Moves the active cursor to the prior chunk of text
:Function 80 PriorLine
:description Moves the active cursor to the prior line

:Function 81 SayActiveCursor
:description Says the name of the active cursor, JAWS or PC

:Function 82 SayCursorPos
:param1  int The cursor to use
:description Says the position of the cursor.  Refer to the
DEFAULT.JMS macro file for an example.

:Function 83 SayInteger
:param1 int The number to speak
:description Says the number.

:Function 84 GetActiveCursor
:returns int
:description Determines which cursor is currently on: 0=Jaws
cursor, 1=PC, 2=Invisible cursor, 3=Braille cursor.

:Function 85 RouteJawsToPc
:description Moves the JAWS cursor to the PC cursor.  Puts the
mouse pointer on top of the caret (if it is there) or the
highlighted text or other point that the PC cursor is tracking.

:Function 86 RoutePcToJaws
:description Moves the PC cursor to the JAWS cursor when possible. 
This is the same as left mouse click, which asks Windows to move
the insertion point to the mouse pointer.  It will not work in some
situations. 

:Function 88 ToggleRestriction
:Returns integer  1=on, 0=off
Description: Toggles the JAWS cursor between restricted and
unrestricted   mode.  Returns the new setting of the variable.  1
if restriction is   now on, 0 otherwise.  When restricted, the JAWS
cursor will stay within the current window.  The "window" could be
a list box, edit field, or some other item.

:Function 89 SayAll
:description Reads the window, from the active cursor down to the
bottom of the window.  The cursor stays where it was.  The control
key or shift key will silence it.  It will not stop and place the
cursor on the last word spoken yet, that will come later.

:Function 90 GetAppTitle
:returns string  The title of the application.
:description Gets the title of the current application program.

 :Function 91 GetWindowClass
:param1 handle Handle of window to check
:returns string  The class name
:description Gets the class of the window.  This is the name  given
by the application, can be anything.  Every window that is created
has a class name associated with it.  There are several predefined
window classes, like "edit", "listbox", "combobox", etc.  The
string returned by this function will be one of these or it will be
a class name unique to the application.  Refer to the Insert+F1
macro for a list of the standard class  names.

:Function 92 JawsWindow
:description Invokes the JAWS window, gives JAWS the focus.  Makes
JAWS the currently running application.

:Function 93 MenusActive
:returns int
:Description TRUE if a menu is currently active, FALSE otherwise 

:Function 94 DialogActive
:returns int
:Description TRUE if a dialog box is currently active, FALSE
otherwise 

:Function 95 IsJAWSCursor
:returns int
:Description TRUE if the JAWS cursor is currently on

:Function 96 ToggleVerbosity
:description Changes the verbosity level, refer to the Insert+V
macro for example.

:Function 97 GetVerbosity
:returns int
:Description Gets the verbosity level, refer to the Insert+V macro
for example.

:Function  98 DictionaryWizard
:description Invokes the Dictionary Wizard for the current word 

:Function 99 CaretVisible
:returns int
:Description Indicates whether or not there is an insertion point
or caret visible or active on the screen.  If an edit field has the
focus then the caret is active, but if a menu is pulled down over
the edit field then the caret is not active and JAWS will track the
menu bar.  Refer to the next/prior line macros for an example.

:Function 100  SayControl
:param1 handle Handle of control to speak
:Description Speaks the contents of the Control along with it's
prompt message.  A "Control" typically is one of the fields inside
a dialog box, like a list box.  It is a child window, usually
inside a dialog box.  The parameter is the handle of the control or
child window, refer to "Window handles" for more info.

:Function 103 UnloadJAWS
:Description Stops JAWS and unloads it from memory, first warning
you and prompting you to confirm.  If you set up a HotKey in
Program Manager then it is easy to re-load JAWS.

:Function 104 GraphicWizard
:Description Invokes the Graphic Wizard dialog, which lets you
assign a label to a graphic symbol.  Be sure the JAWS cursor is on
so you can be sure it is on a graphic symbol, the Graphics Wizard
will always get what the JAWS cursor is on.

:Function 105 MoveToGraphic
:param1 int Direction 0=First, 1=Next, 2=Prior, 3=Last
:returns int
:Description Moves JAWS cursor to the specified graphic element  in
the current window.  If you use "MoveToGraphic(0)" then the JAWS
cursor/mouse will be moved to the first graphic item in the current
window (maybe the Application Control Menu in the top left corner). 
If you want to go to the next grraphic item from there then use a
parameter of "1".  A parameter of "2" will move to the previous
graphic, and "3" will take the JAWS cursor to the last graphic item
in the window.  Use this in conjunction with "SayChunk" to read the
label of the graphic item.

:Function 106 GetWindowType
:param1 handle Handle of window to check
:Returns string The type of the window
:description returns a text string containing the type of the
     window whose handle was passed as a parameter.  Type is less
specific than Window Class, returns names like  Dialog box, Button,
or List box, the standard types that can be found in the Insert+F1
macro.  Returns "Unknown" if it does not match one of the standard
types.

:Function 107 Pause
:Description Pauses the current macro, so that  other applications
can get control and do whatever they need to do, then control will
return to JAWS and the macro will continue.  The actual amount of
time is variable, depending on the number of other applications
currently running and the amount of work they need to do.

:Function 108 LeftMouseButton
:Description Simulates pushing the left mouse button one time,
press it twice quickly to double click.

:Function 109 RightMouseButton
:Description Simulates pushing the right mouse button one time,
press it twice quickly to double click.

:Function 110 HasTitleBar
:Description Returns True if the passed window has a title bar,
such as dialog boxes or application windows.
:Param1: handle handle of window
:Returns int

:Function 111 GetParent
:Description Returns the handle of the passed window's parent
window or 0 
if none.  A parent window is the one that created this window.  It
is useful if you want to traverse a list of windows or controls.
:Param1: handle handle of window
:Returns handle  The handle of the parent window

:Function 112 GetFirstChild
:Description Returns the handle of the passed window's first child
or 0 if none.  
Useful if you want to traverse a list of windows, you would use
GetParent  and then GetFirstChild to get to the first window in
the list. 
:Param1: handle handle of parent window
:Returns handle  The handle of the first child window

:Function 113 GetNextWindow
:Description Returns the  handle of the next window or 0 if none. 
Use to traverse a list of windows.
:Param1: handle handle of window
:Returns handle The handle of the next window

:Function 114 GetPriorWindow
:Description Returns the  handle of the prior window or 0 if none. 
Use to traverse a list of windows.
:Param1: handle handle of window 
:Returns handle  The handle of the prior window

:Function 115 GetFirstWindow
:Description Returns the handle of the first window at the same   
          logical level as the passed handle.  Gets the first
window in a list of windows.
:Param1: handle handle of window at same level
:Returns handle The handle of the first window at that level

:Function 116 GetFocus
:Description Returns the handle of the window with focus or 0 if
none.  This is independent of which cursor, JAWS or PC, is active.
:Returns handle The handle of the window with focus

:Function 117 GetRealWindow
:Description starting with the passed window handle,
             traverses upwards through the window list until a
window with a title-bar is found.  Then it returns the handle of
that window, the one with a title or title bar.  A "real" window is
one that has a title. 
:Param1: handle handle of window being used as
starting point. 
:Returns handle The handle of the real window 

:Function 118 GetAppMainWindow
:Description Returns the handle of the application main window
         associated with the passed handle.  It works its way up
the window hierarchy until it gets to the application's main
window. 
:Param1: handle handle of window to start with.
:Returns handle  The handle of the application's main window.

:Function 119 GetWindowName
:Description Returns the title of the passed window.  See the
"FocusChange" event macro for example.
:Param1: handle handle of window
:Returns string The name or title of the window

:Function 120 GetCurrentWindow
:Description Returns the handle of the current window.  If the PC 
            cursor is on, then this is the window containing the
caret or              highlighted item.  If the JAWS cursor is on,
this is the window              containing the mouse pointer.  This
function is frequently used to get the handle to be used as a
parameter in other macro functions, i.e. GetWindowType or
GetWindowClass.
:Returns handle  The handle of the window with the "active" cursor

:Function 121  SayWindow
:param1 handle Handle of window to speak
:param2 int 0 = speak everything, 1 = speak highlighted text only
:Description Speaks the contents of the window associated with the
passed window handle (parameter 1).  If parameter 2 is "0" then it
speaks all the text in the window, if parameter 2 is "1" then it
speaks only the highlighted text.

:Function 122  SayWindowTypeAndText
:param1 handle Handle of window to speak
:Description Speaks the title, type of window, contents of window,
and other important information, like the prompt or
checked/unchecked status of the  passed window.  Also marks this
text as having been spoken, so the Text and highlightedText events
won't speak it again.  See the FocusChange event macro for an
example.

:Function 123  ToggleHomeRow
:Description toggles the state of home-row mode.  Home-Row mode is
a keyboard shift-state, another layer for defining macros.  Instead
of Alt+F1 you could use HomeRow+F1 for your macro key.  It is a new
level or set of macro keys, especially useful for the alphabet or
home-row keys and users that want to keep their hands on the home-
row.  In this way, the "K" could be defined to read the current
line when Home Row is "on", and when Home Row is toggled "off" it
could become a "K" again.  
:Returns int 0 for off, 1 for on

:Function 124  ExpandString
:Description Inserts a space between adjacent characters of a
string.  Can be used in conjunction with SayString to spell 
strings.  Refer to the Insert+Numpad5 macro for an example.
:Returns string The text with spaces inserted
:Param1 String The text to expand

:Function 125 LeftMouseToggle
:Description Toggles the pressed/released state of the left mouse
     button. returns 1 if the button is being pressed, 0 if it is
     being released.  Press it again to unlock it if it is locked
down. 
:Returns int The locked/unlocked status

:Function 126 ToggleScreenEcho
:description cycles through the possible screen echo settings, to
determine how much of the data being written to the screen is
actually spoken: 0=None, 1=Highlighted text only, 2=All.  It is
used to control the Text event and Highlighted Text event macros,
refer to them and the Insert+S macro for examples.

:Function 127 GetScreenEcho
:returns int
:Description Gets the Screen Echo settings, to determine how much
of the data being written to the screen is actually spoken: 0=None,
1=Highlighted text only, 2=All.  It is used to control the Text
event and Highlighted Text event macros, refer to them and the
Insert+S macro for examples.

:Function 128 StringContains
:Description Checks to see if one string is contained in the other.

The search starts at the beginning of the string to search in, the
first parameter.  If it finds the string it is searching for, the
second parameter, then it returns true, otherwise it returns false.
:Returns int  0=False, 1=True
:param1 string The string to look in
:param2 string The string to search for

:Function 129 SdmSayWindowTypeAndText
:Description Behaves the same as SayWindowTypeAndText, only the
parameters are different.  An SDM dialog has only one window handle
regardless of which control you are on in the dialog box.  That is
why the second parameter is the control ID.  The current control id
is gotten by SdmGetFocus.  That is, GetFocus will return the handle
of the SDM dialog, and SdmGetFocus will return the ID of the
current control.  The "Control" is the item inside the dialog box,
like an edit field or a list box.  See the WORD.JMS file for
examples.
:Param1 handle handle of SDM window, returned by GetFocus.
:param2 int ID of item in window, returned by SdmGetFocus

:Function 130 SdmGetFocus
:Description Used to get the ID of the current control in an SDM
dialog box, which is used in SdmSayWindowTypeAndText.  Refer to the
FocusChange event macro in the Word for Windows macro file,
WORD.JMS.
 :param1 handle handle of current window, returned by GetFocus.
:returns int  The ID of the current control within an SDM dialog

:Function 131 SdmSayStaticText
:Description Says the static text in an SDM dialog box.  This is
the text that is not associated with any of the input fields, i.e.
not a title for any of these fields.
:param1 handle handle of SDM window, returned by GetFocus.

:Function 132 InvisibleCursor
:description Turns on the invisible cursor and turns off the JAWS
or PC cursor.  The Invisible Cursor performs like the JAWS cursor
except that it does not move the mouse pointer, it is strictly a
reading cursor.   Some applications sense the presence and location
of the mouse and change the screen or make a selection
automatically, even if you do not want them to.  In those cases you
should use the Invisible Cursor if you do not want the application
to update the screen.

:Function 133 IsInvisibleCursor
:description Returns true if the invisible cursor is on, false
otherwise.
:returns int

:Function 134 RouteInvisibleToJaws
:description Moves the invisible cursor to the JAWS cursor.

:Function 135 RouteInvisibleToPc
:description Moves the invisible cursor to the PC cursor.

:Function 136 RouteJawsToInvisible
:description Moves the JAWS cursor to the invisible cursor.

:Function 137 HasFocusRect
:description Determines if the specified window has a focus
rectangle (Not implemented currently)
:param1 handle Handle of window to check
:returns int  True or False, 1 or 0

:Function 138 SayFocusRect
:description Says the contents of focus rectangle.  Returns TRUE if
     any text was spoken, FALSE otherwise.
(Not implemented currently)
:param1 handle Handle of window
:returns int  True or False, 1 or 0

:Function 139 FindString
:description Searches for a string of text on the screen, if found,
it moves the JAWS
cursor to it.
:param1 handle Handle of window to search, such as
returned by GetCurrentWindow.
:param2 string The string to search for
:param3 int 0 if search should start at the top,
     1 if search should start at the bottom.
:param4 int 0 if search should extend outside of current window or
control,         1 if search should be restricted to window or
control associated with the passed handle.
:returns int non-zero on success, 0 on failure

:Function 140 FindGraphic
:description Searches for a graphic symbol and moves the JAWS
cursor to it if it finds it.  The graphic symbol must have a text
label associated with it, such as assigned by the Graphics Wizard. 
The text label is how each graphic is identified.
:param1 handle Handle of window to search
:param2 string graphic text label to search for
:param3 int 0 if search should start at the top,
     1 if search should start at the bottom.
:param4 int 0 if search should extend outside of current window or
control,         1 if search should be restricted to current window
or control. 
:returns int non-zero on success, 0 on failure

:Function 141 IsPCCursor
:returns int True or False, 1 or 0
:Description Returns true if the PC cursor is currently on, false
otherwise.

:Function 142 IsSameMacroKey
:description Returns true if same macro key has been pressed twice
within half      a second.  One key can be used for two different
functions, like SayWord and SpellWord.  See Insert+Numpad5 in the
DEFAULT.JMS file for example.
:returns int True or False, 1 or 0

:Function 143 SpellWord
:description Similar to SayWord, but it spells the current word.

:Function 144 SaveCursor
:description saves the current cursor, i.e. it remembers which
cursor is currently on.  If the JAWS cursor is on, its
position is also saved, so it can be returned there with the
restore function.

:Function 145 RestoreCursor
:description restores the cursor saved by the most recent call to
SaveCursor, i.e. it turns on the cursor that was on.  Will move the
JAWS cursor back to its position when it was saved.

:Function 146 PerformMacroKey
:description Performs the macro assigned to the specified key, just
like it was physically pushed.  When that macro is finished it
returns to the macro that performed it.
:param1 key the key with the macro to be performed

:function 148 SayToCursor
:description speaks text to the left of the current cursor, on the
same line.  It does not read the current character, just up to it.

:Function 149 SayFromCursor
:description speaks text to the right of the current cursor on the
same line, and includes the character that the cursor is on.

:function 150 PassKeyThrough
:description passes key through to the underlying application,
bypassing JAWS macros.  Used when a JAWS key is in conflict with a
key combination normally used by the application program.  (If the
JAWS macro key is there it will normally take precedence and
perform the macro, if PassKeyThrough is pressed first then the JAWS
macro is ignored and the application will get the key.

:function 151 DescribeFont
:description Speaks the font name, size,  and attributes (underlined, bold,
italics) at the current cursor position.  Note that the size reported by
this function is not necessarily the same size that it will be when printed.
 Refer to FONTSIZE.TXT in the TECNOTES directory.

:function 152 delay
:description Causes the macro to delay or suspend execution, to allow the
application to do something, like move the cursor or display something new
on the screen.
:param1 int Number representing tenths of a second to delay

:function 153 GetAppFileName
:description Returns the file name of the currently executing program.
Useful in determining what the name of a macro file should be when
creating one for a specific application.
:returns string The name of the executing program

:function 154 FindFirstAttribute
:description Starting at the top of the current window, searches
forward for text having the specified attributes.  If successful, The
active cursor is placed on the first matching character.
:param1 int the attributes to search for.  These should be
represented by one or more of the constants ATTRIB_BOLD,
ATTRIB_UNDERLINE, ATTRIB_ITALIC, ATTRIB_HIGHLIGHT, or ATTRIB_STRIKEOUT.  When searching
for text having multiple attributes, items should be combined using +.
e.g. FindFirstAttribute(ATTRIB_BOLD+ATTRIB_UNDERLINE) would search for
boled text that is also underlined.
:returns int 1  if the specified attribute is found, 0 otherwise

:function 155 FindNextAttribute
:description Starting at the current cursor's location, searches
forward for text having the specified attributes.  If successful, The
active cursor is placed on the first matching character.
:param1 int the attributes to search for.  These should be
represented by one or more of the constants ATTRIB_BOLD,
ATTRIB_UNDERLINE, ATTRIB_ITALIC, ATTRIB_HIGHLIGHT, or ATTRIB_STRIKEOUT.  When searching
for text having multiple attributes, items should be combined using +.
e.g. FindNextAttribute(ATTRIB_BOLD+ATTRIB_UNDERLINE) would search for
boled text that is also underlined.
:returns int 1  if the specified attribute is found, 0 otherwise

:function 156 FindPriorAttribute
:description Starting at the current cursor's location, searches
backward for text having the specified attributes.  If successful, The
active cursor is placed on the first matching character.
:param1 int the attributes to search for.  These should be
represented by one or more of the constants ATTRIB_BOLD,
ATTRIB_UNDERLINE, ATTRIB_ITALIC, ATTRIB_HIGHLIGHT, or ATTRIB_STRIKEOUT.  When searching
for text having multiple attributes, items should be combined using +.
e.g. FindPriorAttribute(ATTRIB_BOLD+ATTRIB_UNDERLINE) would search for
boled text that is also underlined.
:returns int 1  if the specified attribute is found, 0 otherwise

:function 157 FindLastAttribute
:description Starting at the bottom of the current window, searches
backward for text having the specified attributes.  If successful, The
active cursor is placed on the first matching character.
:param1 int the attributes to search for.  These should be
represented by one or more of the constants ATTRIB_BOLD,
ATTRIB_UNDERLINE, ATTRIB_ITALIC, ATTRIB_HIGHLIGHT, or ATTRIB_STRIKEOUT.  When searching
for text having multiple attributes, items should be combined using +.
e.g. FindLastAttribute(ATTRIB_BOLD+ATTRIB_UNDERLINE) would search for
boled text that is also underlined.
:returns int 1  if the specified attribute is found, 0 otherwise

:function 158 GetWindowTypeCode
:param1 handle Handle of window to check
:Returns int a number indicating The type of the window
:description returns a number representing the type of the
     window whose handle was passed as a parameter.  Type is less
specific than Window Class. This function is similar to GetWindowType
but returns a number rather than a textual string.
The number will be the same even if a nonEnglish version of JAWS is
running.  GetWindowType will return a string specific to the language
of the current JFW session.  The results of GetWindowTypeCode can be
compared to WT_ constants defined in hjconst.jmh.

:function 159 BrailleLine
:description Sends the current line of text to a Braille display.
This is automatically called ten times a second and needn't be called
by a macro except when wanting to switch back to showing the current
screen line after having displayed a string with BrailleString.
:returns void

:function 160 BrailleString
:description Sends a string of text to the Braille display.  Like
SayString, but Brailles the information rather than speaks it.  During
the time that the string is on the Braille display, the display will
not be showing the contents of the line on which the current cursor is
positioned.   To redisplay the line, use the BrailleLineMode function.
:param1 String the text to be displayed
:returns void

:function 161 EightDotBraille
:description Switches to eight dot Braille
:returns void

:function 162 SixDotBraille
:description Switches to six dot braille
:returns void

:function 163 BraillePanRight
:description Displays text from the current line which is to the right
of the last character currently shown on the Braille display
:returns int 1 if there was text to the right to be displayed, 0
otherwise

:function 164 BraillePanLeft
:description Displays text from the current line which is to the left
of the first character currently shown on the Braille display
:returns int 1 if there was text to the left to be displayed, 0
otherwise

:function 165 GetCurrentControlID
:description If in a dialog box, returns the numeric identifier
	associated with the current control.  If not in a dialog box, always
	returns 0.  Control IDs are unique within a dialog box, except when
	referring to controls containing static text.  In this case, several
	controls may have the same ID.
:returns int the ID of the current control

:function 166 GetLine
:description Retrieves the text of the line on which the current cursor
	is positioned
:returns string contents of line

:function 167 GetWord
:description Retrieves the text of the word on which the current cursor
	is positioned
:returns string current word

:function 168 GetCharacter
:description Retrieves the character or graphic label on which the
	current cursor is positioned
:returns string current character or label

:function 169 GetDefaultButtonName
:description When in a dialog box, returns the label of the default
button, the one which will be executed when the user presses ENTER
:returns string the name of the default button

:function 170 MoveToWindow
:description Moves the current cursor to the top of the specified
window.  If the PC cursor is on, the JAWS cursor is  turned on and moved.
:param1 hwnd handle of desired window
:returns int TRUE if move successful, FALSE otherwise

:function 171 SayChunk
:description speaks the current chunk of text, that which was written
to the screen in a single operation
:returns void

:function 172 GetChunk
:description Retrieves the current chunk of text, that which was written
to the screen in a single operation
:returns String the contents of the chunk

:function 173 GetField
:description retrieves the contents of the current field
:returns String the contents of the field

:function 174 SubString
:description Extracts part of a string
:param1 string The string to be processed
:param2 int The index of the first character to be extracted.  The
index of the first character of the string is 1.
:param2 int The number of characters to extract.  If this is greater
than the number of characters remaining inthe the string, it is
silently rounded down.
:returns string The extracted part of the original string

:function 175 GetControlID
:description Returns the numeric identifier
	associated with a window.
If the passed handle does not refer to a child window, always
	returns 0.  Control IDs are unique within a dialog box, except when
	referring to controls containing static text.  In this case, several
	controls may have the same ID.
:param1 handle Window for which information is desired
:returns int the ID of the requested control

:function 176 SetBrailleMode
:description Sets the active mode for Braille output. (See
GetBrailleMode for more details)
:param1 int identifier of desired mode
:returns int TRUE if specified mode is valid, FALSE otherwise

:function 177 GetBrailleMode
:Description The Braille terminal can be in one of several modes.
GetBrailleMode allows a macro to base its behavior on which mode is
active.  When IN line mode (BRL_MODE_LINE), the Braille display
reflects the contents of the line with the active cursor.  When the
cursor moves, the line contents change.  When in String Mode
(BRL_MODE_STRING), the Braille display shows information explicitly
sent to it and does not reflect the contents of the screen.  Strings
sent to the display while in this mode are queued.  They can be cycled
through using the NextBrailleString and PriorBrailleString functions.
:Returns int Identifier of current mode

:function 178 NextBrailleString
:description Displays the next string in the Queue of items sent out
to the Braille display
:returns int TRUE if there was a next item, FALSE otherwise

:function 179 PriorBrailleString
:description Displays the prior string in the Queue of items sent out
to the Braille display
:returns int TRUE if there was a prior item, FALSE otherwise
:Function 180 SpellString
:description Similar to SayString, but it spells rather than says it
as words.
:param1 string The item to spell.

:Function 181 Say
:param1 string The string to speak
:param2 int Category (Output Type) of string being spoken.  Output
Types have OT_ prefix and are defined in HJCONST.JMH.
:description Like SayString, but with greater control.  The Output
Type is used by JAWS to determine the appropriate voice and
punctuation settings for the type of data being spoken.


:Function 182 SdmSayControl
:Description Behaves the same as SayControl, only the
parameters are different.  An SDM dialog has only one window handle
regardless of which control you are on in the dialog box.  That is
why the second parameter is the control ID.  The current control id
is gotten by SdmGetFocus.  That is, GetFocus will return the handle
of the SDM dialog, and SdmGetFocus will return the ID of the
current control.  The "Control" is the item inside the dialog box,
like an edit field or a list box.  See the WORD.JMS file for
examples.
:Param1 handle handle of SDM window, returned by GetFocus.
:param2 int ID of item in window, returned by SdmGetFocus

:Function 183 SDMGetFirstControl
:Description Returns the ID of the first control in an SDM dialog
:Param1 handle handle of SDM window
:Returns int ID of item in window

:Function 184 SDMGetNextControl
:Description Returns the ID of the next control in an SDM dialog
:Param1 handle handle of SDM window
:Param2 int ID of current control in window
:Returns int ID of next control in window, or 0  if there is no
next control

:Function 185 SDMGetPrevControl
:Description Returns the ID of the previous control in an SDM dialog
:Param1 handle handle of SDM window
:Param2 int ID of current control in window
:Returns int ID of previous control in window, or 0  if there is no
previous control

:Function 186 SDMGetLastControl
:Description Returns the ID of the last control in an SDM dialog
:Param1 handle handle of SDM window
:Returns int ID of item in window

:Function 187 SayColor
:description Says the foreground and background colors of the text at
the current cursor position
:returns int TRUE if text was found, FALSE otherwise

:Function 188 SetJCFOption
:Description Changes the current value of a numeric option.  Option identifiers are
listed with an OPT_ prefix,(OPTBRL_ if they relate specifically to
Braille) in the HJCONST.JMH file.  They correspond to .JCF settings.
When an option is changed by this function, the new value remains
active until switching to another application.  At that time the value
changes to the one specified in the application's .JCF file, or if
there is no .JCF file for the application, to that specified in
DEFAULT.JCF.  (See SetDefaultOption for a function which changes the
default value of an option for the remainder of the JFW session.
:Returns int TRUE on success, FALSE on failure
:Param1 int Identifier of the option to be changed.  It is best to use
one of the OPT_ or OPTBRL_ constants in HJCONST.JMH.
:Param2 int New value for the option

:Function 189 GetJCFOption
:Description Returns the current  value of a numeric option.  See
SetJCFOption for more details.
:Returns int Value of the specified option
:Param1 int Identifier of the option to be returned.  It is best to use
one of the OPT_ or OPTBRL_ constants in HJCONST.JMH.

:Function 190 SetDefaultJCFOption
:Description Changes the default value of a numeric option.  Option
identifiers are listed with an OPT_ prefix,(OPTBRL_ if they relate
specifically to Braille) in the HJCONST.JMH file.  They correspond to
.JCF settings.  When an option is changed by this function, the new
value is active for the remainder of the JFW session unless an
application is run which has a specific setting for this option in its
.JCF file.
:Returns int TRUE on success, FALSE on failure
:Param1 int Identifier of the option to be changed.  It is best to use
one of the OPT_ or OPTBRL_ constants in HJCONST.JMH.
:Param2 int New value for the option

:Function 191 GetDefaultJCFOption
:Description Returns the default  value of a numeric option.  See
SetDefaultJCFOption for more details.
:Returns int Value of the specified option
:Param1 int Identifier of the option to be returned.  It is best to use
one of the OPT_ or OPTBRL_ constants in HJCONST.JMH.

:Function 192 Refresh
:Description Refreshes the screen
:Returns void

