Método GraphicsPathIterator::NextMarker(constGraphicsPath*) (gdipluspath.h)

El método GraphicsPathIterator::NextMarker obtiene la siguiente sección delimitada por el marcador de la ruta de acceso asociada del iterador.

Sintaxis

INT NextMarker(
  [out] const GraphicsPath *path
);

Parámetros

[out] path

Tipo: GraphicsPath*

Puntero a un objeto GraphicsPath . Este método establece los puntos de datos de este objeto GraphicsPath para que coincidan con los puntos de datos de la sección recuperada.

Valor devuelto

Tipo: INT

Este método devuelve el número de puntos de datos de la sección recuperada. Si no hay más secciones delimitadas por marcadores para recuperar, este método devuelve 0.

Comentarios

Una ruta de acceso tiene una matriz de puntos de datos que definen sus líneas y curvas. Puede llamar al método SetMarker de una ruta de acceso para designar determinados puntos de la matriz como marcadores. Esos puntos de marcador dividen la ruta de acceso en secciones.

La primera vez que llames al método GraphicsPathIterator::NextMarker de un iterador , obtiene la primera sección delimitada por marcador de la ruta de acceso asociada del iterador. La segunda vez, obtiene la segunda sección, etc. Cada vez que se llama a GraphicsPathIterator::NextSubpath, devuelve el número de puntos de datos de la sección recuperada. Cuando no quedan secciones, devuelve 0.

Ejemplos

En el ejemplo siguiente se crea un objeto GraphicsPath y se agregan cinco figuras a la ruta de acceso. Las llamadas al método SetMarker colocan dos marcadores en la ruta de acceso. El primer marcador está al final de una figura y el segundo marcador está en medio de una figura. El código pasa la dirección del objeto GraphicsPath a un constructor GraphicsPathIterator para crear un iterador asociado a la ruta de acceso. A continuación, el código llama al método GraphicsPathIterator::NextMarker del iterador dos veces para obtener la segunda sección delimitada por marcador de la ruta de acceso. Por último, el código dibuja la sección recuperada de la ruta de acceso.


VOID NextMarkerExample(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a graphics path with five figures (subpaths).
   GraphicsPath path;

   path.AddRectangle(Rect(20, 20, 60, 30));
   path.SetMarker();                          // first marker

   path.AddLine(100, 20, 160, 50);
   path.AddArc(180, 20, 60, 30, 0.0f, 180.0f);

   path.AddRectangle(Rect(260, 20, 60, 30));

   path.AddLine(340, 20, 400, 50);
   path.SetMarker();                          // second marker
   path.AddArc(340, 20, 60, 30, 0.0f, 180.0f);
   path.CloseFigure();
  
   path.AddRectangle(Rect(420, 20, 60, 30));
 
   // Create an iterator, and associate it with the path.
   GraphicsPathIterator iterator(&path);

   // Get the second marker-delimited section by calling NextMarker twice.
   GraphicsPath section;
   INT count;
   count = iterator.NextMarker(&section);
   count = iterator.NextMarker(&section);

   // The variable "count" now holds the number of 
   // data points in the second marker-delimited section.

   // Draw the retrieved section.
   Pen bluePen(Color(255, 0, 0, 255));
   graphics.DrawPath(&bluePen, &section);
}

Requisitos

   
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdipluspath.h (incluya Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Crear y dibujar trazados

GetPathData

Graphicspath

GraphicsPathIterator

GraphicsPathIterator::NextSubpath (Métodos)

NextMarker

Paths