# Turbo Vision reference

This document describes the functions of Turbo Vision that didn't exist in the original version of the library.
Note that only a few things are documented here, I need help to populate this file.

This document applies to version 2.0.0 of the Turbo Vision library.

- Alphabetical list of functions
- List by classes
- List by modules
- List by files

  # Alphabetical List

- Add (TVMainConfigFile)
- Add (TVMainConfigFile) <1>
- AddCodePage (TVCodePage)
- AddInt (TVConfigFile)
- AddString (TVConfigFile)
- CheckForLines (TVFontCollection)
- CheckSignature (TVFontCollection)
- CodePageOfID (TVCodePage)
- CreateCodePagesCol (TVCodePage)
- CreateCPFromUnicode (TVCodePage)
- CreateFont (TVFontCollection)
- CreateListOfFonts (TVFontCollection)
- CreateOnTheFlyInpRemap (TVCodePage)
- CreateOnTheFlyRemap (TVCodePage)
- CreateRemap (TVCodePage)
- defaultCheckForWindowSize (TDisplay)
- defaultClearScreen (TDisplay)
- defaultGetBlinkState (TDisplay)
- defaultGetCols (TDisplay)
- defaultGetCrtMode (TDisplay)
- defaultGetCursorShape (TDisplay)
- defaultGetRows (TDisplay)
- defaultGetWindowTitle (TDisplay)
- defaultSetCrtMode (TDisplay)
- defaultSetCrtModeExt (TDisplay)
- defaultSetCrtModeRes (TDisplay)
- defaultSetCursorShape (TDisplay)
- defaultSetWindowTitle (TDisplay)
- EnlargeOne (TVFontCollection)
- FillTables (TVCodePage)
- FillTEvent (TGKeyXTerm)
- freeItem (TVFontCollection)
- GetFont (TVFontCollection)
- GetKeyParsed (TGKeyXTerm)
- GetList (TVCodePage)
- GetRaw (TGKeyXTerm)
- GetShiftState (TGKeyXTerm)
- GetTranslate (TVCodePage)
- GetWindowTitle (TDisplayDOS)
- GKey (TGKeyXTerm)
- IDToIndex (TVCodePage)
- IndexToID (TVCodePage)
- InitOnce (TGKeyXTerm)
- InternalCodeForUnicode (TVCodePage)
- Load (TVConfigFile)
- Load (TVMainConfigFile)
- LookSimilarInRange (TVCodePage)
- moveBuf (TDrawBuffer)
- moveChar (TDrawBuffer)
- moveCStr (TDrawBuffer)
- moveStr (TDrawBuffer)
- Print (TVConfigFile)
- Print (TVMainConfigFile)
- ProcessEscape (TGKeyXTerm)
- ReadFontInfo (TVFontCollection)
- ReadName (TVFontCollection)
- ReadVersionNum (TVFontCollection)
- ReduceOne (TVFontCollection)
- RemapBufferGeneric (TVCodePage)
- RemapChar (TVCodePage)
- RemapNString (TVCodePage)
- RemapString (TVCodePage)
- RemapTVStrings (TVCodePage)
- Resume (TGKeyXTerm)
- Search (TVConfigFile)
- Search (TVMainConfigFile)
- Search (TVMainConfigFile) <1>
- Search (TVMainConfigFile) <2>
- Search (TVMainConfigFile) <3>
- searchDOSModeInfo (TDisplay)
- SetCallBack (TVCodePage)
- SetCodePage (TVCodePage)
- SetCodePage (TVFontCollection)
- SetCrtMode (TDisplayDOS)
- setCursorType (TDisplay)
- SetUserConfigFile (TVMainConfigFile)
- SetWindowTitle (TDisplayDOS)
- Suspend (TGKeyXTerm)
- testForSupport (TDisplayDOS)
- TScreen (TScreen)
- TVCodePage (TVCodePage)
- TVConfigFile (TVConfigFile)
- TVFontCollection (TVFontCollection)
- TVMainConfigFile (TVMainConfigFile)
- UnicodeForInternalCode (TVCodePage)
- ~TVCodePage (TVCodePage)
- ~TVConfigFile (TVConfigFile)
- ~TVMainConfigFile (TVMainConfigFile)

  # Classes

- TDisplay
- TDisplayDOS
- TDrawBuffer
- TGKeyXTerm
- TScreen
- TVCodePage
- TVConfigFile
- TVFontCollection
- TVMainConfigFile

  # TDisplay

- defaultCheckForWindowSize (TDisplay)
- defaultClearScreen (TDisplay)
- defaultGetBlinkState (TDisplay)
- defaultGetCols (TDisplay)
- defaultGetCrtMode (TDisplay)
- defaultGetCursorShape (TDisplay)
- defaultGetRows (TDisplay)
- defaultGetWindowTitle (TDisplay)
- defaultSetCrtMode (TDisplay)
- defaultSetCrtModeExt (TDisplay)
- defaultSetCrtModeRes (TDisplay)
- defaultSetCursorShape (TDisplay)
- defaultSetWindowTitle (TDisplay)
- searchDOSModeInfo (TDisplay)
- setCursorType (TDisplay)

  # TDisplayDOS

- GetWindowTitle (TDisplayDOS)
- SetCrtMode (TDisplayDOS)
- SetWindowTitle (TDisplayDOS)
- testForSupport (TDisplayDOS)

  # TDrawBuffer

- moveBuf (TDrawBuffer)
- moveChar (TDrawBuffer)
- moveCStr (TDrawBuffer)
- moveStr (TDrawBuffer)

  # TGKeyXTerm

- FillTEvent (TGKeyXTerm)
- GetKeyParsed (TGKeyXTerm)
- GetRaw (TGKeyXTerm)
- GetShiftState (TGKeyXTerm)
- GKey (TGKeyXTerm)
- InitOnce (TGKeyXTerm)
- ProcessEscape (TGKeyXTerm)
- Resume (TGKeyXTerm)
- Suspend (TGKeyXTerm)

  # TScreen

