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

O método GraphicsPathIterator::NextMarker obtém a próxima seção delimitada por marcador do caminho associado desse iterador.

Sintaxe

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

Parâmetros

[out] path

Tipo: GraphicsPath*

Ponteiro para um objeto GraphicsPath . Esse método define os pontos de dados deste objeto GraphicsPath para corresponder aos pontos de dados da seção recuperada.

Valor retornado

Tipo: INT

Esse método retorna o número de pontos de dados na seção recuperada. Se não houver mais seções delimitadas por marcador a serem recuperadas, esse método retornará 0.

Comentários

Um caminho tem uma matriz de pontos de dados que definem suas linhas e curvas. Você pode chamar o método SetMarker de um caminho para designar determinados pontos na matriz como marcadores. Esses pontos de marcador dividem o caminho em seções.

Na primeira vez que você chamar o método GraphicsPathIterator::NextMarker de um iterador, ele obterá a primeira seção delimitada por marcador do caminho associado desse iterador. Na segunda vez, ele obtém a segunda seção e assim por diante. Cada vez que você chama GraphicsPathIterator::NextSubpath, ele retorna o número de pontos de dados na seção recuperada. Quando não houver seções restantes, ele retornará 0.

Exemplos

O exemplo a seguir cria um objeto GraphicsPath e adiciona cinco figuras ao caminho. As chamadas para o método SetMarker colocam dois marcadores no caminho. O primeiro marcador está no final de uma figura e o segundo marcador está no meio de uma figura. O código passa o endereço do objeto GraphicsPath para um construtor GraphicsPathIterator para criar um iterador associado ao caminho. Em seguida, o código chama o método GraphicsPathIterator::NextMarker do iterador duas vezes para obter a segunda seção delimitada por marcador do caminho. Por fim, o código desenha a seção recuperada do caminho.


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 com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdipluspath.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Construindo e desenhando demarcadores

GetPathData

Graphicspath

Graphicspathiterator

Métodos GraphicsPathIterator::NextSubpath

Nextmarker

Caminhos