Interface ID2D1GeometrySink (d2d1.h)
Descreve um caminho geométrico que pode conter linhas, arcos, curvas cúbicas de Bézier e curvas quadráticas de Bézier.
Herança
A interface ID2D1GeometrySink herda de ID2D1SimplifiedGeometrySink. ID2D1GeometrySink também tem estes tipos de membros:
Métodos
A interface ID2D1GeometrySink tem esses métodos.
ID2D1GeometrySink::AddArc Adiciona um único arco à geometria do caminho. |
ID2D1GeometrySink::AddArc Cria um único arco e o adiciona à geometria do caminho. |
ID2D1GeometrySink::AddBezier Cria uma curva de Bézier cúbica entre o ponto atual e o ponto final especificado. |
ID2D1GeometrySink::AddBezier Cria uma curva de Bézier cúbica entre o ponto atual e o ponto de extremidade especificado. |
ID2D1GeometrySink::AddLine Cria um segmento de linha entre o ponto atual e o ponto final especificado e o adiciona ao coletor de geometria. |
ID2D1GeometrySink::AddQuadraticBezier Cria uma curva de Bezier quadrática entre o ponto atual e o ponto final especificado. |
ID2D1GeometrySink::AddQuadraticBezier Cria uma curva quadrática de Bézier entre o ponto atual e o ponto de extremidade especificado e a adiciona ao coletor de geometria. |
ID2D1GeometrySink::AddQuadraticBeziers Adiciona uma sequência de segmentos de Bézier quadráticos como uma matriz em uma só chamada. |
Comentários
A interface ID2D1GeometrySink estende a interface ID2D1SimplifiedGeometrySink para adicionar suporte a arcos e béziers quadráticos, bem como funções para adicionar linhas únicas e béziers cúbicos.
Um coletor de geometria consiste em uma ou mais figuras. Cada figura é composta por um ou mais segmentos de linha, curva ou arco. Para criar uma figura, chame o método BeginFigure , especifique o ponto inicial da figura e, em seguida, use seus métodos Add (como AddLine e AddBezier) para adicionar segmentos. Quando terminar de adicionar segmentos, chame o método EndFigure . Você pode repetir essa sequência para criar números adicionais. Quando terminar de criar números, chame o método Close .
Exemplos
O exemplo a seguir cria um ID2D1PathGeometry, recupera um coletor e o usa para definir uma forma de ampulheta. Para obter o exemplo completo, consulte Como desenhar e preencher uma forma complexa.
ID2D1GeometrySink *pSink = NULL;
// Create a path geometry.
if (SUCCEEDED(hr))
{
hr = m_pD2DFactory->CreatePathGeometry(&m_pPathGeometry);
if (SUCCEEDED(hr))
{
// Write to the path geometry using the geometry sink.
hr = m_pPathGeometry->Open(&pSink);
if (SUCCEEDED(hr))
{
pSink->BeginFigure(
D2D1::Point2F(0, 0),
D2D1_FIGURE_BEGIN_FILLED
);
pSink->AddLine(D2D1::Point2F(200, 0));
pSink->AddBezier(
D2D1::BezierSegment(
D2D1::Point2F(150, 50),
D2D1::Point2F(150, 150),
D2D1::Point2F(200, 200))
);
pSink->AddLine(D2D1::Point2F(0, 200));
pSink->AddBezier(
D2D1::BezierSegment(
D2D1::Point2F(50, 150),
D2D1::Point2F(50, 50),
D2D1::Point2F(0, 0))
);
pSink->EndFigure(D2D1_FIGURE_END_CLOSED);
hr = pSink->Close();
}
SafeRelease(&pSink);
}
}
Requisitos
Cliente mínimo com suporte | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | d2d1.h |