- TScreen (TScreen)

  # TVCodePage

- AddCodePage (TVCodePage)
- CodePageOfID (TVCodePage)
- CreateCodePagesCol (TVCodePage)
- CreateCPFromUnicode (TVCodePage)
- CreateOnTheFlyInpRemap (TVCodePage)
- CreateOnTheFlyRemap (TVCodePage)
- CreateRemap (TVCodePage)
- FillTables (TVCodePage)
- GetList (TVCodePage)
- GetTranslate (TVCodePage)
- IDToIndex (TVCodePage)
- IndexToID (TVCodePage)
- InternalCodeForUnicode (TVCodePage)
- LookSimilarInRange (TVCodePage)
- RemapBufferGeneric (TVCodePage)
- RemapChar (TVCodePage)
- RemapNString (TVCodePage)
- RemapString (TVCodePage)
- RemapTVStrings (TVCodePage)
- SetCallBack (TVCodePage)
- SetCodePage (TVCodePage)
- TVCodePage (TVCodePage)
- UnicodeForInternalCode (TVCodePage)
- ~TVCodePage (TVCodePage)

  # TVConfigFile

- AddInt (TVConfigFile)
- AddString (TVConfigFile)
- Load (TVConfigFile)
- Print (TVConfigFile)
- Search (TVConfigFile)
- TVConfigFile (TVConfigFile)
- ~TVConfigFile (TVConfigFile)

  # TVFontCollection

- CheckForLines (TVFontCollection)
- CheckSignature (TVFontCollection)
- CreateFont (TVFontCollection)
- CreateListOfFonts (TVFontCollection)
- EnlargeOne (TVFontCollection)
- freeItem (TVFontCollection)
- GetFont (TVFontCollection)
- ReadFontInfo (TVFontCollection)
- ReadName (TVFontCollection)
- ReadVersionNum (TVFontCollection)
- ReduceOne (TVFontCollection)
- SetCodePage (TVFontCollection)
- TVFontCollection (TVFontCollection)

  # TVMainConfigFile

- Add (TVMainConfigFile)
- Add (TVMainConfigFile) <1>
- Load (TVMainConfigFile)
- Print (TVMainConfigFile)
- Search (TVMainConfigFile)
- Search (TVMainConfigFile) <1>
- Search (TVMainConfigFile) <2>
- Search (TVMainConfigFile) <3>
- SetUserConfigFile (TVMainConfigFile)
- TVMainConfigFile (TVMainConfigFile)
- ~TVMainConfigFile (TVMainConfigFile)

  # Modules

- Code Page
- Config File
- Display
- DOS Display
- OS Clipboard
- Screen
- TVFontCollection

  # Code Page

  This module provides code page remapping needed to adapt the special character to all the supported terminals.

  It was originally designed for SETEdit and moved to Turbo Vision in 2002.

  The internal encoding system maps the first 256 to CP 437.

  Important: The Turbo Vision never had such a thing and this is completly new code that affects a lot of TV components.

  The mechanism used is similar to what Linux kernel uses, why? simple:
  1) That's the most complex mechanism I found in all the targets so far.
  2) This is quite crazy but at the same time flexible.
  What's similar?
  We have two maps. The first map is what Linux calls SFM (Screen Font Map). It defines which internal codes are rendered by each font character (which unicodes in Linux kernel). This is basically a map that describes the font. This is the only map I had in the editor. The curScrCP variable holds the ID of this map.

  The second map is what the Linux kernel calls ACM (Application Charset Map). This map describes how is the application data encoded, as an example: how is encoded the text. It doesn't have to map one to one with the font, and that's the complex stuff. For this reason this map is used to do an "on-the-fly" remap before sending the characters to the screen. If this map is identical to the SFM (maps 1 to 1 => what Linux calls trivial mapping) we don't do the remap. The OnTheFlyRemapNeeded() and OnTheFlyRemap(uchar val) are used for the remap. The curAppCP holds the ID of this map.

  Is important to note that we don't do 8-bits -> ACM -> Unicode -> SFM -> 8-bits Screen like the Linux kernel does. We recode the application using the ACM and if ACM!=SFM we use a simple table that makes: 8-bits -> 8-bits Screen and if it isn't needed we just send the code to the screen.

  I added a new code page to this: the input code page. In Linux systems the input is supposed to be encoded in the ACM code page. In Windows systems they can be different and they are asked with different calls. It can be useful if you want to use an encoding different than the currently used by the OS. You can change the screen encoding and load an appropriate font for it, then you change the application code page and you can properly see documents encoded in the target code page. But in order to edit them you need to translate the codes that come from keyboard to the target code page. That's a good use for the input code page.

- AddCodePage (TVCodePage)
- CodePageOfID (TVCodePage)
- CreateCodePagesCol (TVCodePage)
- CreateCPFromUnicode (TVCodePage)
- CreateOnTheFlyInpRemap (TVCodePage)
- CreateOnTheFlyRemap (TVCodePage)
- CreateRemap (TVCodePage)
- FillTables (TVCodePage)
- GetList (TVCodePage)
- GetTranslate (TVCodePage)
- IDToIndex (TVCodePage)
- IndexToID (TVCodePage)
- InternalCodeForUnicode (TVCodePage)
- LookSimilarInRange (TVCodePage)
- RemapBufferGeneric (TVCodePage)
- RemapChar (TVCodePage)
- RemapNString (TVCodePage)
- RemapString (TVCodePage)
- RemapTVStrings (TVCodePage)
- SetCallBack (TVCodePage)
- SetCodePage (TVCodePage)
- TVCodePage (TVCodePage)
- UnicodeForInternalCode (TVCodePage)
- ~TVCodePage (TVCodePage)

  # Config File

  This module provides the TVConfigFile class. This class can load a configuration file containing sections and variables. Each section have a name which is indicated using brackets [Name]. As sections can be nested and my text editor can indent using the braces as reference (also jump to the start/end of a block and highlight the pair) the section's body must be enclosed using braces. Sections can be nested conforming an structure that resembles a file system. Inside a section you can define variables. A variable name must be composed of a-zA-Z_0-9 characters. After the name, and in the same line, an equal sign must be put. The value after the equal sign can be a number (decimal, octal or hexadecimal as in C) or a string enclosed using double quotes. You can use spaces around the equal sign and after the value but you must finish a definition in one line. Comments are started with a # symbol and ends at the end of the line.

  The information from a configuration file is stored in memory as a tree. You can search in the tree some key indicating it as a you indicate a path and file name. Just think it as a particular file system, just use forward slashes.

