[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 _gtPreExt()
 Prepare the area manager for external manipulation of the terminal
------------------------------------------------------------------------------
 C Prototype

     #include "gt.api"
     ERRCODE _gtPreExt(void)

 Returns

     _gtPreExt() returns zero if successful.  Any other value indicates an
     error.

 Description

     _gtPreExt() readies the General Terminal system for external access.
     All pending writes (i.e., display buffers called from C or CA-Clipper)
     are written to the physical screen.

     Warning!  Always call _gtPreExt() before attempting direct video
     access.

 Examples

     .  This example uses _gtPreExt() to flush any pending screen
        writes from the display buffers before attempting to reverse the
        screen attribute of a passed coordinate using direct video access:

        /***
        *
        *   Reverse text Attribute for passed coordinates
        *
        */

        #include "extend.api"
        #include "gt.api"


        #define VIDSEG  (_gtIsColor() ? 0xB800 : 0xB000 )
        #define MK_FP( seg, off ) \
                       ((FARP) ( ((ULONG)(seg)<<16) | (USHORT)(off) ));


        CLIPPER ReverseAttribute()
        {

           USHORT uiRow       = _parni(1);
           USHORT uiCol       = _parni(2)
           USHORT uiNumCols   = _gtMaxCol() + 1;
           BYTEP *scrPtr;

           _gtPreExt();               // Release display context!

           // Make a far pointer to row/col in video memory
           scrPtr = MK_FP( VIDSEG, ( ( uiRow * uiNumCols ) +
                             uiCol ) * 2 );

           // Skip one to the attribute
           scrPtr++;

           // Reverse the attribute
           *scrPtr = (*scrPtr >> 4) | ((*scrPtr & 0x07) << 4) |
                     (*scrPtr & 0x08) | (*scrPtr & 128);

           _gtPostExt();              // Signal end of external code.

           _ret();                    // Post a NIL return value

        }

 Files  Library is CLIPPER.LIB, header file is Gt.api.


See Also: _gtPostExt()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson