RGBAPI.H
上传用户:guoxiu1214
上传日期:2019-02-27
资源大小:876k
文件大小:78k
源码类别:

多显示器编程

开发平台:

Visual C++

  1. /*******************************************************************************
  2. Copyright Datapath Ltd. 2008.
  3. Purpose: Function declarations for a simple RGB interface.
  4. History:
  5.          19 DEC 07    SB   Created.
  6.          01 FEB 08    SB   Added Value Changed callback.
  7.          12 FEB 08    SB   Added colour balance functions.
  8.          27 FEB 08    SB   Added RGBGetHorPositionDefault,
  9.                            RGBGetHorScaleDefault, RGBGetCaptureWidthDefault,
  10.                            RGBGetVerPositionDefault, RGBGetCaptureHeightDefault.
  11.          28 MAR 08   MJE   Added RGBSetDrawNoSignalFn and 
  12.                            RGBSetDrawInvalidSignalFn.
  13.          03 APR 08   MJE   Added RGBGetModeInfo.
  14.          13 AUG 08    SB   Added RGBTestCropping.
  15.          09 DEC 08   MJE   Added RGBSetOutputSize, RGBGetOutputSize,
  16.                            RGBSetDownScaling and RGBGetDownScaling.
  17. *******************************************************************************/
  18. #define RGBAPI __stdcall
  19. #ifndef API
  20.    #ifdef __cplusplus
  21.       #define API(type,modifier,name,args) 
  22.          extern "C" __declspec(dllimport) type modifier name args;
  23.    #else
  24.       #define API(type,modifier,name,args) 
  25.          __declspec(dllimport) type modifier name args;
  26.    #endif
  27. #endif
  28. /******************************************************************************/
  29. API ( unsigned long, RGBAPI,
  30. RGBLoad, (
  31.    PHRGBDLL phRGBDLL ))
  32. /*
  33.  * Summary: Loads the error of the RGB driver. This should be the first
  34.  *          function called by an application to determine if RGB is available.
  35.  *
  36.  * Args:    phRGBDLL IN/OUT
  37.  *             Pointer to a variable that receives a handle to the RGB driver.
  38.  *
  39.  * Return:  RGBLoad either returns 0 if the driver was loaded successfully or an
  40.  *          appropriate error value.
  41.  */
  42. API ( unsigned long, RGBAPI,
  43. RGBFree, (
  44.    HRGBDLL hRGBDLL ))
  45. /*
  46.  * Summary: Unloads and free's the resources used by the RGB driver. This should
  47.  *          be the last function called by an application following a successful
  48.  *          RGBLoad.
  49.  *
  50.  * Args:    hRGBDLL IN
  51.  *             The RGB handle returned by RGBLoad.
  52.  *
  53.  * Return:  RGBFree either returns 0 if the driver was loaded
  54.  *          successfully or an appropriate error value.
  55.  */
  56. API ( unsigned long, RGBAPI,
  57. RGBGetCaptureCard, (
  58.    PCAPTURECARD   pCaptureCard ))
  59. /*
  60.  * Summary: Returns the load error of the RGB driver.
  61.  *
  62.  * Args:    None
  63.  *
  64.  * Return:  RGBGetLoadError either returns 0 if the driver was loaded
  65.  *          successfully or an appropriate error value.
  66.  */
  67. /******************************************************************************/
  68. API ( unsigned long, RGBAPI,
  69. RGBGetNumberOfInputs, (
  70.    unsigned long  *pNumberOfInputs ))
  71. /*
  72.  * Summary: Returns the number of RGB inputs.
  73.  *
  74.  * Args:    pNumberOfInputs IN/OUT
  75.  *             Pointer to a variable that receives the number of inputs if the
  76.  *             call is successful.
  77.  *
  78.  * Return:  RGBGetNumberOfInputs either returns 0 if successful or an
  79.  *          appropriate error value.
  80.  */
  81. API ( unsigned long, RGBAPI,
  82. RGBOpenInput, (
  83.    unsigned long  uInput,
  84.    PHRGB          pHRGB ))
  85. /*
  86.  * Summary: Opens an RGB capture on the specified input.
  87.  *
  88.  * Args:    uInput IN
  89.  *             Specifies the input to open. The input must be a value in the
  90.  *             range 0 to ( numberOfInputs - 1 ). The number of inputs can be
  91.  *             obtained by calling RGBGetNumberOfInputs.
  92.  *
  93.  *          pHRGB IN/OUT
  94.  *             Pointer to a variable that receives the handle that identifies
  95.  *             the RGB capture.
  96.  *
  97.  * Return:  RGBOpenInput either returns 0 if successful or an appropriate error
  98.  *          value.
  99.  */
  100. API ( unsigned long, RGBAPI,
  101. RGBCloseInput, (
  102.    HRGB  hRGB ))
  103. /*
  104.  * Summary: Closes an RGB capture.
  105.  *
  106.  * Args:    hRGB IN
  107.  *             The RGB capture handle to be closed.
  108.  *             hRGB is not valid after this call and must not be used again.
  109.  *
  110.  * Return:  RGBCloseInput either returns 0 if successful or an appropriate error
  111.  *          value.
  112.  */
  113. API ( unsigned long, RGBAPI,
  114. RGBCloseInputs, (
  115.    PHRGB pHRGBArray,
  116.    ULONG uInputs ))
  117. /*
  118.  * Summary: Closes all the RGB captures specified.
  119.  *
  120.  * Purpose:
  121.  *          This closes all the specified RGB captures. If no error is returned
  122.  *          all the RGB captures will have finished by the time this function 
  123.  *          returns. 
  124.  *          
  125.  * Args:    pHRGBArray IN OUT
  126.  *             An array of RGB captures handles to be closed.
  127.  *             Captures which are successfully closed are set to NULL in the
  128.  *             returning array. If an error is returned there maybe captures
  129.  *             left open. 
  130.  *
  131.  *          uInputs IN
  132.  *             The number of RGB capture handles to be closed.
  133.  *
  134.  * Return:  RGBCloseInputs either returns 0 if successful or an appropriate
  135.  *          error value.
  136.  */
  137. /******************************************************************************/
  138. API ( unsigned long, RGBAPI,
  139. RGBSetInput, (
  140.    HRGB           hRGB,
  141.    unsigned long  uInput ))
  142. /*
  143.  * Summary: Sets the input of the specified RGB capture.
  144.  *
  145.  * Args:    hRGB IN
  146.  *             The RGB capture handle.
  147.  *
  148.  *          uInput IN
  149.  *             Specifies the new input to open. The input must be a value in the
  150.  *             range 0 to ( numberOfInputs - 1 ). The number of inputs can be
  151.  *             obtained by calling RGBGetNumberOfInputs.
  152.  *
  153.  *
  154.  * Return:  RGBSetInput either returns 0 if successful or an appropriate
  155.  *          error value.
  156.  */
  157. API ( unsigned long, RGBAPI,
  158. RGBGetInput, (
  159.    HRGB           hRGB,
  160.    unsigned long  *pUInput ))
  161. /*
  162.  * Summary: Gets the current input of the specfied RGB capture.
  163.  *
  164.  * Args:    hRGB IN
  165.  *             The RGB capture handle.
  166.  *
  167.  *          uInput IN/OUT
  168.  *             Pointer to a variable that receives the current of input.
  169.  *
  170.  *
  171.  * Return:  RGBGetInput either returns 0 if successful or an appropriate
  172.  *          error value.
  173.  */
  174. /******************************************************************************/
  175. API ( unsigned long, RGBAPI,
  176. RGBSetWindow, (
  177.    HRGB  hRGB,
  178.    HWND  hWnd ))
  179. /*
  180.  * Summary: Sets the window in which specified RGB capture is to be displayed.
  181.  *
  182.  * Args:    hRGB IN
  183.  *             The RGB capture handle.
  184.  *
  185.  *          hWnd IN
  186.  *             The window handle.
  187.  *
  188.  * Return:  RGBSetWindow either returns 0 if successful or an appropriate
  189.  *          error value.
  190.  */
  191. API ( unsigned long, RGBAPI,
  192. RGBGetWindow, (
  193.    HRGB  hRGB,
  194.    HWND  *pHWnd ))
  195. /*
  196.  * Summary: Returns the window handle of the window in which the specified RGB
  197.  *          capture is being displayed.
  198.  *
  199.  * Args:    hRGB IN
  200.  *             The RGB capture handle.
  201.  *
  202.  *          hWnd IN/OUT
  203.  *             Pointer to a variable that receives the window handle.
  204.  *
  205.  * Return:  RGBGetWindow either returns 0 if successful or an appropriate
  206.  *          error value.
  207.  */
  208. /******************************************************************************/
  209. API ( unsigned long, RGBAPI,
  210. RGBResetCapture, (
  211.    HRGB hRGB ))
  212. /*
  213.  * Summary: Resets the capture parameters to their intial detected values.
  214.  *
  215.  * Args:    hRGB IN
  216.  *             The RGB capture handle.
  217.  *
  218.  *
  219.  * Return:  RGBResetCapture either returns 0 if successful or an appropriate
  220.  *          error value.
  221.  */
  222. /******************************************************************************/
  223. API ( unsigned long, RGBAPI,
  224. RGBGetHorPositionMinimum, (
  225.    HRGB        hRGB,
  226.    signed long *pHorPosition ))
  227. /*
  228.  * Summary: Returns the minimum value that can be set for the number of pixels
  229.  *          between the horizontal sync and the beginning of capture.
  230.  *
  231.  * Args:    hRGB IN
  232.  *             The RGB capture handle.
  233.  *
  234.  *          pHorPosition IN/OUT
  235.  *             Pointer to a variable that receives the minimum value that can be
  236.  *             set for the number of pixels between the horizontal sync and the
  237.  *             beginning of capture.
  238.  *
  239.  * Return:  RGBGetHorPositionMinimum either returns 0 if successful or an
  240.  *          appropriate error value.
  241.  */
  242. API ( unsigned long, RGBAPI,
  243. RGBGetHorPositionMaximum, (
  244.    HRGB        hRGB,
  245.    signed long *pHorPosition ))
  246. /*
  247.  * Summary: Returns the maximum value that can be set for the number of pixels
  248.  *          between the horizontal sync and the beginning of capture.
  249.  *          
  250.  * Args:    hRGB IN
  251.  *             The RGB capture handle.
  252.  *
  253.  *          pHorPosition IN/OUT
  254.  *             Pointer to a variable that receives the maximum value that can be
  255.  *             set for the number of pixels between the horizontal sync and the
  256.  *             beginning of capture.
  257.  *
  258.  * Return:  RGBGetHorPositionMaximum either returns 0 if successful or an
  259.  *          appropriate error value.
  260.  */
  261. API ( unsigned long, RGBAPI,
  262. RGBGetHorPositionDefault, (
  263.    HRGB        hRGB,
  264.    signed long *pHorPosition ))
  265. /*
  266.  * Summary: Returns the default value for the number of pixels between the
  267.  *          horizontal sync and the beginning of capture.
  268.  *          
  269.  * Args:    hRGB IN
  270.  *             The RGB capture handle.
  271.  *
  272.  *          pHorPosition IN/OUT
  273.  *             Pointer to a variable that receives the default value for the
  274.  *             number of pixels between the horizontal sync and the
  275.  *             beginning of capture.
  276.  *
  277.  * Return:  RGBGetHorPositionDefault either returns 0 if successful or an
  278.  *          appropriate error value.
  279.  */
  280. API ( unsigned long, RGBAPI,
  281. RGBGetHorPosition, (
  282.    HRGB        hRGB,
  283.    signed long *pHorPosition ))
  284. /*
  285.  * Summary: Returns the currently set value for the number of pixels between the
  286.  *          horizontal sync and the beginning of capture.
  287.  *          
  288.  * Args:    hRGB IN
  289.  *             The RGB capture handle.
  290.  *
  291.  *          pHorPosition IN/OUT
  292.  *             Pointer to a variable that receives the currently set value for
  293.  *             the number of pixels between the horizontal sync and the
  294.  *             beginning of capture.
  295.  *
  296.  * Return:  RGBGetHorPosition either returns 0 if successful or an appropriate
  297.  *          error value.
  298.  */
  299. API ( unsigned long, RGBAPI,
  300. RGBSetHorPosition, (
  301.    HRGB        hRGB,
  302.    signed long horPosition ))
  303. /*
  304.  * Summary: Sets the number of pixels between the horizontal sync and the
  305.  *          beginning of capture.
  306.  *          
  307.  * Args:    hRGB IN
  308.  *             The RGB capture handle.
  309.  *
  310.  *          horPosition IN
  311.  *             The number of pixels between the horizontal sync and the
  312.  *             beginning of capture value to set.
  313.  *
  314.  * Return:  RGBSetHorPosition  either returns 0 if successful or an appropriate
  315.  *          error value.
  316.  */
  317. /******************************************************************************/
  318. API ( unsigned long, RGBAPI,
  319. RGBGetHorScaleMinimum, (
  320.    HRGB           hRGB,
  321.    unsigned long  *pHorScale ))
  322. /*
  323.  * Summary: Returns the minimum value that can be set for the total number of
  324.  *          pixels on a line.
  325.  *
  326.  * Args:    hRGB IN
  327.  *             The RGB capture handle.
  328.  *
  329.  *          pHorPosition IN/OUT
  330.  *             Pointer to a variable that receives the minimum value that can be
  331.  *             set for the total number of pixels on a line.
  332.  *
  333.  * Return:  RGBGetHorScaleMinimum either returns 0 if successful or an
  334.  *          appropriate error value.
  335.  */
  336. API ( unsigned long, RGBAPI,
  337. RGBGetHorScaleMaximum, (
  338.    HRGB           hRGB,
  339.    unsigned long  *pHorScale ))
  340. /*
  341.  * Summary: Returns the maximum value that can be set for the total number of
  342.  *          pixels on a line.
  343.  *
  344.  * Args:    hRGB IN
  345.  *             The RGB capture handle.
  346.  *
  347.  *          pHorPosition IN/OUT
  348.  *             Pointer to a variable that receives the maximum value that can be
  349.  *             set for the total number of pixels on a line.
  350.  *
  351.  * Return:  RGBGetHorScaleMaximum either returns 0 if successful or an
  352.  *          appropriate error value.
  353.  */
  354. API ( unsigned long, RGBAPI,
  355. RGBGetHorScaleDefault, (
  356.    HRGB           hRGB,
  357.    unsigned long  *pHorScale ))
  358. /*
  359.  * Summary: Returns the default value for the total number of pixels on a line.
  360.  *
  361.  * Args:    hRGB IN
  362.  *             The RGB capture handle.
  363.  *
  364.  *          pHorPosition IN/OUT
  365.  *             Pointer to a variable that receives the default value for the
  366.  *             total number of pixels on a line.
  367.  *
  368.  * Return:  RGBGetHorScaleDefault either returns 0 if successful or an
  369.  *          appropriate error value.
  370.  */
  371. API ( unsigned long, RGBAPI,
  372. RGBGetHorScale, (
  373.    HRGB           hRGB,
  374.    unsigned long  *pHorScale ))
  375. /*
  376.  * Summary: Returns the currently set value for the total number of pixels on a
  377.  *          line.
  378.  *
  379.  * Args:    hRGB IN
  380.  *             The RGB capture handle.
  381.  *
  382.  *          pHorPosition IN/OUT
  383.  *             Pointer to a variable that receives the currently set value for
  384.  *             the total number of pixels on a line.
  385.  *
  386.  * Return:  RGBGetHorScale either returns 0 if successful or an appropriate
  387.  *          error value.
  388.  */
  389. API ( unsigned long, RGBAPI,
  390. RGBSetHorScale, (
  391.    HRGB           hRGB,
  392.    unsigned long  horScale ))
  393. /*
  394.  * Summary: Sets the total number of pixels on a line.
  395.  *
  396.  * Args:    hRGB IN
  397.  *             The RGB capture handle.
  398.  *
  399.  *          horScale IN
  400.  *             The total number of pixels on a line value to set.
  401.  *
  402.  * Return:  RGBSetHorScale either returns 0 if successful or an appropriate
  403.  *          error value.
  404.  */
  405. /******************************************************************************/
  406. API ( unsigned long, RGBAPI,
  407. RGBGetCaptureWidthMinimum, (
  408.    HRGB           hRGB,
  409.    unsigned long  *pWidth ))
  410. /*
  411.  * Summary: Returns the minimum value that can be set for the number of pixels
  412.  *          on each line that are to be captured.
  413.  *
  414.  * Args:    hRGB IN
  415.  *             The RGB capture handle.
  416.  *
  417.  *          pWidth IN/OUT
  418.  *             Pointer to a variable that receives the minimum value that can be
  419.  *             set for the number of pixels on each line that are to be
  420.  *             captured.
  421.  *
  422.  * Return:  RGBGetCaptureWidthMinimum either returns 0 if successful or an
  423.  *          appropriate error value.
  424.  */
  425. API ( unsigned long, RGBAPI,
  426. RGBGetCaptureWidthMaximum, (
  427.    HRGB           hRGB,
  428.    unsigned long  *pWidth ))
  429. /*
  430.  * Summary: Returns the maximum value that can be set for the number of pixels
  431.  *          on each line that are to be captured.
  432.  *
  433.  * Args:    hRGB IN
  434.  *             The RGB capture handle.
  435.  *
  436.  *          pWidth IN/OUT
  437.  *             Pointer to a variable that receives the maximum value that can be
  438.  *             set for the number of pixels on each line that are to be
  439.  *             captured.
  440.  *
  441.  * Return:  RGBGetCaptureWidthMaximum either returns 0 if successful or an
  442.  *          appropriate error value.
  443.  */
  444. API ( unsigned long, RGBAPI,
  445. RGBGetCaptureWidthDefault, (
  446.    HRGB           hRGB,
  447.    unsigned long  *pWidth ))
  448. /*
  449.  * Summary: Returns the default value for the number of pixels on each line that
  450.  *          are to be captured.
  451.  *
  452.  * Args:    hRGB IN
  453.  *             The RGB capture handle.
  454.  *
  455.  *          pWidth IN/OUT
  456.  *             Pointer to a variable that receives the default value for the
  457.  *             number of pixels on each line that are to be
  458.  *             captured.
  459.  *
  460.  * Return:  RGBGetCaptureWidthDefault either returns 0 if successful or an
  461.  *          appropriate error value.
  462.  */
  463. API ( unsigned long, RGBAPI,
  464. RGBGetCaptureWidth, (
  465.    HRGB           hRGB,
  466.    unsigned long  *pWidth ))
  467. /*
  468.  * Summary: Returns the currently set value for the number of pixels on each
  469.  *          line that are to be captured.
  470.  *
  471.  * Args:    hRGB IN
  472.  *             The RGB capture handle.
  473.  *
  474.  *          pWidth IN/OUT
  475.  *             Pointer to a variable that receives the currently set value for
  476.  *             the number of pixels on each line that are to be captured.
  477.  *
  478.  * Return:  RGBGetCaptureWidth either returns 0 if successful or an
  479.  *          appropriate error value.
  480.  */
  481. API ( unsigned long, RGBAPI,
  482. RGBTestCaptureWidth, (
  483.    HRGB           hRGB,
  484.    unsigned long  width ))
  485. /*
  486.  * Summary: The RGB capture cards require the number of pixels on each line
  487.  *          to be aligned to certain natural boundaries. This alignment value
  488.  *          may not be the same for the different RGB capture cards. This
  489.  *          function tests whether a value is correct for the RGB capture card
  490.  *          in use.
  491.  *
  492.  * Args:    hRGB IN
  493.  *             The RGB capture handle.
  494.  *
  495.  *          width IN
  496.  *             The total number of pixels on a line value to test.
  497.  *
  498.  * Return:  RGBTestCaptureWidth either returns 0 if successful or an
  499.  *          appropriate error value.
  500.  */
  501. API ( unsigned long, RGBAPI,
  502. RGBSetCaptureWidth, (
  503.    HRGB           hRGB,
  504.    unsigned long  width ))
  505. /*
  506.  * Summary: Sets the number of pixels on each line that are to be captured.
  507.  *
  508.  * Args:    hRGB IN
  509.  *             The RGB capture handle.
  510.  *
  511.  *          width IN
  512.  *             The number of pixels on each line that are to be captured value
  513.  *             to set.
  514.  *
  515.  * Return:  RGBSetCaptureWidth either returns 0 if successful or an
  516.  *          appropriate error value.
  517.  */
  518. /******************************************************************************/
  519. API ( unsigned long, RGBAPI,
  520. RGBGetVerPositionMinimum, (
  521.    HRGB        hRGB,
  522.    signed long *pVerPosition ))
  523. /*
  524.  * Summary: Returns the minimum value that can be set for the number of lines
  525.  *          between the vertical sync and the beginning of capture.
  526.  *
  527.  * Args:    hRGB IN
  528.  *             The RGB capture handle.
  529.  *
  530.  *          pVerPosition IN/OUT
  531.  *             Pointer to a variable that receives the minimum value that can be
  532.  *             set for the number of lines between the vertical sync and the
  533.  *             beginning of capture.
  534.  *
  535.  * Return:  RGBGetVerPositionMinimum either returns 0 if successful or an
  536.  *          appropriate error value.
  537.  */
  538. API ( unsigned long, RGBAPI,
  539. RGBGetVerPositionMaximum, (
  540.    HRGB        hRGB,
  541.    signed long *pVerPosition ))
  542. /*
  543.  * Summary: Returns the maximum value that can be set for the number of lines
  544.  *          between the vertical sync and the beginning of capture.
  545.  *
  546.  * Args:    hRGB IN
  547.  *             The RGB capture handle.
  548.  *
  549.  *          pVerPosition IN/OUT
  550.  *             Pointer to a variable that receives the maximum value that can be
  551.  *             set for the number of lines between the vertical sync and the
  552.  *             beginning of capture.
  553.  *
  554.  * Return:  RGBGetVerPositionMaximum either returns 0 if successful or an
  555.  *          appropriate error value.
  556.  */
  557. API ( unsigned long, RGBAPI,
  558. RGBGetVerPositionDefault, (
  559.    HRGB        hRGB,
  560.    signed long *pVerPosition ))
  561. /*
  562.  * Summary: Returns the default value for the number of lines between the
  563.  *          vertical sync and the beginning of capture.
  564.  *
  565.  * Args:    hRGB IN
  566.  *             The RGB capture handle.
  567.  *
  568.  *          pVerPosition IN/OUT
  569.  *             Pointer to a variable that receives the default value for the
  570.  *             number of lines between the vertical sync and the
  571.  *             beginning of capture.
  572.  *
  573.  * Return:  RGBGetVerPositionDefault either returns 0 if successful or an
  574.  *          appropriate error value.
  575.  */
  576. API ( unsigned long, RGBAPI,
  577. RGBGetVerPosition, (
  578.    HRGB        hRGB,
  579.    signed long *pVerPosition ))
  580. /*
  581.  * Summary: Returns the currently set value for the number of lines between the
  582.  *          vertical sync and the beginning of capture.
  583.  *
  584.  * Args:    hRGB IN
  585.  *             The RGB capture handle.
  586.  *
  587.  *          pVerPosition IN/OUT
  588.  *             Pointer to a variable that receives the currently set value for
  589.  *             the number of lines between the vertical sync and the beginning
  590.  *             of capture.
  591.  *
  592.  * Return:  RGBGetVerPosition either returns 0 if successful or an
  593.  *          appropriate error value.
  594.  */
  595.  
  596. API ( unsigned long, RGBAPI,
  597. RGBSetVerPosition, (
  598.    HRGB        hRGB,
  599.    signed long verPosition ))
  600. /*
  601.  * Summary: Sets the number of lines between the vertical sync and the beginning
  602.  *          of capture.
  603.  *
  604.  * Args:    hRGB IN
  605.  *             The RGB capture handle.
  606.  *
  607.  *          verPosition IN
  608.  *             The number of lines between the vertical sync and the beginning
  609.  *             of capture value to set.
  610.  *
  611.  * Return:  RGBSetVerPosition either returns 0 if successful or an
  612.  *          appropriate error value.
  613.  */
  614. /******************************************************************************/
  615. API ( unsigned long, RGBAPI,
  616. RGBGetCaptureHeightMinimum, (
  617.    HRGB           hRGB,
  618.    unsigned long  *pHeight ))
  619. /*
  620.  * Summary: Returns the minimum value that can be set for the number of lines
  621.  *          that are to be captured.
  622.  *
  623.  * Args:    hRGB IN
  624.  *             The RGB capture handle.
  625.  *
  626.  *          pHeight IN/OUT
  627.  *             Pointer to a variable that receives the minimum value that can be
  628.  *             set for the number of lines that are to be captured.
  629.  *
  630.  * Return:  RGBGetCaptureHeightMinimum either returns 0 if successful or an
  631.  *          appropriate error value.
  632.  */
  633.  
  634. API ( unsigned long, RGBAPI,
  635. RGBGetCaptureHeightMaximum, (
  636.    HRGB           hRGB,
  637.    unsigned long  *pHeight ))
  638. /*
  639.  * Summary: Returns the maximum value that can be set for the number of lines
  640.  *          that are to be captured.
  641.  *
  642.  * Args:    hRGB IN
  643.  *             The RGB capture handle.
  644.  *
  645.  *          pHeight IN/OUT
  646.  *             Pointer to a variable that receives the maximum value that can be
  647.  *             set for the number of lines that are to be captured.
  648.  *
  649.  * Return:  RGBGetCaptureHeightMaximum either returns 0 if successful or an
  650.  *          appropriate error value.
  651.  */
  652. API ( unsigned long, RGBAPI,
  653. RGBGetCaptureHeightDefault, (
  654.    HRGB           hRGB,
  655.    unsigned long  *pHeight ))
  656. /*
  657.  * Summary: Returns the default value for the number of lines that are to be
  658.  *          captured.
  659.  *
  660.  * Args:    hRGB IN
  661.  *             The RGB capture handle.
  662.  *
  663.  *          pHeight IN/OUT
  664.  *             Pointer to a variable that receives the default for the number of
  665.  *             lines that are to be captured.
  666.  *
  667.  * Return:  RGBGetCaptureHeightDefault either returns 0 if successful or an
  668.  *          appropriate error value.
  669.  */
  670. API ( unsigned long, RGBAPI,
  671. RGBGetCaptureHeight, (
  672.    HRGB           hRGB,
  673.    unsigned long  *pHeight ))
  674. /*
  675.  * Summary: Returns the currently set value for the number of lines that are to
  676.  *          be captured.
  677.  *
  678.  * Args:    hRGB IN
  679.  *             The RGB capture handle.
  680.  *
  681.  *          pHeight IN/OUT
  682.  *             Pointer to a variable that receives the currently set value for
  683.  *             the number of lines that are to be captured.
  684.  *
  685.  * Return:  RGBGetCaptureHeight either returns 0 if successful or an
  686.  *          appropriate error value.
  687.  */
  688. API ( unsigned long, RGBAPI,
  689. RGBSetCaptureHeight, (
  690.    HRGB           hRGB,
  691.    unsigned long  height ))
  692. /*
  693.  * Summary: Sets the number of lines that are to be captured.
  694.  *
  695.  * Args:    hRGB IN
  696.  *             The RGB capture handle.
  697.  *
  698.  *          height IN
  699.  *             The number of lines that are to be captured value to set.
  700.  *
  701.  * Return:  RGBSetCaptureHeight either returns 0 if successful or an
  702.  *          appropriate error value.
  703.  */
  704. /******************************************************************************/
  705. API ( unsigned long, RGBAPI,
  706. RGBGetBrightnessMinimum, (
  707.    HRGB        hRGB,
  708.    signed long *pBrightness ))
  709. /*
  710.  * Summary: Returns the minimum value that can be set for brightness.
  711.  *
  712.  * Args:    hRGB IN
  713.  *             The RGB capture handle.
  714.  *
  715.  *          pBrightness IN/OUT
  716.  *             Pointer to a variable that receives the minimum value that can be
  717.  *             set for the brightness.
  718.  *
  719.  * Return:  RGBGetBrightnessMinimum either returns 0 if successful or an
  720.  *          appropriate error value.
  721.  */
  722. API ( unsigned long, RGBAPI,
  723. RGBGetBrightnessMaximum, (
  724.    HRGB        hRGB,
  725.    signed long *pBrightness ))
  726. /*
  727.  * Summary: Returns the maximum value that can be set for brightness.
  728.  *
  729.  * Args:    hRGB IN
  730.  *             The RGB capture handle.
  731.  *
  732.  *          pBrightness IN/OUT
  733.  *             Pointer to a variable that receives the maximum value that can be
  734.  *             set for the brightness.
  735.  *
  736.  * Return:  RGBGetBrightnessMaximum either returns 0 if successful or an
  737.  *          appropriate error value.
  738.  */
  739. API ( unsigned long, RGBAPI,
  740. RGBGetBrightnessDefault, (
  741.    HRGB        hRGB,
  742.    signed long *pBrightness ))
  743. /*
  744.  * Summary: Returns the default value for brightness.
  745.  *
  746.  * Args:    hRGB IN
  747.  *             The RGB capture handle.
  748.  *
  749.  *          pBrightness IN/OUT
  750.  *             Pointer to a variable that receives the default value for
  751.  *             brightness.
  752.  *
  753.  * Return:  RGBGetBrightnessDefault either returns 0 if successful or an
  754.  *          appropriate error value.
  755.  */
  756. API ( unsigned long, RGBAPI,
  757. RGBGetBrightness, (
  758.    HRGB        hRGB,
  759.    signed long *pBrightness ))
  760. /*
  761.  * Summary: Returns the currently set value for brightness.
  762.  *
  763.  * Args:    hRGB IN
  764.  *             The RGB capture handle.
  765.  *
  766.  *          pBrightness IN/OUT
  767.  *             Pointer to a variable that receives the currently set value for
  768.  *             brightness.
  769.  *
  770.  * Return:  RGBGetBrightness either returns 0 if successful or an
  771.  *          appropriate error value.
  772.  */
  773. API ( unsigned long, RGBAPI,
  774. RGBSetBrightness, (
  775.    HRGB        hRGB,
  776.    signed long brightness ))
  777. /*
  778.  * Summary: Sets the brightness.
  779.  *
  780.  * Args:    hRGB IN
  781.  *             The RGB capture handle.
  782.  *
  783.  *          pBrightness IN/OUT
  784.  *             The brightness value to set.
  785.  *
  786.  * Return:  RGBSetBrightness either returns 0 if successful or an
  787.  *          appropriate error value.
  788.  */
  789. /******************************************************************************/
  790. API ( unsigned long, RGBAPI,
  791. RGBGetContrastMinimum, (
  792.    HRGB        hRGB,
  793.    signed long *pContrast ))
  794. /*
  795.  * Summary: Returns the minimum value that can be set for contrast.
  796.  *
  797.  * Args:    hRGB IN
  798.  *             The RGB capture handle.
  799.  *
  800.  *          pContrast IN/OUT
  801.  *             Pointer to a variable that receives the minimum value that can be
  802.  *             set for the contrast.
  803.  *
  804.  * Return:  RGBGetContrastMinimum either returns 0 if successful or an
  805.  *          appropriate error value.
  806.  */
  807.  
  808. API ( unsigned long, RGBAPI,
  809. RGBGetContrastMaximum, (
  810.    HRGB        hRGB,
  811.    signed long *pContrast ))
  812. /*
  813.  * Summary: Returns the maximum value that can be set for contrast.
  814.  *
  815.  * Args:    hRGB IN
  816.  *             The RGB capture handle.
  817.  *
  818.  *          pContrast IN/OUT
  819.  *             Pointer to a variable that receives the maximum value that can be
  820.  *             set for the contrast.
  821.  *
  822.  * Return:  RGBGetContrastMaximum either returns 0 if successful or an
  823.  *          appropriate error value.
  824.  */
  825. API ( unsigned long, RGBAPI,
  826. RGBGetContrastDefault, (
  827.    HRGB        hRGB,
  828.    signed long *pContrast ))
  829. /*
  830.  * Summary: Returns the default value for contrast.
  831.  *
  832.  * Args:    hRGB IN
  833.  *             The RGB capture handle.
  834.  *
  835.  *          pContrast IN/OUT
  836.  *             Pointer to a variable that receives the default value for
  837.  *             contrast.
  838.  *
  839.  * Return:  RGBGetContrastDefault either returns 0 if successful or an
  840.  *          appropriate error value.
  841.  */
  842. API ( unsigned long, RGBAPI,
  843. RGBGetContrast, (
  844.    HRGB        hRGB,
  845.    signed long *pContrast ))
  846. /*
  847.  * Summary: Returns the currently set value for contrast.
  848.  *
  849.  * Args:    hRGB IN
  850.  *             The RGB capture handle.
  851.  *
  852.  *          pContrast IN/OUT
  853.  *             Pointer to a variable that receives the currently set value for
  854.  *             contrast.
  855.  *
  856.  * Return:  RGBGetContrast either returns 0 if successful or an
  857.  *          appropriate error value.
  858.  */
  859. API ( unsigned long, RGBAPI,
  860. RGBSetContrast, (
  861.    HRGB        hRGB,
  862.    signed long contrast ))
  863. /*
  864.  * Summary: Sets the contrast.
  865.  *
  866.  * Args:    hRGB IN
  867.  *             The RGB capture handle.
  868.  *
  869.  *          contrast IN
  870.  *             The contrast value to set.
  871.  *
  872.  * Return:  RGBSetContrast either returns 0 if successful or an
  873.  *          appropriate error value.
  874.  */
  875. /******************************************************************************/
  876. API ( unsigned long, RGBAPI,
  877. RGBGetBlackLevelMinimum, (
  878.    HRGB        hRGB,
  879.    signed long *pBlackLevel ))
  880. /*
  881.  * Summary: Returns the minimum value that can be set for the black level sample
  882.  *          position.
  883.  *
  884.  * Args:    hRGB IN
  885.  *             The RGB capture handle.
  886.  *
  887.  *          pBlackLevel IN/OUT
  888.  *             Pointer to a variable that receives the minimum value that can be
  889.  *             set for the black level sample position.
  890.  *
  891.  * Return:  RGBGetBlackLevelMinimum either returns 0 if successful or an
  892.  *          appropriate error value.
  893.  */
  894. API ( unsigned long, RGBAPI,
  895. RGBGetBlackLevelMaximum, (
  896.    HRGB        hRGB,
  897.    signed long *pBlackLevel ))
  898. /*
  899.  * Summary: Returns the maximum value that can be set for the black level sample
  900.  *          position.
  901.  *
  902.  * Args:    hRGB IN
  903.  *             The RGB capture handle.
  904.  *
  905.  *          pBlackLevel IN/OUT
  906.  *             Pointer to a variable that receives the maximum value that can be
  907.  *             set for the black level sample position.
  908.  *
  909.  * Return:  RGBGetBlackLevelMaximum either returns 0 if successful or an
  910.  *          appropriate error value.
  911.  */
  912. API ( unsigned long, RGBAPI,
  913. RGBGetBlackLevelDefault, (
  914.    HRGB        hRGB,
  915.    signed long *pBlackLevel ))
  916. /*
  917.  * Summary: Returns the default value for the black level sample position.
  918.  *
  919.  * Args:    hRGB IN
  920.  *             The RGB capture handle.
  921.  *
  922.  *          pBlackLevel IN/OUT
  923.  *             Pointer to a variable that receives the default value for the
  924.  *             black level sample position.
  925.  *
  926.  * Return:  RGBGetBlackLevelDefault either returns 0 if successful or an
  927.  *          appropriate error value.
  928.  */
  929. API ( unsigned long, RGBAPI,
  930. RGBGetBlackLevel, (
  931.    HRGB        hRGB,
  932.    signed long *pBlackLevel ))
  933. /*
  934.  * Summary: Returns the current value for the black level sample position.
  935.  *
  936.  * Args:    hRGB IN
  937.  *             The RGB capture handle.
  938.  *
  939.  *          pBlackLevel IN/OUT
  940.  *             Pointer to a variable that receives the current value for the
  941.  *             black level sample position.
  942.  *
  943.  * Return:  RGBGetBlackLevel either returns 0 if successful or an
  944.  *          appropriate error value.
  945.  */
  946. API ( unsigned long, RGBAPI,
  947. RGBSetBlackLevel, (
  948.    HRGB        hRGB,
  949.    signed long blackLevel ))
  950. /*
  951.  * Summary: Sets the position at which the black level is sampled.
  952.  *
  953.  *
  954.  * Args:    hRGB IN
  955.  *             The RGB capture handle.
  956.  *
  957.  *          blackLevel IN
  958.  *             The position at which the black level is sampled value to set.
  959.  *
  960.  * Return:  RGBSetBlackLevel either returns 0 if successful or an
  961.  *          appropriate error value.
  962.  */
  963. /******************************************************************************/
  964. API ( unsigned long, RGBAPI,
  965. RGBGetPhaseMinimum, (
  966.    HRGB        hRGB,
  967.    signed long *pPhase ))
  968. /*
  969.  * Summary: Returns the minimum value that can be set for the phase of the
  970.  *          sampling clock in relation to the pixel clock.
  971.  *
  972.  * Args:    hRGB IN
  973.  *             The RGB capture handle.
  974.  *
  975.  *          pPhase IN/OUT
  976.  *             Pointer to a variable that receives the minimum value that can be
  977.  *             set for the phase of the sampling clock in relation to the pixel
  978.  *             clock.
  979.  *
  980.  * Return:  RGBGetPhaseMinimum either returns 0 if successful or an
  981.  *          appropriate error value.
  982.  */
  983. API ( unsigned long, RGBAPI,
  984. RGBGetPhaseMaximum, (
  985.    HRGB        hRGB,
  986.    signed long *pPhase ))
  987. /*
  988.  * Summary: Returns the maximum value that can be set for the phase of the
  989.  *          sampling clock in relation to the pixel clock.
  990.  *
  991.  * Args:    hRGB IN
  992.  *             The RGB capture handle.
  993.  *
  994.  *          pPhase IN/OUT
  995.  *             Pointer to a variable that receives the maximum value that can be
  996.  *             set for the phase of the sampling clock in relation to the pixel
  997.  *             clock.
  998.  *
  999.  * Return:  RGBGetPhaseMaximum either returns 0 if successful or an
  1000.  *          appropriate error value.
  1001.  */
  1002. API ( unsigned long, RGBAPI,
  1003. RGBGetPhaseDefault, (
  1004.    HRGB        hRGB,
  1005.    signed long *pPhase ))
  1006. /*
  1007.  * Summary: Returns the default value for the phase of the sampling clock in
  1008.  *          relation to the pixel clock.
  1009.  *
  1010.  * Args:    hRGB IN
  1011.  *             The RGB capture handle.
  1012.  *
  1013.  *          pPhase IN/OUT
  1014.  *             Pointer to a variable that receives the default value for the
  1015.  *             phase of the sampling clock in relation to the pixel clock.
  1016.  *
  1017.  * Return:  RGBGetPhaseDefault either returns 0 if successful or an
  1018.  *          appropriate error value.
  1019.  */
  1020. API ( unsigned long, RGBAPI,
  1021. RGBGetPhase, (
  1022.    HRGB        hRGB,
  1023.    signed long *pPhase ))
  1024. /*
  1025.  * Summary: Returns the current value for the phase of the sampling clock in
  1026.  *          relation to the pixel clock.
  1027.  *
  1028.  * Args:    hRGB IN
  1029.  *             The RGB capture handle.
  1030.  *
  1031.  *          pPhase IN/OUT
  1032.  *             Pointer to a variable that receives the current value for the
  1033.  *             phase of the sampling clock in relation to the pixel clock.
  1034.  *
  1035.  * Return:  RGBGetPhase either returns 0 if successful or an
  1036.  *          appropriate error value.
  1037.  */
  1038. API ( unsigned long, RGBAPI,
  1039. RGBSetPhase, (
  1040.    HRGB        hRGB,
  1041.    signed long phase ))
  1042. /*
  1043.  * Summary: Sets the phase of the sampling clock in relation to the pixel clock.
  1044.  *
  1045.  * Args:    hRGB IN
  1046.  *             The RGB capture handle.
  1047.  *
  1048.  *          phase IN
  1049.  *             The phase of the sampling clock in relation to the pixel clock
  1050.  *             value to set.
  1051.  *
  1052.  * Return:  RGBGetPhase either returns 0 if successful or an
  1053.  *          appropriate error value.
  1054.  */
  1055. /******************************************************************************/
  1056. API ( unsigned long, RGBAPI,
  1057. RGBGetFrameDroppingMinimum, (
  1058.    HRGB           hRGB,
  1059.    unsigned long  *pFrameDropping ))
  1060. /*
  1061.  * Summary: Returns the minimum value that can be set for the number of RGB
  1062.  *          frames that will be dropped between captures.
  1063.  *
  1064.  *
  1065.  * Args:    hRGB IN
  1066.  *             The RGB capture handle.
  1067.  *
  1068.  *          pFrameDropping IN/OUT
  1069.  *             Pointer to a variable that receives the minimum value that can be
  1070.  *             set for the number of RGB frames that will be dropped between
  1071.  *             captures.
  1072.  *
  1073.  * Return:  RGBGetFrameDroppingMinimum either returns 0 if successful or an
  1074.  *          appropriate error value.
  1075.  */
  1076. API ( unsigned long, RGBAPI,
  1077. RGBGetFrameDroppingMaximum, (
  1078.    HRGB           hRGB,
  1079.    unsigned long  *pFrameDropping ))
  1080. /*
  1081.  * Summary: Returns the maximum value that can be set for the number of RGB
  1082.  *          frames that will be dropped between captures.
  1083.  *
  1084.  *
  1085.  * Args:    hRGB IN
  1086.  *             The RGB capture handle.
  1087.  *
  1088.  *          pFrameDropping IN/OUT
  1089.  *             Pointer to a variable that receives the maximum value that can be
  1090.  *             set for the number of RGB frames that will be dropped between
  1091.  *             captures.
  1092.  *
  1093.  * Return:  RGBGetFrameDroppingMaximum either returns 0 if successful or an
  1094.  *          appropriate error value.
  1095.  */
  1096. API ( unsigned long, RGBAPI,
  1097. RGBGetFrameDroppingDefault, (
  1098.    HRGB           hRGB,
  1099.    unsigned long  *pFrameDropping ))
  1100. /*
  1101.  * Summary: Returns the default value for the number of RGB frames that will be
  1102.  *          dropped between captures.
  1103.  *
  1104.  *
  1105.  * Args:    hRGB IN
  1106.  *             The RGB capture handle.
  1107.  *
  1108.  *          pFrameDropping IN/OUT
  1109.  *             Pointer to a variable that receives the default value for the
  1110.  *             number of RGB frames that will be dropped between captures.
  1111.  *
  1112.  * Return:  RGBGetFrameDroppingDefault either returns 0 if successful or an
  1113.  *          appropriate error value.
  1114.  */
  1115. API ( unsigned long, RGBAPI,
  1116. RGBGetFrameDropping, (
  1117.    HRGB           hRGB,
  1118.    unsigned long  *pFrameDropping ))
  1119. /*
  1120.  * Summary: Returns the current value for the number of RGB frames that will be
  1121.  *          dropped between captures.
  1122.  *
  1123.  *
  1124.  * Args:    hRGB IN
  1125.  *             The RGB capture handle.
  1126.  *
  1127.  *          pFrameDropping IN/OUT
  1128.  *             Pointer to a variable that receives the current value for the
  1129.  *             number of RGB frames that will be dropped between captures.
  1130.  *
  1131.  * Return:  RGBGetFrameDropping either returns 0 if successful or an
  1132.  *          appropriate error value.
  1133.  */
  1134. API ( unsigned long, RGBAPI,
  1135. RGBSetFrameDropping, (
  1136.    HRGB           hRGB,
  1137.    unsigned long  frameDropping ))
  1138. /*
  1139.  * Summary: Sets the number of frames of RGB that will be dropped between
  1140.  *          captures. For instance, a value of 6 indicates that 6 frames of RGB
  1141.  *          will be dropped between captures.
  1142.  *
  1143.  *
  1144.  * Args:    hRGB IN
  1145.  *             The RGB capture handle.
  1146.  *
  1147.  *          frameDropping IN
  1148.  *             The number of frames of RGB that will be dropped between captures
  1149.  *             value to set.
  1150.  *
  1151.  * Return:  RGBSetFrameDropping either returns 0 if successful or an
  1152.  *          appropriate error value.
  1153.  */
  1154. /******************************************************************************/
  1155. API ( unsigned long, RGBAPI,
  1156. RGBGetFrameRate, (
  1157.    HRGB           hRGB,
  1158.    unsigned long  *pFrameRate ))
  1159. /*
  1160.  * Summary: Returns the current frame rate (in Hertz) of the RGB capture.
  1161.  *
  1162.  *
  1163.  * Args:    hRGB IN
  1164.  *             The RGB capture handle.
  1165.  *
  1166.  *          pFrameRate IN/OUT
  1167.  *             Pointer to a variable that receives the current frame rate (in
  1168.  *             Hertz) of the RGB capture.
  1169.  *
  1170.  * Return:  RGBGetFrameRate either returns 0 if successful or an
  1171.  *          appropriate error value.
  1172.  */
  1173. /******************************************************************************/
  1174. API ( unsigned long, RGBAPI,
  1175. RGBIsCroppingEnabled, (
  1176.    HRGB           hRGB,
  1177.    unsigned long  *pBEnabled ))
  1178. /*
  1179.  * Summary: Returns a value that indicates whether cropping is enabled or
  1180.  *          disabled.
  1181.  *
  1182.  * Args:    hRGB IN
  1183.  *             The RGB capture handle.
  1184.  *
  1185.  *          pBEnabled IN/OUT
  1186.  *             Pointer to a variable that receives a value that indicates
  1187.  *             whether cropping is enabled or disabled.
  1188.  *                A value of 0 indicates that cropping is disabled.
  1189.  *                A value of 1 indicates that cropping is enabled.
  1190.  *
  1191.  * Return:  RGBIsCroppingEnabled either returns 0 if successful or an
  1192.  *          appropriate error value.
  1193.  */
  1194. /******************************************************************************/
  1195. API ( unsigned long, RGBAPI,
  1196. RGBEnableCropping, (
  1197.    HRGB           hRGB,
  1198.    unsigned long  bEnable ))
  1199. /*
  1200.  * Summary: Enables or disables cropping using the cropping rectangle specified
  1201.  *          RGBSetCropping.
  1202.  *
  1203.  * Args:    hRGB IN
  1204.  *             The RGB capture handle.
  1205.  *
  1206.  *          bEnable IN
  1207.  *             A value of 0 disables cropping.
  1208.  *             A value of 1 enables cropping.
  1209.  *
  1210.  * Return:  RGBIsCroppingEnabled either returns 0 if successful or an
  1211.  *          appropriate error value.
  1212.  */
  1213. API ( unsigned long, RGBAPI,
  1214. RGBGetCroppingMinimum, (
  1215.    HRGB           hRGB,
  1216.    signed long    *pTop,
  1217.    signed long    *pLeft,
  1218.    unsigned long  *pWidth,
  1219.    unsigned long  *pHeight ))
  1220. /*
  1221.  * Summary: Returns the minimum cropping rectangle that can be specified.
  1222.  *
  1223.  * Args:    hRGB IN
  1224.  *             The RGB capture handle.
  1225.  *
  1226.  *          pTop IN/OUT
  1227.  *             Pointer to a variable that receives the minimum value that can be
  1228.  *             set for the top (Y) start coordinate of the cropping rectangle.
  1229.  *
  1230.  *          pLeft IN/OUT
  1231.  *             Pointer to a variable that receives the minimum value that can be
  1232.  *             set for the left (X) start coordinate of the cropping rectangle.
  1233.  *
  1234.  *          pWidth IN/OUT
  1235.  *             Pointer to a variable that receives the minimum value that can be
  1236.  *             set for the width of the cropping rectangle.
  1237.  *
  1238.  *          pHeight IN/OUT
  1239.  *             Pointer to a variable that receives the minimum value that can be
  1240.  *             set for the height of the cropping rectangle.
  1241.  *
  1242.  * Return:  RGBGetCroppingMinimum either returns 0 if successful or an
  1243.  *          appropriate error value.
  1244.  */
  1245. API ( unsigned long, RGBAPI,
  1246. RGBGetCroppingMaximum, (
  1247.    HRGB           hRGB,
  1248.    signed long    *pTop,
  1249.    signed long    *pLeft,
  1250.    unsigned long  *pWidth,
  1251.    unsigned long  *pHeight ))
  1252. /*
  1253.  * Summary: Returns the maximum cropping rectangle that can be specified.
  1254.  *
  1255.  * Args:    hRGB IN
  1256.  *             The RGB capture handle.
  1257.  *
  1258.  *          pTop IN/OUT
  1259.  *             Pointer to a variable that receives the maximum value that can be
  1260.  *             set for the top (Y) start coordinate of the cropping rectangle.
  1261.  *
  1262.  *          pLeft IN/OUT
  1263.  *             Pointer to a variable that receives the maximum value that can be
  1264.  *             set for the left (X) start coordinate of the cropping rectangle.
  1265.  *
  1266.  *          pWidth IN/OUT
  1267.  *             Pointer to a variable that receives the maximum value that can be
  1268.  *             set for the width of the cropping rectangle.
  1269.  *
  1270.  *          pHeight IN/OUT
  1271.  *             Pointer to a variable that receives the maximum value that can be
  1272.  *             set for the height of the cropping rectangle.
  1273.  *
  1274.  * Return:  RGBGetCroppingMaximum either returns 0 if successful or an
  1275.  *          appropriate error value.
  1276.  */
  1277. API ( unsigned long, RGBAPI,
  1278. RGBGetCroppingDefault, (
  1279.    HRGB           hRGB,
  1280.    signed long    *pTop,
  1281.    signed long    *pLeft,
  1282.    unsigned long  *pWidth,
  1283.    unsigned long  *pHeight ))
  1284. /*
  1285.  * Summary: Returns the default cropping rectangle.
  1286.  *
  1287.  * Args:    hRGB IN
  1288.  *             The RGB capture handle.
  1289.  *
  1290.  *          pTop IN/OUT
  1291.  *             Pointer to a variable that receives the default value for the top
  1292.  *             (Y) start coordinate of the cropping rectangle.
  1293.  *
  1294.  *          pLeft IN/OUT
  1295.  *             Pointer to a variable that receives the default value for the
  1296.  *             left (X) start coordinate of the cropping rectangle.
  1297.  *
  1298.  *          pWidth IN/OUT
  1299.  *             Pointer to a variable that receives the default value for the
  1300.  *             width of the cropping rectangle.
  1301.  *
  1302.  *          pHeight IN/OUT
  1303.  *             Pointer to a variable that receives the default value for the
  1304.  *             height of the cropping rectangle.
  1305.  *
  1306.  * Return:  RGBGetCroppingDefault either returns 0 if successful or an
  1307.  *          appropriate error value.
  1308.  */
  1309. API ( unsigned long, RGBAPI,
  1310. RGBGetCropping, (
  1311.    HRGB           hRGB,
  1312.    signed long    *pTop,
  1313.    signed long    *pLeft,
  1314.    unsigned long  *pWidth,
  1315.    unsigned long  *pHeight ))
  1316. /*
  1317.  * Summary: Returns the current cropping rectangle.
  1318.  *
  1319.  * Args:    hRGB IN
  1320.  *             The RGB capture handle.
  1321.  *
  1322.  *          pTop IN/OUT
  1323.  *             Pointer to a variable that receives the current value for the top
  1324.  *             (Y) start coordinate of the cropping rectangle.
  1325.  *
  1326.  *          pLeft IN/OUT
  1327.  *             Pointer to a variable that receives the current value for the
  1328.  *             left (X) start coordinate of the cropping rectangle.
  1329.  *
  1330.  *          pWidth IN/OUT
  1331.  *             Pointer to a variable that receives the current value for the
  1332.  *             width of the cropping rectangle.
  1333.  *
  1334.  *          pHeight IN/OUT
  1335.  *             Pointer to a variable that receives the current value for the
  1336.  *             height of the cropping rectangle.
  1337.  *
  1338.  * Return:  RGBGetCropping either returns 0 if successful or an
  1339.  *          appropriate error value.
  1340.  */
  1341. API ( unsigned long, RGBAPI,
  1342. RGBSetCropping, (
  1343.    HRGB           hRGB,
  1344.    signed long    top,
  1345.    signed long    left,
  1346.    unsigned long  width,
  1347.    unsigned long  height ))
  1348. /*
  1349.  * Summary: Sets the cropping rectangle.
  1350.  *
  1351.  * Args:    hRGB IN
  1352.  *             The RGB capture handle.
  1353.  *
  1354.  *          top IN
  1355.  *             The top (Y) start coordinate value of the cropping rectangle to
  1356.  *             set.
  1357.  *
  1358.  *          left IN
  1359.  *             The left (X) start coordinate value of the cropping rectangle to
  1360.  *             set.
  1361.  *
  1362.  *          width IN
  1363.  *             The width value of the cropping rectangle to set.
  1364.  *
  1365.  *          height IN
  1366.  *             The height value of the cropping rectangle to set.
  1367.  *
  1368.  * Return:  RGBSetCropping either returns 0 if successful or an
  1369.  *          appropriate error value.
  1370.  */
  1371. API ( unsigned long, RGBAPI,
  1372. RGBTestCropping, (
  1373.    HRGB           hRGB,
  1374.    signed long    top,
  1375.    signed long    left,
  1376.    unsigned long  width,
  1377.    unsigned long  height ))
  1378. /*
  1379.  * Summary: The RGB capture cards require that cropped windows are aligned to
  1380.  *          certain natural boundaries. The alignment may not be the same for
  1381.  *          the different RGB capture cards. This function tests whether the
  1382.  *          cropping values are correct for the RGB capture card in use.
  1383.  *
  1384.  * Args:    hRGB IN
  1385.  *             The RGB capture handle.
  1386.  *
  1387.  *          top IN
  1388.  *             The top (Y) start coordinate value of the cropping rectangle to
  1389.  *             test.
  1390.  *
  1391.  *          left IN
  1392.  *             The left (X) start coordinate value of the cropping rectangle to
  1393.  *             test.
  1394.  *
  1395.  *          width IN
  1396.  *             The width value of the cropping rectangle to test.
  1397.  *
  1398.  *          height IN
  1399.  *             The height value of the cropping rectangle to test.
  1400.  *
  1401.  * Return:  RGBTestCropping either returns 0 if successful or an
  1402.  *          appropriate error value.
  1403.  */
  1404. /******************************************************************************/
  1405. API ( unsigned long, RGBAPI,
  1406. RGBPauseCapture, (
  1407.    HRGB  hRGB ))
  1408. /*
  1409.  * Summary: Pauses the specified RGB capture.
  1410.  *
  1411.  * Args:    hRGB IN
  1412.  *             The RGB capture handle.
  1413.  *
  1414.  * Return:  RGBPauseCapture either returns 0 if successful or an
  1415.  *          appropriate error value.
  1416.  */
  1417. API ( unsigned long, RGBAPI,
  1418. RGBResumeCapture, (
  1419.    HRGB  hRGB ))
  1420. /*
  1421.  * Summary: Resumes a paused RGB capture.
  1422.  *
  1423.  * Args:    hRGB IN
  1424.  *             The RGB capture handle.
  1425.  *
  1426.  * Return:  RGBResumeCapture either returns 0 if successful or an
  1427.  *          appropriate error value.
  1428.  */
  1429. API ( unsigned long, RGBAPI,
  1430. RGBGetCaptureState, (
  1431.    HRGB           hRGB,
  1432.    PCAPTURESTATE  pState ))
  1433. /*
  1434.  * Summary: Gets the current capture state of the specified RGB capture.
  1435.  *
  1436.  * Args:    hRGB IN
  1437.  *             The RGB capture handle.
  1438.  *
  1439.  *          pState IN/OUT
  1440.  *             Pointer to a variable that receives the current capture state.
  1441.  *             The capture state returned will be one of the RGB_STATE_XXX
  1442.  *             values defined in RGB.H.
  1443.  *
  1444.  *
  1445.  * Return:  RGBGetCaptureState either returns 0 if successful or an appropriate
  1446.  *          error value.
  1447.  */
  1448. /******************************************************************************/
  1449. API ( unsigned long, RGBAPI,
  1450. RGBSetMessageDelay, (
  1451.    HRGB           hRGB,
  1452.    signed long    bShowMessages,
  1453.    unsigned long  delay ))
  1454. /*
  1455.  * Summary: Enables or disables the displaying of and the delay (in seconds)
  1456.  *          before displaying the No Signal, Invalid Signal or Error text within
  1457.  *          the window.
  1458.  *
  1459.  * Args:    hRGB IN
  1460.  *             The RGB capture handle.
  1461.  *
  1462.  *          bShowMessages IN
  1463.  *             A value of 0 disables the displaying of the text.
  1464.  *             A value of 1 enables the displaying of the text.
  1465.  *
  1466.  *          delay IN
  1467.  *             The delay, in seconds, to set before the text is displayed.
  1468.  *
  1469.  * Return:  RGBSetMessageDelay either returns 0 if successful or an
  1470.  *          appropriate error value.
  1471.  */
  1472. API ( unsigned long, RGBAPI,
  1473. RGBGetMessageDelay, (
  1474.    HRGB           hRGB,
  1475.    signed long    *pBShowMessages,
  1476.    unsigned long  *pDelay ))
  1477. /*
  1478.  * Summary: Returns the current values that indicate whether the No Signal,
  1479.  *          Invalid Signal or Error text is displayed within the window and the
  1480.  *          delay in seconds before displaying the text.
  1481.  *
  1482.  * Args:    hRGB IN
  1483.  *             The RGB capture handle.
  1484.  *
  1485.  *          pBShowMessages IN/OUT
  1486.  *             Pointer to a variable that receives a value that indicates
  1487.  *             whether the text is displayed.
  1488.  *                A value of 0 indicates that the text will not be displayed.
  1489.  *                A value of 1 indicates that the text will be displayed.
  1490.  *
  1491.  *          pDelay IN/OUT
  1492.  *             Pointer to a variable that receives the value of the delay (in
  1493.  *             seconds) before displaying the text.
  1494.  *
  1495.  * Return:  RGBGetMessageDelay either returns 0 if successful or an
  1496.  *          appropriate error value.
  1497.  */
  1498. /******************************************************************************/
  1499. API ( unsigned long, RGBAPI,
  1500. RGBGetPixelFormat, (
  1501.    HRGB           hRGB,
  1502.    PPIXELFORMAT   pPixelFormat ))
  1503. /*
  1504.  * Summary: Returns the current pixel format of the RGB capture.
  1505.  *
  1506.  * Args:    hRGB IN
  1507.  *             The RGB capture handle.
  1508.  *
  1509.  *          pPixelFormat IN/OUT
  1510.  *             Pointer to a variable that receives the value of the current
  1511.  *             pixel format. The pixel format returned will be one of the
  1512.  *             RGB_PIXELFORMAT_XXX values defined in RGB.H.
  1513.  *
  1514.  * Return:  RGBGetPixelFormat either returns 0 if successful or an
  1515.  *          appropriate error value.
  1516.  */
  1517. API ( unsigned long, RGBAPI,
  1518. RGBSetPixelFormat, (
  1519.    HRGB        hRGB,
  1520.    PIXELFORMAT pixelFormat ))
  1521. /*
  1522.  * Summary: Sets the pixel format of the RGB capture.
  1523.  *
  1524.  * Args:    hRGB IN
  1525.  *             The RGB capture handle.
  1526.  *
  1527.  *          pixelFormat IN
  1528.  *             The pixel format to set. The pixel set must be one of the
  1529.  *             RGB_PIXELFORMAT_XXX values defined in RGB.H.
  1530.  *
  1531.  * Return:  RGBSetPixelFormat either returns 0 if successful or an
  1532.  *          appropriate error value.
  1533.  */
  1534. /******************************************************************************/
  1535. #if ( defined ( _UNICODE ) || defined ( UNICODE ))
  1536. #define RGBSaveCurrentFrame   RGBSaveCurrentFrameW
  1537. #else
  1538. #define RGBSaveCurrentFrame   RGBSaveCurrentFrameA
  1539. #endif
  1540. API ( unsigned long, RGBAPI,
  1541. RGBSaveCurrentFrameA, (
  1542.    HRGB        hRGB,
  1543.    const char  *pFileName ))
  1544. API ( unsigned long, RGBAPI,
  1545. RGBSaveCurrentFrameW, (
  1546.    HRGB           hRGB,
  1547.    const wchar_t  *pFileName ))
  1548. /*
  1549.  * Summary: Saves the RGB capture to a windows bitmap file.
  1550.  *
  1551.  * Args:    hRGB IN
  1552.  *             The RGB capture handle.
  1553.  *
  1554.  *          pFileName IN
  1555.  *             The full path to the file in which to save RGB data,
  1556.  *             e.g. C:MyCapturesCapture1.bmp
  1557.  *             If the file does not exist it will be created.
  1558.  *             If the file already exists it will be overwritten.
  1559.  *
  1560.  * Return:  RGBSaveCurrentFrame either returns 0 if successful or an
  1561.  *          appropriate error value.
  1562.  */
  1563. /******************************************************************************/
  1564. API ( unsigned long, RGBAPI,
  1565. RGBIsDirectDMASupported, (
  1566.    signed long *pBIsSupported ))
  1567. /*
  1568.  * Summary: Returns a value that indicates whether the RGB data can transfered
  1569.  *          directly from the RGB capture card to the display device using DMA.
  1570.  *
  1571.  * Args:    hRGB IN
  1572.  *             The RGB capture handle.
  1573.  *
  1574.  *          pBIsSupported IN/OUT
  1575.  *             Pointer to a variable that receives a value that indicates
  1576.  *             whether the RGB data can transfered directly from the RGB capture
  1577.  *             card to the display device using DMA.
  1578.  *                A value of 0 indicates that direct DMA is not supported.
  1579.  *                A value of 1 indicates that direct DMA is supported.
  1580.  *
  1581.  * Return:  RGBIsDirectDMASupported either returns 0 if successful or an
  1582.  *          appropriate error value.
  1583.  */
  1584. API ( unsigned long, RGBAPI,
  1585. RGBSetDMADirect, (
  1586.    HRGB  hRGB,
  1587.    signed long bDMADirect ))
  1588. /*
  1589.  * Summary: Enables or disables direct DMA of the RGB data from the RGB capture
  1590.  *          card to a supported display device.
  1591.  *
  1592.  * Args:    hRGB IN
  1593.  *             The RGB capture handle.
  1594.  *
  1595.  *          bDMADirect IN
  1596.  *             A value of 0 disables direct DMA.
  1597.  *             A value of 1 enables direct DMA.
  1598.  *
  1599.  * Return:  RGBSetDMADirect either returns 0 if successful or an appropriate
  1600.  *          error value.
  1601.  */
  1602. API ( unsigned long, RGBAPI,
  1603. RGBGetDMADirect, (
  1604.    HRGB  hRGB,
  1605.    signed long *pBDMADirect ))
  1606. /*
  1607.  * Summary: Returns a value indicating wether the specified RGB capture is using
  1608.  *          direct DMA to transfer RGB data from RGB capture card to the display
  1609.  *          device.
  1610.  *
  1611.  * Args:    hRGB IN
  1612.  *             The RGB capture handle.
  1613.  *
  1614.  *          bDMADirect IN
  1615.  *             Pointer to a variable that receives a value that indicates
  1616.  *             whether the RGB data is being transfered using direct DMA.
  1617.  *                A value of 0 indicates that direct DMA is not being used.
  1618.  *                A value of 1 indicates that direct DMA is being used.
  1619.  *
  1620.  * Return:  RGBGetDMADirect either returns 0 if successful or an appropriate
  1621.  *          error value.
  1622.  */
  1623. /******************************************************************************/
  1624. API ( unsigned long, RGBAPI,
  1625. RGBSetDownScaling, (
  1626.    HRGB  hRGB,
  1627.    long  bFastScaling ))
  1628. /*
  1629.  * Summary: Changes the scaling used on the RGB data when drawing on a window. 
  1630.  *
  1631.  *          If bFastScaling is true, and the window is smaller than the capture,
  1632.  *          the downscaling is done in hardware on the capture card before DMA. 
  1633.  *          If bFastScaling is false the DMA is 1:1 and the scaling is handled
  1634.  *          by the graphics system.
  1635.  *
  1636.  *          When the capture has been set to DMA to system memory through the 
  1637.  *          RGBSetDMADirect call then bFastScaling additionally enables a 
  1638.  *          slower, but high quality, drawing algorithm.
  1639.  *          
  1640.  * Args:    hRGB IN
  1641.  *             The RGB capture handle.
  1642.  *
  1643.  *          bFastScaling IN
  1644.  *             A value of 0 disables scaling on the capture card.
  1645.  *             A value of 1 enables scaling on the capture card.
  1646.  *
  1647.  * Return:  RGBGetDMADirect either returns 0 if successful or an appropriate
  1648.  *          error value.
  1649.  */
  1650. API ( unsigned long, RGBAPI,
  1651. RGBGetDownScaling, (
  1652.    HRGB  hRGB,
  1653.    long  *pBFastScaling ))
  1654. /*
  1655.  * Summary: Returns a value indicating whether the specified RGB capture is 
  1656.  *          scaling the captured data before DMA across the the PCI bus.
  1657.  *
  1658.  * Args:    hRGB IN
  1659.  *             The RGB capture handle.
  1660.  *
  1661.  *          bDMADirect IN
  1662.  *             Pointer to a variable that receives a value that indicates
  1663.  *             whether the RGB data is being scaled on the capture card.
  1664.  *                A value of 0 indicates that scaling on the capture card is
  1665.  *                diasbled.
  1666.  *                A value of 1 indicates that scaling on the capture card is
  1667.  *                enabled.
  1668.  *
  1669.  * Return:  RGBGetDMADirect either returns 0 if successful or an appropriate
  1670.  *          error value.
  1671.  */
  1672. /******************************************************************************/
  1673. API ( unsigned long, RGBAPI,
  1674. RGBSetFrameCapturedFn, (
  1675.    HRGB                 hRGB,
  1676.    PRGBFRAMECAPTUREDFN  pFrameCapturedFn,
  1677.    unsigned long        userData ))
  1678. /*
  1679.  * Summary: Sets and unsets a Frame Captured callback function.
  1680.  *
  1681.  * Purpose: When a frame of RGB data has been captured the RGB SDK uses a
  1682.  *          default handler to draw the RGB frame to the window and set up the
  1683.  *          next RGB capture. RGBSetFrameCapturedFn allows an application to
  1684.  *          specify a callback function which will be executed instead of the
  1685.  *          default handler. From within this callback an application can run
  1686.  *          the default handler by calling RGBDrawFrame.
  1687.  *          Please see RGB.H for more information regarding the Frame Captured
  1688.  *          callback function in particular its use when direct DMA is being
  1689.  *          used for the RGB capture.
  1690.  *          
  1691.  * Args:    hRGB IN
  1692.  *             The RGB capture handle.
  1693.  *
  1694.  *          pFrameCapturedFn IN
  1695.  *             Pointer to an application defined Frame Captured callback
  1696.  *             function.
  1697.  *             If this value is NULL, the default handler is restored.
  1698.  *
  1699.  *          userData IN
  1700.  *             Application-determined context to pass to the Frame Captured
  1701.  *             function.
  1702.  *
  1703.  *
  1704.  * Return:  RGBSetFrameCapturedFn either returns 0 if successful or an
  1705.  *          appropriate error value.
  1706.  */
  1707. API ( unsigned long, RGBAPI,
  1708. RGBDrawFrame, (
  1709.    HRGB  hRGB ))
  1710. /*
  1711.  * Summary: Calls the default Frame Captured handler. Can only be used from
  1712.  *          within an application defined Frame Captured callback function.
  1713.  *
  1714.  * Purpose: The SDK's default Frame Captured function draws the RGB data within
  1715.  *          the window and initiates the next RGB capture. An application that
  1716.  *          has implemented a Frame Captured callback function can call
  1717.  *          RGBDrawFrame to run the default handler.
  1718.  *          
  1719.  * Args:    hRGB IN
  1720.  *             The RGB capture handle.
  1721.  *
  1722.  * Return:  RGBDrawFrame either returns 0 if successful or an appropriate error
  1723.  *          value.
  1724.  */
  1725. #if ( defined ( _UNICODE ) || defined ( UNICODE ))
  1726. #define RGBSaveBitmap         RGBSaveBitmapW
  1727. #else
  1728. #define RGBSaveBitmap         RGBSaveBitmapA
  1729. #endif
  1730. API ( unsigned long, RGBAPI,
  1731. RGBSaveBitmapA, (
  1732.    HRGB                 hRGB,
  1733.    LPBITMAPINFOHEADER   pBitmapInfo,
  1734.    PVOID                pBitmapBits,
  1735.    const char           *pFileName ))
  1736. API ( unsigned long, RGBAPI,
  1737. RGBSaveBitmapW, (
  1738.    HRGB                 hRGB,
  1739.    LPBITMAPINFOHEADER   pBitmapInfo,
  1740.    PVOID                pBitmapBits,
  1741.    const wchar_t        *pFileName ))
  1742. /*
  1743.  * Summary: Saves the RGB capture to a windows bitmap file.
  1744.  *
  1745.  *          
  1746.  * Args:    hRGB IN
  1747.  *             The RGB capture handle.
  1748.  *
  1749.  * Return:  RGBDrawFrame either returns 0 if successful or an appropriate error
  1750.  *          value.
  1751.  */
  1752. /******************************************************************************/
  1753. API ( unsigned long, RGBAPI,
  1754. RGBSetModeChangedFn, (
  1755.    HRGB              hRGB,
  1756.    PRGBMODECHANGEDFN pModeChangedFn,
  1757.    unsigned long     userData ))
  1758. /*
  1759.  * Summary: Sets and unsets a Mode Changed callback function.
  1760.  *
  1761.  * Purpose: The SDK's default Mode Changed function initialses the new video
  1762.  *          mode with default values for capture height, capture width, phase,
  1763.  *          black level, etc. RGBSetModeChangedFn allows an application to
  1764.  *          specify a callback function which will be executed after the default
  1765.  *          values have been initialised but prior to them being sent to the
  1766.  *          RGB capture card. This allows an application to override the default
  1767.  *          values with application defined ones.
  1768.  *          Please see RGB.H for more information regarding the Mode Changed
  1769.  *          callback function.
  1770.  * 
  1771.  * Args:    hRGB IN
  1772.  *             The RGB capture handle.
  1773.  *
  1774.  *          pModeChangedFn IN
  1775.  *             Pointer to an application defined Mode Changed callback function.
  1776.  *             If this value is NULL, the default handler is restored.
  1777.  *
  1778.  *          userData IN
  1779.  *             Application-determined context to pass to the Frame Captured
  1780.  *             callback function.
  1781.  *
  1782.  * Return:  RGBSetModeChangedFn either returns 0 if successful or an appropriate
  1783.  *          error value.
  1784.  */
  1785. /******************************************************************************/
  1786. API ( unsigned long, RGBAPI,
  1787. RGBSetNoSignalFn, (
  1788.    HRGB           hRGB,
  1789.    PRGBNOSIGNALFN pNoSignalFn,
  1790.    unsigned long  userData ))
  1791. /*
  1792.  * Summary: Sets and unsets a No Signal callback function.
  1793.  *
  1794.  * Purpose: When the specified RGB capture becomes No Signal the RGB SDK uses a
  1795.  *          default handler to re-detect the video source and to display the
  1796.  *          "No Signal" message. RGBSetNoSignalFn allows an application to
  1797.  *          specify a callback function which will be executed instead of the
  1798.  *          default handler. From within this callback an application can run
  1799.  *          the default handler by calling RGBNoSignal.
  1800.  *          Please see RGB.H for more information regarding the No Signal
  1801.  *          callback function.
  1802.  *          
  1803.  * Args:    hRGB IN
  1804.  *             The RGB capture handle.
  1805.  *
  1806.  *          pNoSignalFn IN
  1807.  *             Pointer to an application defined No Signal callback function.
  1808.  *             If this value is NULL, the default handler is restored.
  1809.  *
  1810.  *          userData IN
  1811.  *             Application-determined context to pass to the No Signal callback
  1812.  *             function.
  1813.  *
  1814.  *
  1815.  * Return:  RGBSetNoSignalFn either returns 0 if successful or an
  1816.  *          appropriate error value.
  1817.  */
  1818. API ( unsigned long, RGBAPI,
  1819. RGBNoSignal, (
  1820.    HRGB  hRGB ))
  1821. /*
  1822.  * Summary: Calls the default No Signal handler. Can only be used from within
  1823.  *          an application defined No Signal callback function.
  1824.  *
  1825.  * Purpose: The SDK's default No Signal handler sets up the capture to re-detect
  1826.  *          the video source and displays the "No Signal" text within the
  1827.  *          window. An application that has implemented a No Signal callback
  1828.  *          function can call RGBNoSignal to run the default handler.
  1829.  *          
  1830.  * Args:    hRGB IN
  1831.  *             The RGB capture handle.
  1832.  *
  1833.  * Return:  RGBNoSignal either returns 0 if successful or an appropriate error
  1834.  *          value.
  1835.  */
  1836. API ( unsigned long, RGBAPI,
  1837. RGBSetDrawNoSignalFn, (
  1838.     HRGB                hRGB,
  1839.     PRGBDRAWNOSIGNALFN  pDrawFn,
  1840.     unsigned long       userData ))
  1841. /*
  1842.  * Summary: Sets and unsets a No Signal drawing callback function.
  1843.  *
  1844.  * Purpose: When there is No Signal the SDK's default painting function will 
  1845.  *          draw a "No Signal" message in the window. This function can be 
  1846.  *          used register a custom callback to override the drawing of the 
  1847.  *          message. The callback is called upon receipt of a WM_PAINT message.
  1848.  *
  1849.  * Args:    hRGB  IN
  1850.  *             The RGB capture handle.
  1851.  *
  1852.  *          pDrawFn IN
  1853.  *             Pointer to an application defined drawing callback function.
  1854.  *             If this value is NULL, the default handler is restored.
  1855.  *
  1856.  *          userData IN
  1857.  *             Application-determined context to pass to the drawing callback
  1858.  *             function.
  1859.  *
  1860.  * Return:  RGBSetDrawNoSignalFn either returns 0 if successful or an
  1861.  *          appropriate error value.
  1862.  */
  1863. /******************************************************************************/
  1864. API ( unsigned long, RGBAPI,
  1865. RGBSetInvalidSignalFn, (
  1866.    HRGB                 hRGB,
  1867.    PRGBINVALIDSIGNALFN  pInvalidSignalFn,
  1868.    unsigned long        userData ))
  1869. /*
  1870.  * Summary: Sets and unsets an Invalid Signal callback function that is called
  1871.  *          when the signal detected is beyond the capabilities of the hardware.
  1872.  *
  1873.  * Purpose: When the specified RGB capture becomes Invalid Signal the RGB SDK
  1874.  *          uses a default handler to re-detect the video source and to display
  1875.  *          the "Invalid Signal" text. RGBSetInvalidSignalFn allows an
  1876.  *          application to specify a callback function which will be executed
  1877.  *          instead of the default handler. From within this callback an
  1878.  *          application can run the default handler by calling RGBInvalidSignal.
  1879.  *          Please see RGB.H for more information regarding the Invalid Signal
  1880.  *          callback function.
  1881.  *          
  1882.  * Args:    hRGB IN
  1883.  *             The RGB capture handle.
  1884.  *
  1885.  *          pInvalidSignalFn IN
  1886.  *             Pointer to an application defined Invalid Signal callback
  1887.  *             function.
  1888.  *             If this value is NULL, the default handler is restored.
  1889.  *
  1890.  *          userData IN
  1891.  *             Application-determined context to pass to the Invalid Signal
  1892.  *             callback function.
  1893.  *
  1894.  *
  1895.  * Return:  RGBSetInvalidSignalFn either returns 0 if successful or an
  1896.  *          appropriate error value.
  1897.  */
  1898. API ( unsigned long, RGBAPI,
  1899. RGBInvalidSignal, (
  1900.    HRGB           hRGB,
  1901.    unsigned long  horClock,
  1902.    unsigned long  verClock ))
  1903. /*
  1904.  * Summary: Calls the default Invalid Signal handler. Can only be used from
  1905.  *          within an application defined Invalid Signal callback function.
  1906.  *
  1907.  * Purpose: The SDK's default Invalid Signal handler sets up the capture to
  1908.  *          re-detect the video source and displays the "Invalid Signal" text
  1909.  *          within the window. An application that has implemented an Invalid
  1910.  *          Signal callback function can call RGBInvalidSignal to run the
  1911.  *          default handler.
  1912.  *          
  1913.  * Args:    hRGB IN
  1914.  *             The RGB capture handle.
  1915.  *
  1916.  * Return:  RGBInvalidSignal either returns 0 if successful or an appropriate
  1917.  *          error value.
  1918.  */
  1919. API ( unsigned long, RGBAPI,
  1920. RGBSetDrawInvalidSignalFn, ( 
  1921.    HRGB                    hRGB,
  1922.    PRGBDRAWINVALIDSIGNALFN pDrawFn,
  1923.    unsigned long           userData ))
  1924. /*
  1925.  * Summary: Sets and unsets a Invalid Signal drawing callback function.
  1926.  *
  1927.  * Purpose: When there is and Invalid Signal the SDK's default painting 
  1928.  *          function will draw a message in the window showing the sync rates. 
  1929.  *          This function can be used register a custom callback to override
  1930.  *          the drawing of the message. The callback is called upon receipt
  1931.  *          of a WM_PAINT message.
  1932.  *
  1933.  * Args:    hRGB  IN
  1934.  *             The RGB capture handle.
  1935.  *
  1936.  *          pDrawFn IN
  1937.  *             Pointer to an application defined drawing callback function.
  1938.  *             If this value is NULL, the default handler is restored.
  1939.  *
  1940.  *          userData IN
  1941.  *             Application-determined context to pass to the drawing callback
  1942.  *             function.
  1943.  *
  1944.  * Return:  RGBSetDrawInvalidSignalFn either returns 0 if successful or an
  1945.  *          appropriate error value.
  1946.  */
  1947. /******************************************************************************/
  1948. API ( unsigned long, RGBAPI,
  1949. RGBSetErrorFn, (
  1950.    HRGB           hRGB,
  1951.    PRGBERRORFN    pErrorFn,
  1952.    unsigned long  userData ))
  1953. /*
  1954.  * Summary: Sets and unsets an Error callback function that is called when the
  1955.  *          SDK detects a non-recoverable error.
  1956.  *
  1957.  * Purpose: RGBSetErrorFn allows an application to specify a callback function
  1958.  *          which will be executed when a non-recoverable error has occured
  1959.  *          within the RGB SDK.
  1960.  *          It is the applications responsibility to close the RGB capture using
  1961.  *          RGBCloseInput when the Error callback function is executed.
  1962.  *          
  1963.  * Args:    hRGB IN
  1964.  *             The RGB capture handle.
  1965.  *
  1966.  *          pErrorFn IN
  1967.  *             Pointer to an application defined Error callback function.
  1968.  *             If this value is NULL, the default handler is restored.
  1969.  *
  1970.  *          userData IN
  1971.  *             Application-determined context to pass to the Error callback
  1972.  *             function.
  1973.  *
  1974.  *
  1975.  * Return:  RGBSetErrorFn either returns 0 if successful or an
  1976.  *          appropriate error value.
  1977.  */
  1978. /******************************************************************************/
  1979. API ( unsigned long, RGBAPI,
  1980. RGBSetValueChangedFn, (
  1981.    HRGB                 hRGB,
  1982.    PRGBVALUECHANGEDFN   pValueChangedFn,
  1983.    unsigned long        userData ))
  1984. /*
  1985.  * Summary: Sets and unsets a Value Changed function that is called only for
  1986.  *          DGC133 / VisionRGB-X capture cards when another capture on the same
  1987.  *          input as this capture has changed one of the following values:
  1988.  *          
  1989.  *             Horizontal Position.
  1990.  *             Horizontal Scale.
  1991.  *             Vertical Position.
  1992.  *             Capture Width.
  1993.  *             Capture Height.
  1994.  *             Brightness.
  1995.  *             Contrast.
  1996.  *             Black level.
  1997.  *             Phase.
  1998.  *          
  1999.  * Args:    hRGB IN
  2000.  *             The RGB capture handle.
  2001.  *
  2002.  *          pValueChangedFn IN
  2003.  *             Pointer to an application defined Value Changed callback function.
  2004.  *             If this value is NULL, the default handler is restored.
  2005.  *
  2006.  *          userData IN
  2007.  *             Application-determined context to pass to the Value Changed
  2008.  *             callback function.
  2009.  *
  2010.  *
  2011.  * Return:  RGBSetValueChangedFn either returns 0 if successful or an
  2012.  *          appropriate error value.
  2013.  */
  2014. /******************************************************************************/
  2015. API ( unsigned long, RGBAPI,
  2016. RGBStartCapture, (
  2017.    HRGB  hRGB ))
  2018. /*
  2019.  * Summary: Starts the RGB capture for RGB applications not using RGBSetWindow.
  2020.  *
  2021.  * Args:    hRGB IN
  2022.  *             The RGB capture handle.
  2023.  *
  2024.  * Return:  RGBStartCapture either returns 0 if successful or an
  2025.  *          appropriate error value.
  2026.  */
  2027. /******************************************************************************/
  2028. API ( unsigned long, RGBAPI,
  2029. RGBStopCapture, (
  2030.    HRGB  hRGB ))
  2031. /*
  2032.  * Summary: Stops the RGB capture for RGB applications not using RGBSetWindow.
  2033.  *
  2034.  * Args:    hRGB IN
  2035.  *             The RGB capture handle.
  2036.  *
  2037.  * Return:  RGBStopCapture either returns 0 if successful or an
  2038.  *          appropriate error value.
  2039.  */
  2040. /******************************************************************************/
  2041. API ( unsigned long, RGBAPI,
  2042. RGBGetColourBalanceMinimum, (
  2043.    HRGB        hRGB,
  2044.    signed long *pBrightnessRed,
  2045.    signed long *pBrightnessGreen,
  2046.    signed long *pBrightnessBlue,
  2047.    signed long *pContrastRed,
  2048.    signed long *pContrastGreen,
  2049.    signed long *pContrastBlue ))
  2050. /*
  2051.  * Summary: Returns the minimum values that can be set for the colour balance.
  2052.  *
  2053.  * Args:    hRGB IN
  2054.  *             The RGB capture handle.
  2055.  *
  2056.  *          pBrightnessRed IN/OUT
  2057.  *             Pointer to a variable that receives the minimum value that can be
  2058.  *             set for red brightness.
  2059.  *
  2060.  *          pBrightnessGreen IN/OUT
  2061.  *             Pointer to a variable that receives the minimum value that can be
  2062.  *             set for green brightness.
  2063.  *
  2064.  *          pBrightnessBlue IN/OUT
  2065.  *             Pointer to a variable that receives the minimum value that can be
  2066.  *             set for blue brightness.
  2067.  *
  2068.  *          pContrastRed IN/OUT
  2069.  *             Pointer to a variable that receives the minimum value that can be
  2070.  *             set for red contrast.
  2071.  *
  2072.  *          pContrastGreen IN/OUT
  2073.  *             Pointer to a variable that receives the minimum value that can be
  2074.  *             set for green contrast.
  2075.  *
  2076.  *          pContrastBlue IN/OUT
  2077.  *             Pointer to a variable that receives the minimum value that can be
  2078.  *             set for blue contrast.
  2079.  *
  2080.  * Return:  RGBGetColourBalanceMinimum either returns 0 if successful or an
  2081.  *          appropriate error value.
  2082.  */
  2083. API ( unsigned long, RGBAPI,
  2084. RGBGetColourBalanceMaximum, (
  2085.    HRGB        hRGB,
  2086.    signed long *pBrightnessRed,
  2087.    signed long *pBrightnessGreen,
  2088.    signed long *pBrightnessBlue,
  2089.    signed long *pContrastRed,
  2090.    signed long *pContrastGreen,
  2091.    signed long *pContrastBlue ))
  2092. /*
  2093.  * Summary: Returns the maximum values that can be set for the colour balance.
  2094.  *
  2095.  * Args:    hRGB IN
  2096.  *             The RGB capture handle.
  2097.  *
  2098.  *          pBrightnessRed IN/OUT
  2099.  *             Pointer to a variable that receives the maximum value that can be
  2100.  *             set for red brightness.
  2101.  *
  2102.  *          pBrightnessGreen IN/OUT
  2103.  *             Pointer to a variable that receives the maximum value that can be
  2104.  *             set for green brightness.
  2105.  *
  2106.  *          pBrightnessBlue IN/OUT
  2107.  *             Pointer to a variable that receives the maximum value that can be
  2108.  *             set for blue brightness.
  2109.  *
  2110.  *          pContrastRed IN/OUT
  2111.  *             Pointer to a variable that receives the maximum value that can be
  2112.  *             set for red contrast.
  2113.  *
  2114.  *          pContrastGreen IN/OUT
  2115.  *             Pointer to a variable that receives the maximum value that can be
  2116.  *             set for green contrast.
  2117.  *
  2118.  *          pContrastBlue IN/OUT
  2119.  *             Pointer to a variable that receives the minimum value that can be
  2120.  *             set for blue contrast.
  2121.  *
  2122.  * Return:  RGBGetColourBalanceMaximum either returns 0 if successful or an
  2123.  *          appropriate error value.
  2124.  */
  2125. API ( unsigned long, RGBAPI,
  2126. RGBGetColourBalanceDefault, (
  2127.    HRGB        hRGB,
  2128.    signed long *pBrightnessRed,
  2129.    signed long *pBrightnessGreen,
  2130.    signed long *pBrightnessBlue,
  2131.    signed long *pContrastRed,
  2132.    signed long *pContrastGreen,
  2133.    signed long *pContrastBlue ))
  2134. /*
  2135.  * Summary: Returns the default values that can be set for the colour balance.
  2136.  *
  2137.  * Args:    hRGB IN
  2138.  *             The RGB capture handle.
  2139.  *
  2140.  *          pBrightnessRed IN/OUT
  2141.  *             Pointer to a variable that receives the default value that can be
  2142.  *             set for red brightness.
  2143.  *
  2144.  *          pBrightnessGreen IN/OUT
  2145.  *             Pointer to a variable that receives the default value that can be
  2146.  *             set for green brightness.
  2147.  *
  2148.  *          pBrightnessBlue IN/OUT
  2149.  *             Pointer to a variable that receives the default value that can be
  2150.  *             set for blue brightness.
  2151.  *
  2152.  *          pContrastRed IN/OUT
  2153.  *             Pointer to a variable that receives the default value that can be
  2154.  *             set for red contrast.
  2155.  *
  2156.  *          pContrastGreen IN/OUT
  2157.  *             Pointer to a variable that receives the default value that can be
  2158.  *             set for green contrast.
  2159.  *
  2160.  *          pContrastBlue IN/OUT
  2161.  *             Pointer to a variable that receives the default value that can be
  2162.  *             set for blue contrast.
  2163.  *
  2164.  * Return:  RGBGetColourBalanceDefault either returns 0 if successful or an
  2165.  *          appropriate error value.
  2166.  */
  2167. API ( unsigned long, RGBAPI,
  2168. RGBGetColourBalance, (
  2169.    HRGB        hRGB,
  2170.    signed long *pBrightnessRed,
  2171.    signed long *pBrightnessGreen,
  2172.    signed long *pBrightnessBlue,
  2173.    signed long *pContrastRed,
  2174.    signed long *pContrastGreen,
  2175.    signed long *pContrastBlue ))
  2176. /*
  2177.  * Summary: Returns the current values for the colour balance .
  2178.  *
  2179.  * Args:    hRGB IN
  2180.  *             The RGB capture handle.
  2181.  *
  2182.  *          pBrightnessRed IN/OUT
  2183.  *             Pointer to a variable that receives the current value of the red
  2184.  *             brightness.
  2185.  *
  2186.  *          pBrightnessGreen IN/OUT
  2187.  *             Pointer to a variable that receives the current value of the
  2188.  *             green brightness.
  2189.  *
  2190.  *          pBrightnessBlue IN/OUT
  2191.  *             Pointer to a variable that receives the current value of the blue
  2192.  *             brightness.
  2193.  *
  2194.  *          pContrastRed IN/OUT
  2195.  *             Pointer to a variable that receives the current value of the red
  2196.  *             contrast.
  2197.  *
  2198.  *          pContrastGreen IN/OUT
  2199.  *             Pointer to a variable that receives the current value of the
  2200.  *             green contrast.
  2201.  *
  2202.  *          pContrastBlue IN/OUT
  2203.  *             Pointer to a variable that receives the current value of the blue
  2204.  *             contrast.
  2205.  *
  2206.  * Return:  RGBGetColourBalance either returns 0 if successful or an
  2207.  *          appropriate error value.
  2208.  */
  2209.    
  2210. API ( unsigned long, RGBAPI,
  2211. RGBSetColourBalance, (
  2212.    HRGB        hRGB,
  2213.    signed long brightnessRed,
  2214.    signed long brightnessGreen,
  2215.    signed long brightnessBlue,
  2216.    signed long contrastRed,
  2217.    signed long contrastGreen,
  2218.    signed long contrastBlue ))
  2219. /*
  2220.  * Summary: Sets the colour balance .
  2221.  *
  2222.  * Args:    hRGB IN
  2223.  *             The RGB capture handle.
  2224.  *
  2225.  *          brightnessRed IN
  2226.  *             The red brightness value to set.
  2227.  *
  2228.  *          brightnessGreen IN
  2229.  *             The green brightness value to set.
  2230.  *
  2231.  *          brightnessBlue IN
  2232.  *             The blue brightness value to set.
  2233.  *
  2234.  *          contrastRed IN
  2235.  *             The red contrast value to set.
  2236.  *
  2237.  *          contrastGreen IN
  2238.  *             The green contrast value to set.
  2239.  *
  2240.  *          contrastBlue IN
  2241.  *             The blue contrast value to set.
  2242.  *
  2243.  * Return:  RGBSetColourBalance either returns 0 if successful or an
  2244.  *          appropriate error value.
  2245.  */
  2246. /******************************************************************************/
  2247. API ( unsigned long, RGBAPI,
  2248. RGBGetModeInfo, ( 
  2249.    HRGB           hRGB,
  2250.    PRGBMODEINFO   pModeInfo ) )
  2251. /*
  2252.  * Summary: Function that returns information about the current mode.
  2253.  *
  2254.  * Args:    hRGB IN
  2255.  *             The RGB capture handle.
  2256.  *
  2257.  *          pModeInfo IN OUT
  2258.  *             Pointer to the structure to fill with the mode information. 
  2259.  *             The size field must be intialised before this function is 
  2260.  *             called.
  2261.  *
  2262.  * Return:  RGBGetModeInfo either returns 0 if successful or an appropriate 
  2263.  *          error value.
  2264.  */
  2265. /******************************************************************************/
  2266. API ( unsigned long, RGBAPI, 
  2267. RGBSetOutputSize, (
  2268.    HRGB           hRGB,
  2269.    unsigned long  uWidth,
  2270.    unsigned long  uHeight ) )
  2271. /*
  2272.  * Summary : Function which sets the size of the capture for RGB applications 
  2273.  *           not using RGBSetWindow. The output size is set to 1:1 with the
  2274.  *           incoming source upon a mode change.
  2275.  *
  2276.  * Args:    hRGB IN
  2277.  *             The RGB capture handle.
  2278.  *
  2279.  *          uWidth IN
  2280.  *             The width of the buffer to capture.
  2281.  *          
  2282.  *          uHeight IN
  2283.  *             The height of the buffer to capture.
  2284.  *
  2285.  * Return:  RGBSetOutputSize either returns 0 if successful or an appropriate 
  2286.  *          error value.
  2287.  */
  2288. /******************************************************************************/
  2289. API ( unsigned long, RGBAPI, 
  2290. RGBGetOutputSize, (
  2291.    HRGB           hRGB,
  2292.    unsigned long  *pWidth,
  2293.    unsigned long  *pHeight ) )
  2294. /*
  2295.  * Summary : Function which gets the size of the capture for RGB applications 
  2296.  *           not using RGBSetWindow.
  2297.  *
  2298.  * Args:    hRGB IN
  2299.  *             The RGB capture handle.
  2300.  *
  2301.  *          pWidth OUT
  2302.  *             The width of the buffer captured.
  2303.  *          
  2304.  *          pHeight OUT
  2305.  *             The height of the buffer captured.
  2306.  *
  2307.  * Return:  RGBGetOutputSize either returns 0 if successful or an appropriate 
  2308.  *          error value.
  2309.  */
  2310. /******************************************************************************/
  2311. #ifdef API
  2312. #undef API
  2313. #endif
  2314. /******************************************************************************/