- Add (TVMainConfigFile)
- Add (TVMainConfigFile) <1>
- AddInt (TVConfigFile)
- AddString (TVConfigFile)
- Load (TVConfigFile)
- Load (TVMainConfigFile)
- Print (TVConfigFile)
- Print (TVMainConfigFile)
- Search (TVConfigFile)
- Search (TVMainConfigFile)
- Search (TVMainConfigFile) <1>
- Search (TVMainConfigFile) <2>
- Search (TVMainConfigFile) <3>
- SetUserConfigFile (TVMainConfigFile)
- TVConfigFile (TVConfigFile)
- TVMainConfigFile (TVMainConfigFile)
- ~TVConfigFile (TVConfigFile)
- ~TVMainConfigFile (TVMainConfigFile)

  # Display

  This is the base class for low level screen output. Most members are pointers to functions defined by each platform dependent driver. Default members are provided. This is a complete new file created from concepts that José Angel Sanchez Caso provide me and coded from scratch. The names of some members are the same used in original Turbo Vision for compatibility purposes.
- defaultCheckForWindowSize (TDisplay)
- defaultClearScreen (TDisplay)
- defaultGetBlinkState (TDisplay)
- defaultGetCols (TDisplay)
- defaultGetCrtMode (TDisplay)
- defaultGetCursorShape (TDisplay)
- defaultGetRows (TDisplay)
- defaultGetWindowTitle (TDisplay)
- defaultSetCrtMode (TDisplay)
- defaultSetCrtModeExt (TDisplay)
- defaultSetCrtModeRes (TDisplay)
- defaultSetCursorShape (TDisplay)
- defaultSetWindowTitle (TDisplay)
- searchDOSModeInfo (TDisplay)
- setCursorType (TDisplay)

  # DOS Display

  This module implements the low level DOS screen access.

  Todo:
  * The palette map could be changed during suspend. Currently not suported. But is a really bizarre case and is restored if VGA state saving is used.

- GetWindowTitle (TDisplayDOS)
- SetCrtMode (TDisplayDOS)
- SetWindowTitle (TDisplayDOS)
- testForSupport (TDisplayDOS)

  # OS Clipboard

  OS independent clipboard system class. Uses to access the OS clipboard.
  It was created to abstract the X11 and Windows clipboards.

  # Screen

  This is the base class for medium level screen output. Most members are pointers to functions defined by each platform dependent driver. Default members are provided. This is a complete new file created from concepts that José Angel Sanchez Caso provide me and coded from scratch. The names of some members are the same used in original Turbo Vision for compatibility purposes.
- TScreen (TScreen)

  # TVFontCollection

  This module handles collections of 8xN bitmaped fonts useful for text consoles. The collection is created from a fonts files. Each item is a font of certain height. The collection can return interpolated and extrapolated fonts in a range of +/- one from the available fonts. The fonts file should contain fonts with all the supported symbols.

        SFT Files: This is currently platform dependent! It means SFT files should
        be generated in the same platform they are used. It will be fixed in the
        future.

        17 bytes: SET's editor font
         1 byte:  26 (DOS EOF)
            int:  version (1 or 2)
            int:  number of fonts contained.
         2 bytes: size of name
                  the name, the length includes the EOS, but this isn't stored on
                  disk.

        Here are the fonts, each one have this format:
        version 1:
        int: first symbol defined.
        int: last symbol defined.
        unsigned: height of the font.
        The width is assumed to be 8 pixels (1 byte)

        version 2, the same but adds:
        unsigned: width of the font.

        The fonts itself follows the internal code.

- CheckForLines (TVFontCollection)
- CheckSignature (TVFontCollection)
- CreateFont (TVFontCollection)
- CreateListOfFonts (TVFontCollection)
- EnlargeOne (TVFontCollection)
- freeItem (TVFontCollection)
- GetFont (TVFontCollection)
- ReadFontInfo (TVFontCollection)
- ReadName (TVFontCollection)
- ReadVersionNum (TVFontCollection)
- ReduceOne (TVFontCollection)
- SetCodePage (TVFontCollection)
- TVFontCollection (TVFontCollection)

  # Files

- codepage.cc
- configfile.cc
- dosdis.cc
- fontcoll.cc
- tdisplay.cc
- tdrawbuf.cc
- tscreen.cc
- xtermkey.cc

  # codepage.cc

- AddCodePage (TVCodePage)
- CodePageOfID (TVCodePage)
- CreateCodePagesCol (TVCodePage)
- CreateCPFromUnicode (TVCodePage)
- CreateOnTheFlyInpRemap (TVCodePage)
- CreateOnTheFlyRemap (TVCodePage)
- CreateRemap (TVCodePage)
- FillTables (TVCodePage)
- GetList (TVCodePage)
- GetTranslate (TVCodePage)
- IDToIndex (TVCodePage)
- IndexToID (TVCodePage)
- InternalCodeForUnicode (TVCodePage)
- LookSimilarInRange (TVCodePage)
- RemapBufferGeneric (TVCodePage)
- RemapChar (TVCodePage)
- RemapNString (TVCodePage)
- RemapString (TVCodePage)
- RemapTVStrings (TVCodePage)
- SetCallBack (TVCodePage)
- SetCodePage (TVCodePage)
- TVCodePage (TVCodePage)
- UnicodeForInternalCode (TVCodePage)
- ~TVCodePage (TVCodePage)

  # configfile.cc

