Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Um wrapper para ID2D1Geometry.
Sintaxe
class CD2DGeometry : public CD2DResource;
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CD2DGeometria::CD2DGeometria | Constrói um objeto CD2DGeometry. |
| CD2DGeometria::~CD2DGeometria | O destruidor. Chamada quando um objeto geométrico D2D está a ser destruído. |
Métodos Públicos
| Nome | Description |
|---|---|
| CD2DGeometria::Anexar | Anexa a interface de recurso existente ao objeto |
| CD2DGeometria::CombinarCom Geometria | Combina esta geometria com a geometria especificada e armazena o resultado num ID2D1SimplifiedGeometrySink. |
| CD2DGeometria::CompareWithGeometry | Descreve a interseção entre esta geometria e a geometria especificada. A comparação é realizada usando a tolerância de achatamento especificada. |
| CD2DGeometria::ComputeArea | Calcula a área da geometria depois de esta ter sido transformada pela matriz especificada e achatada usando a tolerância especificada. |
| CD2DGeometria::ComputeLength | Calcula o comprimento da geometria como se cada segmento estivesse desenrolado numa linha. |
| CD2DGeometria::ComputePointAtLength | Calcula o ponto e o vetor tangente à distância especificada ao longo da geometria após terem sido transformados pela matriz especificada e achatados usando a tolerância especificada. |
| CD2DGeometria::D estroy | Destrói um objeto CD2DGeometry. (Sobrepõe CD2DResource::D estroy.) |
| CD2DGeometria::D etach | Desanexa a interface de recursos do objeto |
| CD2DGeometria::FillContainsPoint | Indica se a área preenchida pela geometria conteria o ponto especificado dada a tolerância de achatamento especificada. |
| CD2DGeometria::Get | Devolve a interface ID2D1Geometry |
| CD2DGeometria::GetBounds | |
| CD2DGeometria::AlargaFronteiras | Obtém os limites da geometria depois de esta ter sido alargada pela largura e estilo do traço especificados e transformada pela matriz especificada. |
| CD2DGeometria::ÉVálida | Verifica a validade do recurso (Sobrepõe CD2DResource::IsValid.) |
| CD2DGeometria::Resumo | Calcula o contorno da geometria e escreve o resultado num ID2D1SimplifiedGeometrySink. |
| CD2DGeometria::Simplificar | Cria uma versão simplificada da geometria que contém apenas linhas e (opcionalmente) curvas cúbicas de Bezier e escreve o resultado num ID2D1SimplifiedGeometrySink. |
| CD2DGeometria::StrokeContémPonto | Determina se o traço da geometria contém o ponto especificado dado a espessura, estilo e transformação do traço especificados. |
| CD2DGeometria::Tessellate | Cria-se um conjunto de triângulos no sentido dos ponteiros do relógio que cobrem a geometria depois de esta ter sido transformada usando a matriz especificada e achatada usando a tolerância especificada. |
| CD2DGeometria::Widen | Alarga a geometria pelo traço especificado e escreve o resultado num ID2D1SimplifiedGeometrySink depois de ter sido transformado pela matriz especificada e achatado usando a tolerância especificada. |
Operadores Públicos
| Nome | Description |
|---|---|
| CD2DGeometria::operador ID2D1Geometria* | Devolve a interface ID2D1Geometry |
Membros de Dados Protegidos
| Nome | Description |
|---|---|
| CD2DGeometria::m_pGeometry | Um apontador para um ID2D1Geometry. |
Hierarquia de herança
CD2DGeometry
Requerimentos
Cabeçalho: afxrendertarget.h
CD2DGeometria::~CD2DGeometria
O destruidor. Chamada quando um objeto geométrico D2D está a ser destruído.
virtual ~CD2DGeometry();
CD2DGeometria::Anexar
Anexa a interface de recurso existente ao objeto
void Attach(ID2D1Geometry* pResource);
Parâmetros
pResource
Interface de recursos existente. Não pode ser NULL
CD2DGeometria::CD2DGeometria
Constrói um objeto CD2DGeometry.
CD2DGeometry(
CRenderTarget* pParentTarget,
BOOL bAutoDestroy = TRUE);
Parâmetros
pParentTarget
Um ponteiro para o alvo de renderização.
bAutoDestroy
Indica que o objeto será destruído pelo proprietário (pParentTarget).
CD2DGeometria::CombinarCom Geometria
Combina esta geometria com a geometria especificada e armazena o resultado num ID2D1SimplifiedGeometrySink.
BOOL CombineWithGeometry(
CD2DGeometry& inputGeometry,
D2D1_COMBINE_MODE combineMode,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
inputGeometria
A geometria a combinar com este caso.
combineMode
O tipo de operação de combinação a realizar.
inputGeometryTransform
A transformação para aplicar ao inputGeometry antes de combinar.
geometrySink
O resultado da operação da combinação.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal das geometrias. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::CompareWithGeometry
Descreve a interseção entre esta geometria e a geometria especificada. A comparação é realizada usando a tolerância de achatamento especificada.
D2D1_GEOMETRY_RELATION CompareWithGeometry(
CD2DGeometry& inputGeometry,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
inputGeometria
A geometria a testar.
inputGeometryTransform
A transformação aplica-se ao inputGeometry.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal das geometrias. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::ComputeArea
Calcula a área da geometria depois de esta ter sido transformada pela matriz especificada e achatada usando a tolerância especificada.
BOOL ComputeArea(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& area,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformada aplica-se a esta geometria antes de calcular a sua área.
Área
Quando este método retorna, contém um apontador para a área da versão transformada e achatada desta geometria. Deve alocar espaço de armazenamento para este parâmetro.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal da geometria. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::ComputeLength
Calcula o comprimento da geometria como se cada segmento estivesse desenrolado numa linha.
BOOL ComputeLength(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& length,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformada aplica-se à geometria antes de calcular o seu comprimento.
length
Quando este método retorna, contém um apontador para o comprimento da geometria. Para geometrias fechadas, o comprimento inclui um segmento de fecho implícito. Deve alocar espaço de armazenamento para este parâmetro.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal da geometria. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::ComputePointAtLength
Calcula o ponto e o vetor tangente à distância especificada ao longo da geometria após terem sido transformados pela matriz especificada e achatados usando a tolerância especificada.
BOOL ComputePointAtLength(
FLOAT length,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DPointF& point,
CD2DPointF& unitTangentVector,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
length
A distância ao longo da geometria do ponto e tangente a encontrar. Se esta distância for inferior a 0, este método calcula o primeiro ponto na geometria. Se esta distância for maior do que o comprimento da geometria, este método calcula o último ponto da geometria.
worldTransform
A transformação a aplicar à geometria antes de calcular o ponto e tangente especificados.
ponto
A localização na distância especificada ao longo da geometria. Se a geometria for vazia, este ponto contém NaN como os seus valores x e y.
unitTangentVector
Quando este método retorna, contém um ponteiro para o vetor tangente à distância especificada ao longo da geometria. Se a geometria for vazia, este vetor contém NaN como os seus valores x e y. Deve alocar espaço de armazenamento para este parâmetro.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal da geometria. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::D estroy
Destrói um objeto CD2DGeometry.
virtual void Destroy();
CD2DGeometria::D etach
Desanexa a interface de recursos do objeto
ID2D1Geometry* Detach();
Valor de retorno
Apontador para interface de recursos destacada.
CD2DGeometria::FillContainsPoint
Indica se a área preenchida pela geometria conteria o ponto especificado dada a tolerância de achatamento especificada.
BOOL FillContainsPoint(
CD2DPointF point,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
ponto
O objetivo de testar.
worldTransform
A transformação aplica-se à geometria antes de testar para contenção.
contém
Quando este método retorna, contém um valor bool que é VERDADEIRO se a área preenchida pela geometria contiver ponto; caso contrário, FALSO. Deve alocar espaço de armazenamento para este parâmetro.
achatamentoTolerância
A precisão numérica com que o caminho geométrico preciso e a interseção do caminho são calculados. Pontos que falham o preenchimento por menos do que a tolerância continuam a ser considerados internos. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::Get
Devolve a interface ID2D1Geometry
ID2D1Geometry* Get();
Valor de retorno
Apontar para uma interface ID2D1Geometry ou NULL se o objeto ainda não estiver inicializado.
CD2DGeometria::GetBounds
BOOL GetBounds(
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds) const;
Parâmetros
worldTransform
Limites
Valor de retorno
CD2DGeometria::AlargaFronteiras
Obtém os limites da geometria depois de esta ter sido alargada pela largura e estilo do traço especificados e transformada pela matriz especificada.
BOOL GetWidenedBounds(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
Largura do traço
A quantidade para alargar a geometria traçando o seu contorno.
Estilo stroke
O estilo do traço que alarga a geometria.
worldTransform
Uma transformação para aplicar à geometria após a transformação da geometria e depois de a geometria ter sido traçada.
Limites
Quando este método retorna, contém os limites da geometria alargada. Deve alocar espaço de armazenamento para este parâmetro.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal das geometrias. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::ÉVálida
Verifica a validade dos recursos
virtual BOOL IsValid() const;
Valor de retorno
TRUE se o recurso for válido; caso contrário, FALSO.
CD2DGeometria::m_pGeometry
Um apontador para um ID2D1Geometry.
ID2D1Geometry* m_pGeometry;
CD2DGeometria::operador ID2D1Geometria*
Devolve a interface ID2D1Geometry
operator ID2D1Geometry*();
Valor de retorno
Apontar para uma interface ID2D1Geometry ou NULL se o objeto ainda não estiver inicializado.
CD2DGeometria::Resumo
Calcula o contorno da geometria e escreve o resultado num ID2D1SimplifiedGeometrySink.
BOOL Outline(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformação aplica-se ao contorno geométrico.
geometrySink
O ID2D1SimplifiedGeometrySink ao qual o contorno transformado da geometria é anexado.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal da geometria. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::Simplificar
Cria uma versão simplificada da geometria que contém apenas linhas e (opcionalmente) curvas cúbicas de Bezier e escreve o resultado num ID2D1SimplifiedGeometrySink.
BOOL Simplify(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
SimplificaçãoOpção
Um valor que especifica se a geometria simplificada deve conter curvas.
worldTransform
A transformada aplica-se à geometria simplificada.
geometrySink
O ID2D1SimplifiedGeometrySink ao qual a geometria simplificada é anexada.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal da geometria. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::StrokeContémPonto
Determina se o traço da geometria contém o ponto especificado dado a espessura, estilo e transformação do traço especificados.
BOOL StrokeContainsPoint(
CD2DPointF point,
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
ponto
O objetivo é testar a contenção.
Largura do traço
A espessura do traço a aplicar.
Estilo stroke
O estilo do traço a aplicar.
worldTransform
A transformação aplica-se à geometria traçada.
contém
Quando este método retorna, contém um valor booleano definido como TRUE se o traço da geometria contiver o ponto especificado; caso contrário, FALSO. Deve alocar espaço de armazenamento para este parâmetro.
achatamentoTolerância
A precisão numérica com que o caminho geométrico preciso e a interseção do caminho são calculados. Pontos que falham o curso por menos do que a tolerância continuam a ser considerados internos. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::Tessellate
Cria-se um conjunto de triângulos no sentido dos ponteiros do relógio que cobrem a geometria depois de esta ter sido transformada usando a matriz especificada e achatada usando a tolerância especificada.
BOOL Tessellate(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1TessellationSink* tessellationSink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
worldTransform
A transformação a aplicar a esta geometria, ou NULL.
TessellationSink
O ID2D1TessellationSink ao qual o tessellado é anexado.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal da geometria. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.
CD2DGeometria::Widen
Alarga a geometria pelo traço especificado e escreve o resultado num ID2D1SimplifiedGeometrySink depois de ter sido transformado pela matriz especificada e achatado usando a tolerância especificada.
BOOL Widen(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Parâmetros
Largura do traço
A quantidade para alargar a geometria.
Estilo stroke
O estilo de traço a aplicar à geometria, ou NULL.
worldTransform
A transformação aplica-se à geometria depois de a alargar.
geometrySink
O ID2D1SimplifiedGeometrySink ao qual a geometria alargada é anexada.
achatamentoTolerância
Os limites máximos sobre a distância entre pontos na aproximação poligonal da geometria. Valores mais pequenos produzem resultados mais precisos, mas provocam uma execução mais lenta.
Valor de retorno
Se o método tiver sucesso, devolve VERDADEIRO. Caso contrário, devolve FALSE.