home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / CLIPPER / RPCX10 / RPCXLIB.DOC < prev    next >
Text File  |  1993-09-15  |  28KB  |  787 lines

  1. .-------------------------------------------------------------------------.
  2. |                                                                         |
  3. |                       RPCXLib  version 1.0 (11/08/93)                   |
  4. |                                                                         |
  5. |                                                                         |
  6. |                    (c) 1993  Rolf van Gelder, EINDHOVEN                 |
  7. |                                                                         |
  8. |_________________________________________________________________________|
  9.  
  10. 1     INTRODUCTION --------------------------------------------------------
  11.  
  12.  
  13.       RPCXLib is a CLIPPER LIBRARY with GRAPHIC FUNCTIONS.
  14.  
  15.       Because RPCXLib is fully written in ASSEMBLER its functions are
  16.       VERY FAST !
  17.       Therefore the library is also INDEPENDENT of the Clipper version and
  18.       can be used in combination with Clipper Summer'87, Clipper 5.0,
  19.       Clipper 5.01, Clipper 5.2x, etc.
  20.  
  21.       RPCXLib is the successor of the shareware function R_ShowPCX(),
  22.       a function to show PCX-files on the screen.
  23.  
  24.       This function has been CONSIDERABLY IMPROVED and EXTENDED and is
  25.       included in the new RPCXLib library. 
  26.  
  27.       RPCXLib is a Shareware product :
  28.  
  29.       You have the opportunity to try the program at no charge to see if
  30.       it meets your needs.
  31.       If you continue to use the program after evaluation,
  32.       please complete the included registration form (RPCXLib.FRM)
  33.       and send it with the applicable registration fee to the author.
  34.  
  35.  
  36.       FEATURES :
  37.  
  38.  
  39.       *    RShowPCX function to display a PCX graphic file :
  40.  
  41.            -     very FAST !
  42.  
  43.            -     of UNLIMITED SIZE
  44.  
  45.            -     on a SPECIFIC screen location
  46.  
  47.            -     on EGA/VGA and SUPERVGA screens
  48.  
  49.            -     up to a resolution of 640 x 480 x 256 (SUPERVGA)
  50.  
  51.            -     with AUTOMATIC DETECTION and USE of almost all
  52.                  SUPERVGA adapters
  53.  
  54.            -     with support of the INTERNATIONAL VESA STANDARD
  55.  
  56.       *    Functions to mix ones own CLIPPER COLOURS
  57.            YOU CAN COMPOSE 262.144 DIFFERENT COLOURS !
  58.  
  59.       *    Functions to slowly DIM the screen
  60.  
  61.       *    Functions to determine the GRAPHIC CONFIGURATION of a PC :
  62.            Is there a EGA, VGA, MCGA or SUPERVGA adapter available ?
  63.            When there is a SUPERVGA adapter available you can, in most
  64.            cases, determine the brand
  65.  
  66.        *   A NORTON GUIDE with a description of all functions in the library
  67.  
  68.  
  69.  
  70. 2     GRAPHIC ADAPTERS AND VIDEO MODES ------------------------------------
  71.  
  72.  
  73.       The minimum requirements for using RPCXLib is a PC with an EGA card;
  74.       CGA and Hercules adapters are not supported.
  75.  
  76.       To show PCX-files (using the function R_ShowPCX()) you can use
  77.       EGA, VGA and SuperVGA adapters.
  78.  
  79.       EGA :
  80.       When you have an EGA adapter you are able to show 16 colour PCX-files
  81.       up to a dimension of 640 x 350 pixels.
  82.       (Maximum resolution: 640 x 350 x 16)
  83.  
  84.       VGA :
  85.       When you have a STANDARD VGA adapter you are able to show 16 colour
  86.       PCX-files up to a dimension of 640 x 480 and 256 colour files up to
  87.       a dimension of 320 x 200 pixels.
  88.       (Maximum resolution: 640 x 480 x 16 or 320 x 200 x 256)
  89.  
  90.       SuperVGA :
  91.       When you have a SUPERVGA adapter (which is supported by RPCXLib)
  92.       you are able to show 256 colours PCX-files up to a dimension of
  93.       640 x 480 pixels. Provided that the used adapter supports the
  94.       640 x 480 x 256 video mode.
  95.       (Maximum resolution: 640 x 480 x 256)
  96.  
  97.       RPCXLib detects and uses the following SuperVGA adapters :
  98.  
  99.       -    Ahead Systems, type A & B
  100.       -    ATI Wonder Card
  101.       -    Chips & Technologies
  102.       -    Everex VGA
  103.       -    Genoa GVGA
  104.       -    NCR 77C22
  105.       -    Oak Technologies OTI-67
  106.       -    Paradise VGA
  107.       -    Trident 8800
  108.       -    Trident 8900
  109.       -    Tseng Labs ET3000
  110.       -    Tseng Labs ET4000
  111.       -    VESA BIOS Extensions
  112.       -    Video 7
  113.  
  114.       When your adapter is NOT listed above you probably still can use
  115.       the SuperVGA features of RPCXLib.
  116.       This can be done using the VESA BIOS EXTENSIONS driver.
  117.  
  118.       VESA (Video Electronics Standards Association) is a standardization
  119.       in the field of graphic adapters.
  120.       For almost any SuperVGA card there is a little (TSR) program that
  121.       emulates the VESA standard. By using this program, RPCXLib will
  122.       work together with your (not listed) SuperVGA adapter.
  123.       The VESA emulation programs mentioned above are often included in
  124.       the software package that comes with the SuperVGA card.
  125.       When this is not the case you can probably find the program in the
  126.       Public Domain / Shareware circuit.
  127.  
  128.  
  129.  
  130. 3     EGA/VGA COLOUR PALETTES ----------------------------------------------
  131.  
  132.  
  133.       In RPCXLib the are some functions to change the colour palette of your
  134.       EGA/VGA adapter. You can use these functions to compose your own
  135.       Clipper colour palette.
  136.  
  137.       Clipper uses 16 pre-defined colours. Each Clipper colour is paired with
  138.       a so-called colour register. A colour register contains the "composition"
  139.       of a specific colour. This composition consists of a RED, GREEN and BLUE
  140.       component (values ranging from 0 to 63).
  141.       Some examples (values actually used by Clipper) :
  142.  
  143.                        ------- Components  -------
  144.                        RED        GREEN       BLUE
  145.  
  146.       BLACK            0          0           0
  147.       BRIGHT WHITE     63         63          63
  148.       NORMAL WHITE     42         42          42
  149.       GREY             21         21          21
  150.       BRIGHT RED       63         0           0
  151.       RED              42         0           0
  152.       GREEN            0          42          0
  153.       BLUE             0          0           42
  154.       MAGENTA          42         0           42
  155.  
  156.       The composition of the Clipper colours can be found in the header
  157.       file (RPCXLib.CH).
  158.  
  159.       Clipper DOESN'T use register numbers 0-15 but :
  160.  
  161.       Registers #  0 -  7   : normal colours
  162.       Registers # 56 - 63   : bright colours
  163.  
  164.       All Clipper colours and matching register numbers are listed in
  165.       the header file RPCXLib.CH.
  166.  
  167.       Example :
  168.       To determine the register number of the Clipper colour MAGENTA you
  169.       can use the pre-defined PL_MAGENTA constant that substitutes the
  170.       correct register number.
  171.  
  172.       The use of the palette functions is described in the next chapter.
  173.  
  174.  
  175.  
  176. 4     FUNCTIONS IN RPCXLIB ------------------------------------------------
  177.  
  178. 4.1   Function R_DefPal : Installs the default Clipper colour palette
  179.  
  180.       Syntax
  181.            R_DefPal ()
  182.  
  183.       Parameters
  184.            (None)
  185.  
  186.       Returns
  187.            NIL
  188.  
  189.       Description
  190.            By calling the R_DefPal () function the 16 Clipper colours are
  191.            initialized to their default values. This function is for example
  192.            useful at the end of an application : it makes sure that the
  193.            the colour palette is reset to its original state (after possible
  194.            changes you made to the palette).
  195.  
  196.       Example
  197.            See the demo program PCXDemo.PRG
  198.  
  199.  
  200. 4.2   Function R_GetRGB : Determines the composition of a specific colour
  201.  
  202.       Syntax
  203.            R_GetRGB ( nRegNr, @nRed, @nGreen, @nBlue )
  204.  
  205.       Parameters
  206.            nRegNr      Number of the colour register of which the composition
  207.                        has to be determined
  208.                        (range : 0-63)
  209.  
  210.            @nRed       Variable (BY REFERENCE !) to which the RED component
  211.                        is returned
  212.                        (range : 0-63)
  213.  
  214.            @nGreen     Variable (BY REFERENCE !) to which the GREEN component
  215.                        is returned
  216.                        (range : 0-63)
  217.  
  218.            @nBlue      Variable (BY REFERENCE !) to which the BLUE component
  219.                        is returned
  220.                        (range : 0-63)
  221.  
  222.       Returns
  223.            NIL         (The values are returned BY REFERENCE to the variables
  224.                        nRed, nGreen and nBlue)
  225.  
  226.       Description
  227.            R_GetRGB () determines the actual colour composition of a specific
  228.            colour register. To determine the composition of the Clipper colours
  229.            you may use the pre-defined register numbers in RPCXLib.CH.
  230.  
  231.       Example
  232.            && Determine the components of the Clipper colour MAGENTA
  233.  
  234.            *-- RPCXLib definitions
  235.            #include "RPCXLib.CH"
  236.  
  237.            LOCAL     nRed, nGreen, nBlue
  238.  
  239.            [...]
  240.  
  241.            R_GetRGB ( PL_MAGENTA, @nRed, @nGreen, @nBlue )
  242.  
  243.            ?'Magenta : RED ',nRed,' GREEN ',nGreen,' BLUE ',nBlue
  244.  
  245.  
  246. 4.3   Function R_IsEGA : Determines if an EGA card is present
  247.  
  248.       Syntax
  249.            lIsEGA := R_IsEGA ()
  250.  
  251.       Parameters
  252.            (None)
  253.  
  254.       Returns
  255.            lIsEGA      .T. :      EGA card is present or can be emulated
  256.                        .F. :      No EGA card present
  257.  
  258.       Description
  259.            This function can determine if the PC supports EGA.
  260.            That might be important for the function R_ShowPCX ().
  261.  
  262.       Example
  263.            IF R_IsEGA ()
  264.                  R_ShowPCX ( 'STANDEGA.PCX' )
  265.                  [...]
  266.            ELSE
  267.                  Alert ( 'EGA adapter required to display this picture.' )
  268.  
  269.            ENDIF
  270.  
  271.  
  272. 4.4   Function R_IsMCGA : Determines if a MCGA card is present
  273.  
  274.       Syntax
  275.            lIsMCGA := R_IsMCGA ()
  276.  
  277.       Parameters
  278.            (None)
  279.  
  280.       Returns
  281.            lIsMCGA     .T. :      MCGA card present or can be emulated
  282.                        .F. :      No MCGA card present
  283.  
  284.       Description
  285.            This function can determine if the PC supports MCGA.
  286.  
  287.       Example
  288.            See PCXDemo.PRG
  289.  
  290.  
  291. 4.5   Function R_IsSVGA : Determines if a SuperVGA adapter is available
  292.  
  293.       Syntax
  294.            lIsSVGA := R_IsSVGA ()
  295.  
  296.       Parameters
  297.            (None)
  298.  
  299.       Returns
  300.            lIsSVGA     .T. :      PC has a, by RPCXLib supported, SuperVGA
  301.                                   adapter
  302.                        .F. :      PC doesn't have a supported SuperVGA adapter
  303.  
  304.       Description
  305.            This function determines if the PC has a SuperVGA adapter which
  306.            is supported by RPCXLib.
  307.  
  308.       Example
  309.            IF R_IsSVGA ()
  310.                  R_ShowPCX ( 'SUPERPIC.PCX' )
  311.                  [...]
  312.            ELSE
  313.                  IF R_IsVGA ()
  314.                        R_ShowPCX ( 'STANDVGA.PCX' )
  315.                        [...]
  316.                  ELSEIF R_IsEGA ()
  317.                        R_ShowPCX ( 'STANDEGA.PCX' )
  318.                        [...]
  319.                  ELSE
  320.                        Alert ( 'Minimum requirement is an EGA adapter !' )
  321.  
  322.                  ENDIF
  323.            ENDIF
  324.  
  325.       Remark
  326.            This function is a pseudo function and is declared in RPCXLib.CH.
  327.  
  328.  
  329. 4.6   Function R_IsVGA : Determines if a VGA card is present
  330.  
  331.       Syntax
  332.            lIsVGA := R_IsVGA ()
  333.  
  334.       Parameters
  335.            (None)
  336.  
  337.       Returns
  338.            lIsVGA      .T. :      VGA card is present or can be emulated
  339.                        .F. :      No VGA card present
  340.  
  341.       Description
  342.            This function can determine if the PC supports VGA.
  343.  
  344.       Example
  345.            IF R_IsVGA ()
  346.                  R_ShowPCX ( 'STANDVGA.PCX' )
  347.                  [...]
  348.            ELSE
  349.                  Alert ( 'Minimum requirement is a VGA adapter !' )
  350.  
  351.            ENDIF
  352.  
  353.  
  354. 4.7   Function R_PCXInfo : Gets information of a specific PCX-file
  355.  
  356.       Syntax
  357.            nRet :=
  358.            R_PCXInfo ( cPCXFile, @nWidth, @nHeight, @nColors, @nAdapter )
  359.  
  360.       Parameters
  361.            cPCXFile    Filespec of the PCX-file to be examined
  362.                        Format  : [drive:][\path\]filename.PCX
  363.                        Example : C:\PICTURES\TREE.PCX
  364.                        The extension (.PCX) may not be omitted !
  365.  
  366.            @nWidth     Variable (BY REFERENCE !) to which the WIDTH of the
  367.                        picture is returned
  368.  
  369.            @nHeight    Variable (BY REFERENCE !) to which the HEIGHT of the
  370.                        picture is returned
  371.  
  372.            @nColors    Variable (BY REFERENCE !) to which the NUMBER OF COLOURS
  373.                        of the picture is returned (16 or 256)
  374.  
  375.            @nAdapter   Variable (BY REFERENCE !) to which the CODE of the
  376.                        REQUIRED ADAPTER is returned
  377.  
  378.                        These codes are defined in RPCXLib.CH :
  379.  
  380.                        1 = PL_EGA       EGA adapter required
  381.                        2 = PL_VGA       Standard VGA adapter required
  382.                        3 = PL_SVGA      SuperVGA adapter required
  383.  
  384. Returns
  385.            nRet        Return code of R_PCXInfo()
  386.  
  387.                        The values and descriptions of this return code are
  388.                        defined in RPCXLib.CH :
  389.  
  390.                        0 = PL_OKAY                  Okay
  391.                        1 = PL_INVALID_PARAMETER     Invalid parameter passed
  392.                        2 = PL_OPEN_PCX              Error opening PCX-file
  393.                        3 = PL_READ_PCX              Error reading PCX-file
  394.                        4 = PL_NO_PCXFILE            File is no valid
  395.                                                     PCX-file
  396.                        5 = PL_INVALID_BPP           Invalid number of
  397.                                                     Bits-Per-Pixel
  398.  
  399.       Description
  400.            Using the R_PCXInfo() function makes it possible to get information
  401.            about a PCX-file before displaying it.
  402.            For example you can see what kind of graphic adapter is needed
  403.            to display the specific picture.
  404.  
  405.       Example
  406.            See PCXDemo.PRG
  407.  
  408.  
  409. 4.8   Function R_RestPal : Restores a saved Clipper colour palette
  410.  
  411.       Syntax
  412.            R_RestPal ( cPalet )
  413.  
  414.       Parameters
  415.            cPalet      A 48 byte string with the 16 colours of the Clipper
  416.                        colour palette (saved by de R_SavePal() function).
  417.  
  418.       Returns
  419.            NIL
  420.  
  421.       Description
  422.            With R_RestPal () a previously saved Clipper colour palette
  423.            can be restored.
  424.  
  425.       Example
  426.            See the R_SavePal () function
  427.  
  428.  
  429. 4.9   Function R_SavePal : Saves the actual Clipper colour palette to a string
  430.  
  431.       Syntax
  432.            cPalet := R_SavePal ()
  433.  
  434.       Parameters
  435.            (None)
  436.  
  437.       Returns
  438.            cPalet      A 48 byte string with the actual values of the
  439.                        16 Clipper colours
  440.  
  441.       Description
  442.            With the R_SavePal () function you can save the actual values
  443.            of the Clipper colours (temporarily) to a string.
  444.            This saved palette can be restored using the R_RestPal () function.
  445.  
  446.       Example
  447.            *-- RPCXLib definitions
  448.            #include "RPCXLib.CH"
  449.  
  450.            LOCAL     cPalet := R_SavePal ()         && Save Clipper palette
  451.            [...]
  452.  
  453.            && Change the Clipper MAGENTA-colour to another colour
  454.            R_SetRGB ( PL_MAGENTA, 20, 43, 5 )
  455.            [...]
  456.  
  457.            && Restore the previous saved Clipper palette
  458.            R_RestPal ( cPalet )
  459.  
  460.  
  461. 4.10  Function R_SetRGB : Changes the composition of a specific colour
  462.  
  463.       Syntax
  464.            R_SetRGB ( nRegNr, nRed, nGreen, nBlue )
  465.  
  466.       Parameters
  467.            nRegNr      Number of the colour register to change
  468.                        (range 0-63; codes are in RPCXLib.CH)
  469.  
  470.            nRed        Units RED to be used   (range : 0-63)
  471.  
  472.            nGreen      Units GREEN to be used (range : 0-63)
  473.  
  474.            nBlue       Units BLUE to be used  (range : 0-63)
  475.  
  476.       Returns
  477.            NIL
  478.  
  479.       Description
  480.            Function R_SetRGB makes it possible to define ones own 16 Clipper
  481.            colours. They can be replaced by self mixed colours.
  482.            There are 64 x 64 x 64 = 262.144 (!) possible colours so almost
  483.            any desired colour can be composed and used in applications.
  484.  
  485.       Example
  486.            && Replace the Clipper colour GREEN by a self mixed colour.
  487.            && The new colour is composed of 5 units RED, 30 units GREEN
  488.            && and 30 units BLUE
  489.  
  490.            *-- RPCXLib definitions
  491.            #include "RPCXLib.CH"
  492.  
  493.            R_SetRGB ( PL_GREEN, 5, 30, 30 )
  494.  
  495.            A nice example of interactive mixing of colours can be found
  496.            in RPCXDemo.PRG.
  497.  
  498.  
  499. 4.11  Function R_ShowPCX : Shows a PCX-file on EGA/VGA/SuperVGA screens
  500.  
  501.       Syntax
  502.            nRet := R_ShowPCX ( cPCXFile [, nYPos [, nXPos [, cDriver ] ] ] )
  503.  
  504.       Parameters
  505.            cPCXFile    Filespec of the PCX-file to be examined
  506.                        Format  : [drive:][\path\]filename.PCX
  507.                        Example : C:\PICTURES\TREE.PCX
  508.                        The extension (.PCX) may not be omitted !
  509.  
  510.            nYPos       Vertical screen position of the upper left corner
  511.                        of the display area (in pixels).
  512.                        If omitted the picture will be CENTRED VERTICALLY.
  513.  
  514.            nXPos       Horizontal screen position of the upper left corner
  515.                        of the display area (in pixels).
  516.                        If omitted the picture will be CENTRED HORIZONTALLY.
  517.  
  518.            cDriver     Filespec of the RPCXLib SuperVGA driver file.
  519.                        Format  : [drive:][\path\]filename.ext
  520.  
  521.                        When a picture should be displayed in SuperVGA mode
  522.                        the function R_ShowPCX must be able to locate the
  523.                        SuperVGA driver file.
  524.                        This file is included in the RPCXLib package and is
  525.                        called RPCXLib.GDR.
  526.  
  527.                        If the driver file is not located in the current
  528.                        DOS-directory this parameter should be used to
  529.                        indicate where the driver file can be found.
  530.  
  531. Returns
  532.            nRet        Return code of R_ShowPCX()
  533.  
  534.                        The values and descriptions of this return code are
  535.                        defined in RPCXLib.CH :
  536.  
  537.                         0 = PL_OKAY                 Okay
  538.                         1 = PL_INVALID_PARAMETER    Invalid parameter passed
  539.                         2 = PL_OPEN_PCX             Error opening PCX-file
  540.                         3 = PL_READ_PCX             Error reading PCX-file
  541.                         4 = PL_NO_PCXFILE           File is no valid
  542.                                                     PCX-file
  543.                         5 = PL_INVALID_BPP          Invalid number of
  544.                                                     Bits-Per-Pixel
  545.                         6 = PL_INVALID_DIM          PCX-file has invalid
  546.                                                     dimensions (> 640 x 480)
  547.                         7 = PL_UNKNOWN_SVGA         Unknown SuperVGA card
  548.                         8 = PL_OPEN_DRIVER          Error OPENING RPCXLib.GDR
  549.                                                     driver
  550.                         9 = PL_READ_DRIVER          Error READING RPCXLib.GDR
  551.                                                     driver
  552.                        10 = PL_SVGA_NOTSUPPORTED    SuperVGA-card not
  553.                                                     supported (yet)
  554.                        11 = PL_BUFFER_MEMORY        Not enough memory
  555.                                                     for internal buffer
  556.  
  557.       Description
  558.            R_ShowPCX() displays a PCX-file on a specific screen location.
  559.            This function is perfect to show Company Logo's, Graphs,
  560.            Wallpapers etc.
  561.  
  562.            The function chooses the most suitable video mode depending
  563.            on the dimensions and number of colours of the picture to show.
  564.            When needed the appropriate SuperVGA driver is loaded
  565.            automatically.
  566.  
  567.            The next scheme shows the relationship between the dimension of
  568.            the picture and the adapter that will be used :
  569.  
  570.  
  571.                                       PCX-file                     
  572.                                          │                          
  573.                           ┌──────────────┴──────────────┐           
  574.                           │                             │           
  575.                         16 colours                    256 colours       
  576.                   ┌───────┴──────┐              ┌───────┴──────┐    
  577.                   │              │              │              │    
  578.            <= 640 x 350   <= 640 x 480   <= 320 x 200   <= 640 x 480
  579.                  EGA            VGA            VGA         SuperVGA 
  580.  
  581.            After the picture is displayed the R_ShowPCX() returns to the
  582.            calling program while leaving the picture on the screen (the
  583.            graphic video remains active).
  584.            The calling program should take further action : for example
  585.            wait for a keypress (with the INKEY()-function). When a key
  586.            is pressed by the user the original video mode (TEXTMODE) should
  587.            be restored using the R_VMSet()-function.
  588.            This principle is demonstrated in the following example.
  589.  
  590.       Example
  591.            && Shows a PCX-file PICTURE.PCX on the screen
  592.            && on position (y,x) = (10,50)
  593.  
  594.            *-- RPCXLib definitions
  595.            #include "RPCXLib.CH"
  596.  
  597.            *-- Return code R_ShowPCX()
  598.            LOCAL       nRet
  599.  
  600.            *-- Array with error messages
  601.            LOCAL       aPCXErrors := PL_ERRMSG
  602.  
  603.            *-- Save the actual video mode
  604.            LOCAL       nVidMode   := R_VMGet ()
  605.  
  606.            [...]
  607.  
  608.            nRet := R_ShowPCX ( 'PICTURE.PCX', 10, 50 )
  609.  
  610.            IF nRet = PL_OKAY
  611.                  *-- Picture displayed, still on the screen
  612.  
  613.                  *-- Wait for a keypress ... (max 10 seconds)
  614.                  Inkey ( 10 )
  615.  
  616.                  *-- Restore video mode
  617.                  R_VMSet ( nVidMode )
  618.  
  619.            ELSE
  620.                  *-- Oops, error while displaying the picture
  621.  
  622.                  *-- Display the error message
  623.                  ALERT ( 'Error R_ShowPCX() : ' + aPCXErrors [nRet] )
  624.  
  625.            ENDIF
  626.  
  627.            && Continuation of the program
  628.            [...]
  629.  
  630.  
  631.            See for more detailed examples PCXDemo.PRG.
  632.  
  633.  
  634. 4.12  Function R_VGACard : Determines which SuperVGA adapter is present
  635.  
  636.       Syntax
  637.            nSVGACard := R_VGACard ()
  638.  
  639.       Parameters
  640.            (None)
  641.  
  642.       Returns
  643.            nSVGACard   Code of the detected SuperVGA adapter.
  644.                        These codes are defined in RPCXLib.CH.
  645.  
  646.       Description
  647.            This function tries to determine which SuperVGA adapter is
  648.            available in the PC.
  649.  
  650.       Example
  651.            && Determines the SuperVGA adapter
  652.  
  653.            *-- RPCXLib definitions
  654.            #include "RPCXLib.CH"
  655.  
  656.            *-- Code of SuperVGA adapter
  657.            LOCAL       nSVGACard
  658.  
  659.            *-- Array with the names of the known SuperVGA adapters
  660.            LOCAL       aSVGANames := PL_SVGA_NAMES
  661.  
  662.            nSVGACard := R_VGACard ()
  663.            ? 'SuperVGA in this PC : ', aSVGANames [nSVGACard]
  664.  
  665.  
  666. 4.13  Function R_VMGet : Determines the actual video mode
  667.  
  668.       Syntax
  669.            nVidMode := R_VMGet ()
  670.  
  671.       Parameters
  672.            (None)
  673.  
  674.       Returns
  675.            nVidMode    The actual video mode
  676.  
  677.       Description
  678.            Determines which video mode is active at the moment.
  679.            This function can be used in combination with R_ShowPCX().
  680.  
  681.       Example
  682.            See the example of R_ShowPCX().
  683.  
  684.  
  685. 4.14  Function R_VMSet : Changes the actual video mode
  686.  
  687.       Syntax
  688.            R_VMSet ( nVidMode )
  689.  
  690.       Parameters
  691.            nVidMode    The video mode to be used
  692.  
  693.       Returns
  694.            NIL
  695.  
  696.       Description
  697.            Changes the actual video mode. This function can be used in
  698.            combination with R_ShowPCX().
  699.  
  700.       Example
  701.            See the example of R_ShowPCX().
  702.  
  703.  
  704.  
  705. 5     REGISTRATION --------------------------------------------------------
  706.  
  707.       RPCXLib is a Shareware product. It is available through Users Groups,
  708.       Bulletin Boards, etc.
  709.       You have the opportunity to try the program at no charge to see
  710.       if it meets your needs. If you continue to use the program after
  711.       evaluation, please complete the included registration form
  712.       (RPCXLib.FRM) and send it to:
  713.  
  714.                         Ing. R.P.B. van Gelder
  715.                         Binnenwiertzstraat 27
  716.                         5615 HG  EINDHOVEN
  717.                         THE NETHERLANDS
  718.  
  719.  
  720.       The price for registration is :
  721.  
  722.       If you want to receive the library by E-MAIL : US $ 15,00
  723.  
  724.       If you want to receive the library by POST   : US $ 20,00
  725.  
  726.       .---------------------------------------------------------------------.
  727.       | REGISTERED USERS OF RSHOWPCX ONLY PAY THE EXTRA COSTS               |
  728.       |                                                                     |
  729.       | RECEPTION BY E-MAIL : $  5,00                                       |
  730.       | RECEPTION BY POST   : $ 10,00                                       |
  731.       |_____________________________________________________________________|
  732.  
  733.       Payment :
  734.  
  735.       Just include the appropriate amount of money (in cash) with the
  736.       registration form and send it to the address as mentioned above.
  737.  
  738.  
  739. 5.1   BENEFITS OF REGISTRATION --------------------------------------------
  740.  
  741.       1) A registered version of RPCXLib will be sent to you by E-MAIL or
  742.          by POST.
  743.  
  744.          .--------------------------------------------------------------.
  745.          | THE REGISTERED VERSION DOESN'T DISPLAY THE REGISTRATION      |
  746.          | MESSAGE AND DOESN'T HAVE THE 3 AND 8 SECONDS DELAYS.         |
  747.          |______________________________________________________________|
  748.  
  749.       2) Run-time royalty-free license. You will be free to integrate
  750.          RPCXLib functions into your Clipper applications without having
  751.          to pay any royalty or fee for doing so. You may also distribute
  752.          or market any such applications royalty-free.
  753.  
  754.       3) Support through E-Mail
  755.  
  756.          E-Mail addresses :
  757.  
  758.          Internet: RCROLF@urc.tue.nl
  759.          Bitnet  : RCROLF@heitue5
  760.  
  761.  
  762. 5.2   USER GROUPS / SHAREWARE DISTRIBUTORS --------------------------------
  763.  
  764.       PC User Groups are welcome to add RShowPCX to their libraries under
  765.       the following conditions :
  766.  
  767.       1) It must be completely unmodified
  768.  
  769.       2) A diskette/copying fee of $5 of less is charged; and
  770.  
  771.       3) This documentation file MUST be included.
  772.  
  773.       I would appreciate notification that you have added RPCXLib
  774.       to your library.
  775.  
  776.       IF YOU RECEIVED RPCXLIB THROUGH EITHER A USER GROUP OR A SHAREWARE
  777.       DISTRIBUTOR, PLEASE REMEMBER THAT THE DISKETTE FEE YOU PAYED DOES NOT
  778.       CONSTITUTE LICENSING THE SOFTWARE, AND YOU ARE STILL OBLIGATED TO 
  779.       REGISTER IF YOU DECIDE TO USE RPCXLIB.
  780.  
  781.  
  782.  
  783. 6     DISCLAIMER ----------------------------------------------------------
  784.  
  785.       The copyright owner disclaims all warranties and is not liable for
  786.       damages of any kind. By using RPCXLib you agree to this.
  787.