- Add (TVMainConfigFile)
- Add (TVMainConfigFile) <1>
- AddInt (TVConfigFile)
- AddString (TVConfigFile)
- Load (TVConfigFile)
- Load (TVMainConfigFile)
- Print (TVConfigFile)
- Print (TVMainConfigFile)
- Search (TVConfigFile)
- Search (TVMainConfigFile)
- Search (TVMainConfigFile) <1>
- Search (TVMainConfigFile) <2>
- Search (TVMainConfigFile) <3>
- SetUserConfigFile (TVMainConfigFile)
- TVConfigFile (TVConfigFile)
- TVMainConfigFile (TVMainConfigFile)
- ~TVConfigFile (TVConfigFile)
- ~TVMainConfigFile (TVMainConfigFile)

  # dosdis.cc

- GetWindowTitle (TDisplayDOS)
- SetCrtMode (TDisplayDOS)
- SetWindowTitle (TDisplayDOS)
- testForSupport (TDisplayDOS)

  # fontcoll.cc

- CheckForLines (TVFontCollection)
- CheckSignature (TVFontCollection)
- CreateFont (TVFontCollection)
- CreateListOfFonts (TVFontCollection)
- EnlargeOne (TVFontCollection)
- freeItem (TVFontCollection)
- GetFont (TVFontCollection)
- ReadFontInfo (TVFontCollection)
- ReadName (TVFontCollection)
- ReadVersionNum (TVFontCollection)
- ReduceOne (TVFontCollection)
- SetCodePage (TVFontCollection)
- TVFontCollection (TVFontCollection)

  # tdisplay.cc

- defaultCheckForWindowSize (TDisplay)
- defaultClearScreen (TDisplay)
- defaultGetBlinkState (TDisplay)
- defaultGetCols (TDisplay)
- defaultGetCrtMode (TDisplay)
- defaultGetCursorShape (TDisplay)
- defaultGetRows (TDisplay)
- defaultGetWindowTitle (TDisplay)
- defaultSetCrtMode (TDisplay)
- defaultSetCrtModeExt (TDisplay)
- defaultSetCrtModeRes (TDisplay)
- defaultSetCursorShape (TDisplay)
- defaultSetWindowTitle (TDisplay)
- searchDOSModeInfo (TDisplay)
- setCursorType (TDisplay)

  # tdrawbuf.cc

- moveBuf (TDrawBuffer)
- moveChar (TDrawBuffer)
- moveCStr (TDrawBuffer)
- moveStr (TDrawBuffer)

  # tscreen.cc

- TScreen (TScreen)

  # xtermkey.cc

