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(§ion);
count = iterator.NextMarker(§ion);
// 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, §ion);
}
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