GSETCLIP()
 Define el área de visualización permitida
------------------------------------------------------------------------------
 Sintaxis

     GSETCLIP([<nX1>, <nY1>, <nX2>, <nY2>]) --> aAntRegión

 Argumentos

     <nX1> es un valor numérico que representa la coordenada en el eje
     horizontal (X) (columna) de la esquina superior izquierda de la región.
      Se mide en píxeles.

     <nY1> es un valor numérico que representa la coordenada en el eje
     vertical (Y) (fila) de la esquina superior izquierda de la región. Se
     mide en píxeles.

     <nX2> es un valor numérico que representa la coordenada en el eje
     horizontal (X) (columna) de la esquina inferior derecha de la región.
     Se mide en píxeles.

     <nY2> es un valor numérico que representa la coordenada en el eje
     vertical (Y) (fila) de la esquina inferior derecha de la región. Se
     mide en píxeles.

     Se deben especificar todos los parámetros o ninguno.

 Devuelve

     Si se especifican todos los argumentos, GSETCLIP() devuelve una matriz
     con cuatro valores numéricos que representan la nueva región de
     recorte. Si no se especifica ningún argumento, devuelve la región
     actual de recorte.

 Descripción

     GSETCLIP() limita el área de visualización activa a una porción de la
     pantalla. Su acción sólo afecta a las funciones gráficas de CA-Clipper
     que comienzan con "G", tales como GRECT(), GLINE(), GBMPDISP(). Las
     funciones de emulación de texto como DEVOUT() y QOUT() no tienen en
     cuenta la región de recorte. Para mejorar la velocidad de visualización
     de texto se ha simplificado el procedimiento de recorte para la función
     gráfica GWRITEAT(). En modo gráfico, CA-Clipper comprueba si el
     carácter que se va a escribir está por completo dentro de la región de
     recorte. Si es así, se visualiza el carácter; de lo contrario, no se
     visualiza.

 Notas

     La región de recorte inicial es la pantalla entera. Para especificar
     la región de recorte máxima (lo que equivale a deshabilitar el
     recorte), es necesario pasar a GSETCLIP() los parámetros de la pantalla
     entera. Para ello tiene dos posibilidades:

      Guardar la información de la región de recorte inmediatamente
        después del cambio. En ese momento es equivalente a la pantalla entera:

        SET VIDEOMODE TO LLG_VIDEO_VGA_640_480_16
        // Obtiene información de la región de recorte
        aMaxRecorte := GSETCLIP()
        // Realiza una operación de recorte
        GSETCLIP(<lista coordenadas >)
        .
        .
        .
        // Código
        .
        .
        .
        // Restaura el área de recorte
        GSETCLIP(aMaxRecorte[1], aMaxRecorte[2], aMaxRecorte[3], ;
        aMaxRecorte[4])

      Utilizar GMODE(), que devuelve el tamaño de la pantalla en
        píxeles:

        // Cambia a modo gráfico
        SET VIDEOMODE TO LLG_VIDEO_VGA_640_480_16

        // Realiza una operación de recorte
        GSETCLIP(<lista de coordenadas >)
        .
        .
        .
        // Código
        .
        .
        .
        // Restaura el área de recorte
        GSETCLIP(0, 0, ;
        GMODE()[LLG_MODE_GRAPH_ROW], ;
        GMODE()[LLG_MODE_GRAPH_COL])

 Ejemplos

      Este ejemplo limita la visualización a una porción de la
        pantalla:

        // Cambia a modo gráfico
        SET VIDEOMODE TO LLG_VIDEO_VGA_640_480_16


        // Limita la región de visualización
        GSETCLIP(100, 100, 300, 300)

        DO WHILE ! (INKEY() == K_ESC)
           DibujaArea()
        // Llama a una función de dibujo
        ENDDO
        QUIT                     // Fin de la aplicación

      Este ejemplo guarda los parámetros de la región de recorte
        para utilizarlos más adelante:

        // Cambia a modo gráfico
        SET VIDEOMODE TO LLG_VIDEO_VGA_640_480_16

        // Obtiene los valores actuales
        aAntRegion := GSETCLIP()

        // Limita la visualización a una porción de la pantalla
        GSETCLIP(100,100,300,300)

        DO WHILE !(INKEY() == K_ESC)
           DibujaArea()
           // Llama a una función de dibujo
        ENDDO

        // Restablece la región de recorte inicial
        GSETCLIP(aAntRegion[1],;
           aAntRegion[2],;
           aAntRegion[3],;
           aAntRegion[4])
        QUIT                        // Fin de la aplicación

 Ficheros   La biblioteca asociada es LLIBG.LIB,
            el fichero de cabecera asociado es Llibg.ch.

 To download this example - click here.

See Also: GLINE() GRECT() GWRITEAT() GBMPDISP()