wingdi.h


PolyDraw

La función PolyDraw traza un conjunto de segmentos de recta y curvas Bézier.

Sintaxis

BOOL PolyDraw(
    HDC hdc,               // manipulador a contexto de dispositivo 
    CONST POINT * lppt,    // dirección del array de puntos 
    CONST BYTE * lpbTypes, // dirección de identificadores de líneas y curvas
    int cCount             // número de puntos
   );

Parámetros:

hdc: identifica el contexto de dispositivo.

lppt: apunta a un array de estructuras POINT que contiene los puntos de final de cada segmento, y los puntos de final y de control de cada curva Bézier

lpbTypes: apunta a un array que especifica el uso para cada punto en el array lppt. Los tipos pueden ser uno de los siguientes:

Tipo Significado
PT_MOVETO Especifica que este punto es el comienzo de una figura separada. Este punto se convertirá en la nueva posición del cursor gráfico.
PT_LINETO Especifica que una línea será trazada desde la posición actual del cursor hasta este punto, que se convertirá en la nueva posición del cursor.
PT_BEZIERTO

Especifica que se trata de un punto de control o de final de una curva Bézier.

Los tipos PT_BEZIERTO siempre aparecen en grupos de tres. La posición actual del cursor gráfico define el punto de inicio de la curva Bézier. Los dos primeros puntos PT_BEZIERTO son puntos de control y el tercero es el punto de final. El punto de final se convierte en al posición actual del cursor. Si no hay tres puntos consecutivos PT_BEZIERTO se generará un error.

El tipo PT_LINETO o PT_BEZIERTO puede combinarse con el siguiente valor usando el operador de bits OR, para indicar que el punto correspondiente es el último punto de una figura cerrada:

Valor Significado
PT_CLOSEFIGURE

Especifica que la figura sea cerrada automáticamente después de que se procese el tipo PT_LINETO o PT_BEZIERTO actual. Se traza una línea desde este punto al más reciente del tipo PT_MOVETO o MoveToEx.

Este valor se combina con el tipo PT_LINETO para una línea, o con el tipo PT_BEZIERTO de un punto final para una curva Bézier, usando el operador de bits OR.

La posición actual del cursor será el punto final de la figura cerrada.

cCount: especifica el número total de puntos en el array lppt, es el mismo número de bytes en el array lpbTypes.

Valor de retorno

Si la función tiene éxito, el valor de retorno es TRUE.

Si la función falla, el valor de retorno es FALSE.

Observaciones

La función PolyDraw puede ser usada en lugar de llamadas consecutivas a funciones MoveToEx, LineTo y PolyBezierTo para trazar figuras separadas. Las líneas y curvas son trazadas usando la pluma actual y las figuras no se rellenan. Si existe un camino activo por una llamada a BeginPath, PolyDraw añade las figuras al camino.

Los puntos contenidos en el array lppt y en el array lpbTypes indican para cada punto si es parte de una operación MoveTo, LineTo o PolyBezierTo. Es también posible cerrar figuras.

Esta función actualiza la posición del cursor gráfico.