- FillTEvent (TGKeyXTerm)
- GetKeyParsed (TGKeyXTerm)
- GetRaw (TGKeyXTerm)
- GetShiftState (TGKeyXTerm)
- GKey (TGKeyXTerm)
- InitOnce (TGKeyXTerm)
- ProcessEscape (TGKeyXTerm)
- Resume (TGKeyXTerm)
- Suspend (TGKeyXTerm)

  CreateCodePagesCol (codepage.cc 1265)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::CreateCodePagesCol();

  Member of the class: TVCodePage

  Description

  Protected member used to create the list of known code pages stored in CodePages.

  TVCodePage (codepage.cc 1332)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::TVCodePage(int idApp, int idScr, int idInp);

  Member of the class: TVCodePage

  Description

  Initializes the code page system selecting the indicated code pages. This is only used iternally. SetCodePage.

  CreateRemap (codepage.cc 1358)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::CreateRemap(int idSource, int idDest, uchar *table);

  Member of the class: TVCodePage

  Description

  Protected member used to create a one to one table to convert from one code page to another. Used to create the input to application and application to screen on the fly convertion tables.

  CreateOnTheFlyRemap (codepage.cc 1416)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::CreateOnTheFlyRemap(int idApp, int idScr);

  Member of the class: TVCodePage

  Description

  Protected member used to create the application to screen map when we have to translate values on the fly. CreateRemap.

  CreateOnTheFlyInpRemap (codepage.cc 1444)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::CreateOnTheFlyInpRemap(int idInp, int idApp);

  Member of the class: TVCodePage

  Description

  Protected member used to create the input to application map when we have to translate values on the fly. CreateRemap.

  SetCodePage (codepage.cc 1467)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::SetCodePage(int idApp, int idScr, int idInp);

  Member of the class: TVCodePage

  Description

  Selects the current code page used for toupper, tolower, etc. operations and internal encodings, the code page used for the screen and the one used for input.

  If any of the arguments is -1 the current value is used. If the code pages aren't the same the remap on the fly is enabled. The application code page is used to remap the application, only if it changed.

  FillTables (codepage.cc 1497)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::FillTables(int id);

  Member of the class: TVCodePage

  Description

  Protected member used to create the toupper, tolower and isalpha tables.

  ~TVCodePage (codepage.cc 1566)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::~TVCodePage();

  Member of the class: TVCodePage

  Description

  Deallocates memory used by TVCodePage.

  IDToIndex (codepage.cc 1582)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::IDToIndex(int id);

  Member of the class: TVCodePage

  Description

  Converts a code page id into an index in the code page collection.

  Return Value

  The index of the code page with this id. If error the index for PC 437 code page is returned.

  IndexToID (codepage.cc 1606)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::IndexToID(ccIndex index);

  Member of the class: TVCodePage

  Description

  Converts an index in the code page collection into a code page id. No check of range is done.

  Return Value

  The code page id for the indicated index.

  GetTranslate (codepage.cc 1626)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::GetTranslate(int id);

  Member of the class: TVCodePage

  Description

  Used to get a map to translate code page symbols into internal symbols for the indicated code page id.

  Return Value

  A pointer to a static buffer containing the translation values. Or NULL if not initialized. The index 256 indicates 128 if only the upper 128 values are really different from CP 437 or 256 if all the values are different. In any case all the values are usable.

  GetList (codepage.cc 1657)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::GetList(void);

  Member of the class: TVCodePage

  Description

  Used to get a TStringCollection listing all the available code pages. Useful to make the user choose one. This is a read-only value, don't modify it.

  Return Value

  The internal collection casted to TStringCollection.

  RemapChar (codepage.cc 1673)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::RemapChar(uchar c, ushort *map);

  Member of the class: TVCodePage

  Description

  Remaps the desired character using the provided map. The original character should be in CP437 encoding. GetTranslate.

  Return Value

  The remapped character. It can be a direct translation or the closest found.

  RemapString (codepage.cc 1703)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::RemapString(uchar *n, uchar *o, ushort *map);

  Member of the class: TVCodePage

  Description

  Remaps the o string using the provided map and storing it in the n string. The string should be terminated by a 0. RemapChar.

  RemapNString (codepage.cc 1719)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::RemapNString(uchar *n, uchar *o, ushort *map, int len);

  Member of the class: TVCodePage

  Description

  Remaps the @var{o} string using the provided map and storing it in the @var{n} string. The number of items to remap is indicated with @var{len}. RemapChar.

  RemapBufferGeneric (codepage.cc 1734)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::RemapBufferGeneric(int sourID, int destID, uchar *buffer, unsigned len, unsigned ops);

  Member of the class: TVCodePage

  Description

  Used to remap a buffer from any of the supported code pages into another. The process doesn't have to be reversible.

  Tabs, carriage returns, new lines and the null code aren't remapped.

  RemapTVStrings (codepage.cc 1815)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::RemapTVStrings(ushort *map);

  Member of the class: TVCodePage

  Description

  Protected member used internally to remap all the TV stuff that isn't ASCII.

  SetCallBack (codepage.cc 1873)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::SetCallBack(TVCodePageCallBack cb);

  Member of the class: TVCodePage

  Description

  Sets the function to be called after changing the code page. This should remap the special strings used by the application.

  Return Value

  The previous function. If it's != NULL you should call it.

  CodePageOfID (codepage.cc 1889)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::CodePageOfID(int id);

  Member of the class: TVCodePage

  Description

  Protected member used to find the code page structure for a provided id.

  Return Value

  A CodePage structure pointer.

  UnicodeForInternalCode (codepage.cc 2567)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::UnicodeForInternalCode(uint16 value);

  Member of the class: TVCodePage

  Description

  Finds which unicode is represented by the specified internal code. Currently that's an slow search because isn't very.

  Return Value

  The first unicode found.

  InternalCodeForUnicode (codepage.cc 2593)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::InternalCodeForUnicode(ushort unicode);

  Member of the class: TVCodePage

  Description

  Finds which internal code can render an Unicode value.

  Return Value

  The internal or -1 if none can do it.

  CreateCPFromUnicode (codepage.cc 2610)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::CreateCPFromUnicode(CodePage *cp, int id, const char *name, ushort *unicodes);

  Member of the class: TVCodePage

  Description

  Creates a new code page from an arry containing the unicodes for each symbol. Use an id over than 0x7FFF8000 to avoid collisions. This is used by the Linux driver when the unicodes maps doesn't match with known cp.

  AddCodePage (codepage.cc 2649)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::AddCodePage(CodePage *cp);

  Member of the class: TVCodePage

  Description

  Adds a custom code page to the list. You can create a new one from an array containing the Unicodes for each symbol. CreateCPFromUnicode.

  Return Value

  The index of the new code page in the collection.

  LookSimilarInRange (codepage.cc 2668)
  Syntax

       #define Uses_TVCodePage
       #include <tv.h>

       TVCodePage::LookSimilarInRange(int code, int last);

  Member of the class: TVCodePage

  Description

  This is a helper for the TVFontCollection class the parameters of this function could change in the future.
  Basically it finds a replacement for a missing symbol in a font. It allows using incomplete font.

  Return Value

  The replacement or -1 if none known.

  TVConfigFile (configfile.cc 66)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVConfigFile::TVConfigFile();

  Member of the class: TVConfigFile

  Description

  Initializes the class and reads the contents of the specified file to a tree in memory.

  Search (configfile.cc 86)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVConfigFile::Search(const char *key, char *&p, long &n);

  Member of the class: TVConfigFile

  Description

  Searchs for the indicated key in the tree. Separate nested sections using forward slashes.

  Return Value

  not 0 if the key was found, the return value is in p if the key is an string. Otherwise p is NULL and the value is in n.

  AddInt (configfile.cc 530)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVConfigFile::AddInt(const char *key, const char *name, long value, int priority);

  Member of the class: TVConfigFile

  Description

  Adds a new variable to the tree. The type of the variable is integer. The name variable is added to the section indicated by key. Possible priority values are justHint (25), fromFile (50) or fromApplication (75). It is used to determine if a current value should be replaced by the new value. The name is copied.

  Return Value

  !=0 if the variable was added.

  Example

  TVConfigFile::AddInt("TV/X11","ScreenWidth",90, TVConfigFile::fromFile)

  AddString (configfile.cc 562)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVConfigFile::AddString(const char *key, const char *name, const char *value, int priority);

  Member of the class: TVConfigFile

  Description

  Adds a new variable to the tree. The type of the variable is string. The name variable is added to the section indicated by key. Possible priority values are justHint (25), fromFile (50) or fromApplication (75). It is used to determine if a current value should be replaced by the new value. The name and the content are copied.

  Return Value

  !=0 if the variable was added.

  Example

  TVConfigFile::AddInt("TV/X11","ExtProgVideoMode","A_Program", TVConfigFile::fromFile)

  Print (configfile.cc 651)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVConfigFile::Print(FILE *f);

  Member of the class: TVConfigFile

  Description

  Prints the current tree to the specified file. It's main purpose is to debug programs, but you can use it to generate valid configuration files from data found in memory.

  ~TVConfigFile (configfile.cc 665)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       ~TVConfigFile();

  Member of the class: TVConfigFile

  Description

  This is the destructor and just releases the tree that contains the variables.

  Load (configfile.cc 672)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       int Load(const char *file);

  Member of the class: TVConfigFile

  Description

  Reads the specified configuration file.

  Return Value

  The read status, 0 means no error. The Errors data member contains descriptions for the errors.

  TVMainConfigFile (configfile.cc 694)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::TVMainConfigFile();

  Member of the class: TVMainConfigFile

  Description

  This is the constructor for TVMainConfigFile. This class is a special case of TVConfigFile used for the Turbo Vision configuration file. Note you can store application specific information in the configuration file using a section different than TV.

  Load (configfile.cc 713)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::Load();

  Member of the class: TVMainConfigFile

  Description

  Loads the configuration file. First we try using the application provided name, then we search in the current directory, the path indicated by the HOME environment variable, the path indicated by the HOMEDIR environment variable, /etc and /dev/env/DJDIR/etc (%DJDIR%/etc). The default name for the file is tvrc, if the OS uses a point in the name to make it a hidden file the library also tries with .tvrc.

  Return Value

  The error status. 0 is OK.

  ~TVMainConfigFile (configfile.cc 764)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::~TVMainConfigFile();

  Member of the class: TVMainConfigFile

  Description

  Destroys the global TVConfigFile that contains the configuration.

  Search (configfile.cc 802)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::Search(const char *key, long &val);

  Member of the class: TVMainConfigFile

  Description

  Looks for the specified key in the TV section. If found the result is stored in val, but only if that's an integer.

  Return Value

  True if the key exists, even when that's an string.

  Search (configfile.cc 823)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::Search(const char *section, const char *variable, long &val);

  Member of the class: TVMainConfigFile

  Description

  Looks for the specified @var{variable} in the TV section using the specified @var{section} as subsection. If found the result is stored in val, but only if that's an integer.

  Return Value

  True if the key exists, even when that's an string.

  Search (configfile.cc 845)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::Search(const char *key);

  Member of the class: TVMainConfigFile

  Description

  Looks for the specified key in the TV section. If found the result is returned but only if that's a string.

  Return Value

  The string or NULL.

  Search (configfile.cc 867)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::Search(const char *section, const char *variable);

  Member of the class: TVMainConfigFile

  Description

  Looks for the specified @var{variable} in the TV section using the specified @var{section} as subsection. If found the result is returned but only if that's a string.

  Return Value

  The string or NULL.

  Add (configfile.cc 891)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::Add(const char *section, const char *name, long value);

  Member of the class: TVMainConfigFile

  Description

  Adds a new variable of integer type to the TV subtree in the specified section and using the specified name. The priority for this variable is TVConfigFile::fromApplication. AddInt.

  Return Value

  !=0 if added.

  Add (configfile.cc 916)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       TVMainConfigFile::Add(const char *section, const char *name, const char *value);

  Member of the class: TVMainConfigFile

  Description

  Adds a new variable of string type to the TV subtree in the specified section and using the specified name. The priority for this variable is TVConfigFile::fromApplication. The string is copied. AddInt.

  Return Value

  !=0 if added.

  Print (configfile.cc 941)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       void TVMainConfigFile::Print(FILE *f);

  Member of the class: TVMainConfigFile

  Description

  Prints the current tree to the specified file. It's main purpose is to debug programs, but you can use it to generate valid configuration files from data found in memory.

  SetUserConfigFile (configfile.cc 949)
  Syntax

       #define Uses_TVConfigFile
       #include <tv.h>

       void TVMainConfigFile::SetUserConfigFile(const char *name);

  Member of the class: TVMainConfigFile

  Description

  Specifies a name and path for the configuration file. Use it if your application needs special settings different than the rest of the TV applications.

  testForSupport (dosdis.cc 506)
  Syntax

       TDisplayDOS::testForSupport();

  Member of the class: TDisplayDOS

  Description

  Used to test if a mode that we don't know can be handled by the driver or not. If the mode uses an unknown memory region we just assume that's a graphics mode and revert to 80x25. It could be enhanced a lot specially to support VESA video modes when implemented in a way that the video memory isn't located at the usual address.

  SetCrtMode (dosdis.cc 549)
  Syntax

       TDisplayDOS::SetCrtMode(ushort mode);

  Member of the class: TDisplayDOS

  Description

  Sets a video mode from the video mode number. Video modes with the low nibble equal 3 are used to encode extended and tweacked video modes. Note that VESA 800x600x256 mode is 0x103 and here it is assumed to be extended mode 1, that's 80x28. Also note that regular VGA 80x25 mode is the "extended mode 0".
  Any other value is assumed to be a user provided video mode and is accepted only if we are sure that's really text mode and we know how to handle it.

  GetWindowTitle (dosdis.cc 633)
  Syntax

       TDisplayDOS::GetWindowTitle(void);

  Member of the class: TDisplayDOS

  Description

  Finds the main window title if we are running under W95 and windowed.

  Return Value

  A pointer to a newly allocated string (new[]). Or 0 if fail. by SET.

  SetWindowTitle (dosdis.cc 673)
  Syntax

       TDisplayDOS::SetWindowTitle(const char *name);

  Member of the class: TDisplayDOS

  Description

  Sets the main window title if we are running under W95 and windowed.

  Return Value

  1 successful. by SET.

  freeItem (fontcoll.cc 74)
  Syntax

       TVFontCollection::freeItem(void *item);

  Member of the class: TVFontCollection

  Description

  A specialized free to free the memory used by the font structure.

  CheckForLines (fontcoll.cc 93)
  Syntax

       TVFontCollection::CheckForLines(void *item, void *arg);

  Member of the class: TVFontCollection

  Description

  Internally used during searchs to look for a font that matchs a specified size.

  ReduceOne (fontcoll.cc 111)
  Syntax

       TVFontCollection::ReduceOne(uchar *dest, uchar *ori, int height, int wBytes, int num);

  Member of the class: TVFontCollection

  Description

  Creates a font of the specified height from another of the same height plus one. The destination buffer should be large enough (num*height bytes). Special care is taked for letters.

  EnlargeOne (fontcoll.cc 144)
  Syntax

       TVFontCollection::EnlargeOne(uchar *dest, uchar *ori, int height, int wBytes, int num);

  Member of the class: TVFontCollection

  Description

  Creates a font of the specified height from another of the same height minus one. The destination buffer should be large enough (num*height bytes). The last line is filled with 0.

  GetFont (fontcoll.cc 174)
  Syntax

       TVFontCollection::GetFont(int width, int height);

  Member of the class: TVFontCollection

  Description

  Return Value

  NULL if the font isn't available.

  CheckSignature (fontcoll.cc 218)
  Syntax

       TVFontCollection::CheckSignature(FILE *f);

  Member of the class: TVFontCollection

  Description

  Internally used to check if we opened a fonts file.

  ReadName (fontcoll.cc 233)
  Syntax

       TVFontCollection::ReadName(FILE *f);

  Member of the class: TVFontCollection

  Description

  Internally used to get the font's name.

  ReadVersionNum (fontcoll.cc 268)
  Syntax

       TVFontCollection::ReadVersionNum(FILE *f, int *version, int *numfonts);

  Member of the class: TVFontCollection

  Description

  Internally used to read the version and number of fonts in the file.

  ReadFontInfo (fontcoll.cc 288)
  Syntax

       TVFontCollection::ReadFontInfo(FILE *f, int version, TVBitmapFont *p);

  Member of the class: TVFontCollection

  Description

  Internally used to read the information about a font contained in an SFT file.

  Return Value

  Size of the data font.

  CreateFont (fontcoll.cc 315)
  Syntax

       TVFontCollection::CreateFont(void *item, void *arg);

  Member of the class: TVFontCollection

  Description

  Internally used to create a font for a desired code page.

  SetCodePage (fontcoll.cc 360)
  Syntax

       TVFontCollection::SetCodePage(int id);

  Member of the class: TVFontCollection

  Description

  Sets the encoding of the fonts returned by GetFont.

  TVFontCollection (fontcoll.cc 382)
  Syntax

       TVFontCollection::TVFontCollection(const char *file, int cp);

  Member of the class: TVFontCollection

  Description

  Creates a font collection from the specified file and using the specified code page. You must check the error status with GetError before using the collection.

  CreateListOfFonts (fontcoll.cc 449)
  Syntax

       TVFontCollection::CreateListOfFonts(const char *dir, unsigned wmin, unsigned wmax, unsigned hmin, unsigned hmax);

  Member of the class: TVFontCollection

  Description

  Constructs a string collection of fonts files that provides shapes inside the specified range. The fonts are searched in the specified directory. If you specify NULL as directory then the search is done in the current directory. Each element in the collection is a string that contains two ASCIIZ strings. The first is the fantasy name of the font and the second is the name of the file containing it. It is useful to display the name in a TSortedListBox and easilly locate which file contains it using strlen.
  This is an static member.

  Return Value

  The collection of available fonts or NULL if none.

  defaultGetCols (tdisplay.cc 139)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultGetCols();

  Member of the class: TDisplay

  Description

  Number of columns of the physical screen.

  defaultGetRows (tdisplay.cc 148)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultGetRows();

  Member of the class: TDisplay

  Description

  Number of rows of the physical screen.

  defaultClearScreen (tdisplay.cc 157)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultClearScreen(uchar, uchar);

  Member of the class: TDisplay

  Description

  Erase the screen using this width and height.

  defaultSetCursorShape (tdisplay.cc 165)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultSetCursorShape(unsigned, unsigned);

  Member of the class: TDisplay

  Description

  Sets the cursor shape, values in percent.

  defaultGetCursorShape (tdisplay.cc 173)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultGetCursorShape(unsigned &start, unsigned &end);

  Member of the class: TDisplay

  Description

  Gets the cursor shape, values in percent.

  searchDOSModeInfo (tdisplay.cc 184)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::searchDOSModeInfo(ushort mode, unsigned &w, unsigned &h, int &fW, int &fH);

  Member of the class: TDisplay

  Description

  Return Value

  True if the mode is known.

  defaultSetCrtMode (tdisplay.cc 204)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultSetCrtMode(ushort mode);

  Member of the class: TDisplay

  Description

  Sets the video mode.

  defaultSetCrtModeExt (tdisplay.cc 218)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultSetCrtModeExt(char *command);

  Member of the class: TDisplay

  Description

  Sets the video mode using a string. It could be an external program or other information that doesn't fit in an ushort.

  defaultSetCrtModeRes (tdisplay.cc 231)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultSetCrtModeRes(unsigned, unsigned, int, int);

  Member of the class: TDisplay

  Description

  Selects the mode that's closest to the sepcified width and height. The optional font size can be specified.

  Return Value

  0 no change done, 1 change done with all the requested parameters, 2 change done but just to get closer.

  defaultGetCrtMode (tdisplay.cc 241)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultGetCrtMode();

  Member of the class: TDisplay

  Description

  Returns current video mode.

  defaultCheckForWindowSize (tdisplay.cc 251)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultCheckForWindowSize(void);

  Member of the class: TDisplay

  Description

  Returns !=0 if the screen size changed externally. Usually when we are in a window, but isn't the only case.

  defaultGetWindowTitle (tdisplay.cc 261)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultGetWindowTitle(void);

  Member of the class: TDisplay

  Description

  Gets the visible title of the screen, usually the window title.

  defaultSetWindowTitle (tdisplay.cc 272)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultSetWindowTitle(const char *);

  Member of the class: TDisplay

  Description

  Sets the visible title of the screen, usually the window title.

  Return Value

  !=0 success.

  defaultGetBlinkState (tdisplay.cc 282)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::defaultGetBlinkState();

  Member of the class: TDisplay

  Description

  Finds if the MSB of the attribute is for blinking.

  Return Value

  0 no, 1 yes, 2 no but is used for other thing.

  setCursorType (tdisplay.cc 326)
  Syntax

       #define Uses_TDisplay
       #include <tv.h>

       TDisplay::setCursorType(ushort val);

  Member of the class: TDisplay

  Description

  Sets the cursor shape. I take the TV 2.0 convention: the low 8 bits is the start and the high 8 bits the end. Values can be between 0 and 99. To disable the cursor a value of 0 is used.

  moveBuf (tdrawbuf.cc 22)
  Syntax

       TDrawBuffer::moveBuf(unsigned indent, const void *source, unsigned attr, unsigned count);

  Member of the class: TDrawBuffer

  Description

  Copies count bytes from source to the data buffer starting at indent. The function uses the provided attribute, but if the attribute is 0 the attribute in the buffer is unmodified.

  Added a check to avoid writings passing the end of the buffer.

  moveChar (tdrawbuf.cc 60)
  Syntax

       TDrawBuffer::moveChar(unsigned indent, char c, unsigned attr, unsigned count);

  Member of the class: TDrawBuffer

  Description

  Fills count bytes in the buffer starting at the indent position. If the attribute is 0 the original is left unchanged. If the character is 0 only the attribute is used.

  Added a check to avoid writings passing the end of the buffer.

  moveCStr (tdrawbuf.cc 110)
  Syntax

       TDrawBuffer::moveCStr(unsigned indent, const char *str, unsigned attrs);

  Member of the class: TDrawBuffer

  Description

  That's the same as moveStr but the attrs parameter holds two attributes the lower 8 bits are the normal value and the upper 8 bits define the attribute to be used for text enclosed by ASCII 126. moveStr.

  The routine was modified to avoid writes passing the end of the buffer. Additionally was re-writed in assembler (I guess the Borland's original code was assembler, but I didn't take a look to it) because the check slow downs the routine so I wanted to avoid a lose in performance. SET.

  moveStr (tdrawbuf.cc 207)
  Syntax

       TDrawBuffer::moveStr(unsigned indent, const char *str, unsigned attr);

  Member of the class: TDrawBuffer

  Description

  Writes a string in the buffer with the provided attribute. The routine copies until the EOS is found or the buffer is filled.

  Modified to avoid writes passing the end of the buffer. Optimized for 32 bits. Translated to asm just for fun, I think is a little bit faster. SET.

  TScreen (tscreen.cc 247)
  Syntax

       #define Uses_TScreen
       #include <tv.h>

       TScreen::TScreen();

  Member of the class: TScreen

  Description

  This constructor is called when the TApplication object is created. The TProgramInit constructor creates a dynamic copy instance of a TScreen object.
  Actually it calls the detection routines to determine the best driver available. If non is found prints and error to the stderr output and aborts the execution.

  InitOnce (xtermkey.cc 72)
  Syntax

       TGKeyXTerm::InitOnce();

  Member of the class: TGKeyXTerm

  Description

  Does initialization tasks performed only once.

  Return Value

  0 if success, !=0 if an error ocurred. In the last case the error member points to a descriptive error.

  Suspend (xtermkey.cc 138)
  Syntax

       TGKeyXTerm::Suspend();

  Member of the class: TGKeyXTerm

  Description

  Restore the original console state.

  Resume (xtermkey.cc 152)
  Syntax

       TGKeyXTerm::Resume();

  Member of the class: TGKeyXTerm

  Description

  Memorize current console state and setup the one needed for us.

  ProcessEscape (xtermkey.cc 611)
  Syntax

       TGKeyXTerm::ProcessEscape();

  Member of the class: TGKeyXTerm

  Description

  Parse a escape sequence.

  Return Value

  : 1 if the sequence found, 0 if not and the keys are stored in the buffer.

  GetKeyParsed (xtermkey.cc 677)
  Syntax

       TGKeyXTerm::GetKeyParsed();

  Member of the class: TGKeyXTerm

  Description

  Gets a key from the buffer, waiting value or fIn and if needed calls the escape sequence parser.

  GetRaw (xtermkey.cc 717)
  Syntax

       TGKeyXTerm::GetRaw();

  Member of the class: TGKeyXTerm

  Description

  Gets the next key, their modifiers and ASCII. Is a postprocessor for GetKeyParsed.

  GKey (xtermkey.cc 750)
  Syntax

       TGKeyXTerm::GKey();

  Member of the class: TGKeyXTerm

  Description

  Gets a key from the input and converts it into the TV format.

  GetShiftState (xtermkey.cc 783)
  Syntax

       TGKeyXTerm::GetShiftState();

  Member of the class: TGKeyXTerm

  Description

  Finds the value of the modifiers in TV format.

  FillTEvent (xtermkey.cc 809)
  Syntax

       TGKeyXTerm::FillTEvent(TEvent &e);

  Member of the class: TGKeyXTerm

  Description

  Fills the TV event structure for a key.