CD2DGeometry, classe
Wrapper pour ID2D1Geometry.
Syntaxe
class CD2DGeometry : public CD2DResource;
Membres
Constructeurs publics
Nom | Description |
---|---|
CD2DGeometry ::CD2DGeometry | Construit un objet CD2DGeometry. |
CD2DGeometry ::~CD2DGeometry | Destructeur. Appelé lorsqu’un objet geometry D2D est détruit. |
Méthodes publiques
Nom | Description |
---|---|
CD2DGeometry ::Attach | Attache l’interface de ressource existante à l’objet |
CD2DGeometry ::CombineWithGeometry | Combine cette géométrie avec la géométrie spécifiée et stocke le résultat dans un ID2D1SimplifiedGeometrySink. |
CD2DGeometry ::CompareWithGeometry | Décrit l’intersection entre cette géométrie et la géométrie spécifiée. La comparaison est effectuée à l’aide de la tolérance d’aplatissement spécifiée. |
CD2DGeometry ::ComputeArea | Calcule la zone de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée. |
CD2DGeometry ::ComputeLength | Calcule la longueur de la géométrie comme si chaque segment a été roulé dans une ligne. |
CD2DGeometry ::ComputePointAtLength | Calcule le point et le vecteur tangent à la distance spécifiée le long de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée. |
CD2DGeometry ::D estroy | Détruit un objet CD2DGeometry. (Remplacements CD2DResource ::D estroy.) |
CD2DGeometry ::D etach | Détache l’interface de ressource de l’objet |
CD2DGeometry ::FillContainsPoint | Indique si la zone remplie par la géométrie contient le point spécifié en fonction de la tolérance d’aplatissement spécifiée. |
CD2DGeometry ::Get | Retourne l’interface ID2D1Geometry |
CD2DGeometry ::GetBounds | |
CD2DGeometry ::GetWidenedBounds | Obtient les limites de la géométrie après qu’elle a été élargie par la largeur et le style de trait spécifiés et transformés par la matrice spécifiée. |
CD2DGeometry ::IsValid | Vérifie la validité des ressources (remplace CD2DResource ::IsValid.) |
CD2DGeometry ::Outline | Calcule le contour de la géométrie et écrit le résultat dans un ID2D1SimplifiedGeometrySink. |
CD2DGeometry ::Simplifiez | Crée une version simplifiée de la géométrie qui contient uniquement des lignes et (éventuellement) des courbes bezier cubes et écrit le résultat dans un ID2D1SimplifiedGeometrySink. |
CD2DGeometry ::StrokeContainsPoint | Détermine si le trait de la géométrie contient le point spécifié en fonction de l’épaisseur, du style et de la transformation spécifiés. |
CD2DGeometry ::Tessellate | Crée un ensemble de triangles enroulé dans le sens des aiguilles d’une montre qui couvrent la géométrie après sa transformation à l’aide de la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée. |
CD2DGeometry ::Widen | Agrandit la géométrie par le trait spécifié et écrit le résultat dans un ID2D1SimplifiedGeometrySink après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée. |
Opérateurs publics
Nom | Description |
---|---|
CD2DGeometry ::operator ID2D1Geometry* | Retourne l’interface ID2D1Geometry |
Membres de données protégés
Nom | Description |
---|---|
CD2DGeometry ::m_pGeometry | Pointeur vers un ID2D1Geometry. |
Hiérarchie d'héritage
CD2DGeometry
Spécifications
En-tête : afxrendertarget.h
CD2DGeometry ::~CD2DGeometry
Destructeur. Appelé lorsqu’un objet geometry D2D est détruit.
virtual ~CD2DGeometry();
CD2DGeometry ::Attach
Attache l’interface de ressource existante à l’objet
void Attach(ID2D1Geometry* pResource);
Paramètres
pResource
Interface de ressource existante. Impossible d’avoir la valeur NULL
CD2DGeometry ::CD2DGeometry
Construit un objet CD2DGeometry.
CD2DGeometry(
CRenderTarget* pParentTarget,
BOOL bAutoDestroy = TRUE);
Paramètres
pParentTarget
Pointeur vers la cible de rendu.
bAutoDestroy
Indique que l’objet sera détruit par le propriétaire (pParentTarget).
CD2DGeometry ::CombineWithGeometry
Combine cette géométrie avec la géométrie spécifiée et stocke le résultat dans un ID2D1SimplifiedGeometrySink.
BOOL CombineWithGeometry(
CD2DGeometry& inputGeometry,
D2D1_COMBINE_MODE combineMode,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
inputGeometry
Géométrie à combiner avec cette instance.
combineMode
Type d’opération de combinaison à effectuer.
inputGeometryTransform
Transformation à appliquer à inputGeometry avant de combiner.
geometrySink
Résultat de l’opération de combinaison.
flatteningTolerance
Limites maximales sur la distance entre les points dans l’approximation polygonale des géométries. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::CompareWithGeometry
Décrit l’intersection entre cette géométrie et la géométrie spécifiée. La comparaison est effectuée à l’aide de la tolérance d’aplatissement spécifiée.
D2D1_GEOMETRY_RELATION CompareWithGeometry(
CD2DGeometry& inputGeometry,
const D2D1_MATRIX_3X2_F& inputGeometryTransform,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
inputGeometry
Géométrie à tester.
inputGeometryTransform
Transformation à appliquer à inputGeometry.
flatteningTolerance
Limites maximales sur la distance entre les points dans l’approximation polygonale des géométries. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::ComputeArea
Calcule la zone de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.
BOOL ComputeArea(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& area,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
worldTransform
Transformation à appliquer à cette géométrie avant de calculer sa zone.
aire
Lorsque cette méthode est retournée, contient un pointeur vers la zone de la version transformée et aplate de cette géométrie. Vous devez allouer du stockage pour ce paramètre.
flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::ComputeLength
Calcule la longueur de la géométrie comme si chaque segment a été roulé dans une ligne.
BOOL ComputeLength(
const D2D1_MATRIX_3X2_F& worldTransform,
FLOAT& length,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
worldTransform
Transformation à appliquer à la géométrie avant de calculer sa longueur.
length
Lorsque cette méthode est retournée, contient un pointeur vers la longueur de la géométrie. Pour les géométries fermées, la longueur comprend un segment fermant implicite. Vous devez allouer du stockage pour ce paramètre.
flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::ComputePointAtLength
Calcule le point et le vecteur tangent à la distance spécifiée le long de la géométrie après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.
BOOL ComputePointAtLength(
FLOAT length,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DPointF& point,
CD2DPointF& unitTangentVector,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
length
Distance le long de la géométrie du point et de la tangente à rechercher. Si cette distance est inférieure à 0, cette méthode calcule le premier point de la géométrie. Si cette distance est supérieure à la longueur de la géométrie, cette méthode calcule le dernier point de la géométrie.
worldTransform
Transformation à appliquer à la géométrie avant de calculer le point et la tangente spécifiés.
point
Emplacement à la distance spécifiée le long de la géométrie. Si la géométrie est vide, ce point contient NaN comme valeurs x et y.
unitTangentVector
Lorsque cette méthode est retournée, contient un pointeur vers le vecteur tangent à la distance spécifiée le long de la géométrie. Si la géométrie est vide, ce vecteur contient NaN comme valeurs x et y. Vous devez allouer du stockage pour ce paramètre.
flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::D estroy
Détruit un objet CD2DGeometry.
virtual void Destroy();
CD2DGeometry ::D etach
Détache l’interface de ressource de l’objet
ID2D1Geometry* Detach();
Valeur de retour
Pointeur vers l’interface de ressource détachée.
CD2DGeometry ::FillContainsPoint
Indique si la zone remplie par la géométrie contient le point spécifié en fonction de la tolérance d’aplatissement spécifiée.
BOOL FillContainsPoint(
CD2DPointF point,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
point
Point à tester.
worldTransform
Transformation à appliquer à la géométrie avant de tester l’isolement.
contains
Lorsque cette méthode retourne, contient une valeur bool qui est TRUE si la zone remplie par la géométrie contient un point ; sinon, FALSE. Vous devez allouer du stockage pour ce paramètre.
flatteningTolerance
Précision numérique avec laquelle le chemin géométrique précis et l’intersection de chemin d’accès sont calculés. Les points manquants de remplissage par moins que la tolérance sont toujours considérés à l’intérieur. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::Get
Retourne l’interface ID2D1Geometry
ID2D1Geometry* Get();
Valeur de retour
Pointeur vers une interface ID2D1Geometry ou NULL si l’objet n’est pas encore initialisé.
CD2DGeometry ::GetBounds
BOOL GetBounds(
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds) const;
Paramètres
worldTransform
limites
Valeur de retour
CD2DGeometry ::GetWidenedBounds
Obtient les limites de la géométrie après qu’elle a été élargie par la largeur et le style de trait spécifiés et transformés par la matrice spécifiée.
BOOL GetWidenedBounds(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
CD2DRectF& bounds,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
strokeWidth
Quantité par laquelle élargir la géométrie en caressant son contour.
strokeStyle
Style du trait qui élargit la géométrie.
worldTransform
Transformation à appliquer à la géométrie après la transformation de la géométrie et après le trait de géométrie.
limites
Lorsque cette méthode est retournée, contient les limites de la géométrie étendue. Vous devez allouer du stockage pour ce paramètre.
flatteningTolerance
Limites maximales sur la distance entre les points dans l’approximation polygonale des géométries. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::IsValid
Vérifie la validité des ressources
virtual BOOL IsValid() const;
Valeur de retour
TRUE si la ressource est valide ; sinon FALSE.
CD2DGeometry ::m_pGeometry
Pointeur vers un ID2D1Geometry.
ID2D1Geometry* m_pGeometry;
CD2DGeometry ::operator ID2D1Geometry*
Retourne l’interface ID2D1Geometry
operator ID2D1Geometry*();
Valeur de retour
Pointeur vers une interface ID2D1Geometry ou NULL si l’objet n’est pas encore initialisé.
CD2DGeometry ::Outline
Calcule le contour de la géométrie et écrit le résultat dans un ID2D1SimplifiedGeometrySink.
BOOL Outline(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
worldTransform
Transformation à appliquer au contour géométrique.
geometrySink
ID2D1SimplifiedGeometrySink auquel le contour transformé géométrique est ajouté.
flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::Simplifiez
Crée une version simplifiée de la géométrie qui contient uniquement des lignes et (éventuellement) des courbes bezier cubes et écrit le résultat dans un ID2D1SimplifiedGeometrySink.
BOOL Simplify(
D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
simplificationOption
Valeur qui spécifie si la géométrie simplifiée doit contenir des courbes.
worldTransform
Transformation à appliquer à la géométrie simplifiée.
geometrySink
ID2D1SimplifiedGeometrySink auquel la géométrie simplifiée est ajoutée.
flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::StrokeContainsPoint
Détermine si le trait de la géométrie contient le point spécifié en fonction de l’épaisseur, du style et de la transformation spécifiés.
BOOL StrokeContainsPoint(
CD2DPointF point,
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
BOOL* contains,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
point
Point à tester pour l’endiguement.
strokeWidth
Épaisseur du trait à appliquer.
strokeStyle
Style du trait à appliquer.
worldTransform
Transformation à appliquer à la géométrie tracée.
contains
Lorsque cette méthode est retournée, contient une valeur booléenne définie sur TRUE si le trait de la géométrie contient le point spécifié ; sinon, FALSE. Vous devez allouer du stockage pour ce paramètre.
flatteningTolerance
Précision numérique avec laquelle le chemin géométrique précis et l’intersection de chemin d’accès sont calculés. Les points manquants par moins que la tolérance sont toujours considérés à l’intérieur. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::Tessellate
Crée un ensemble de triangles enroulé dans le sens des aiguilles d’une montre qui couvrent la géométrie après sa transformation à l’aide de la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.
BOOL Tessellate(
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1TessellationSink* tessellationSink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
worldTransform
Transformation à appliquer à cette géométrie, ou NULL.
tessellationSink
ID2D1TessellationSink auquel le tessellated est ajouté.
flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.
CD2DGeometry ::Widen
Agrandit la géométrie par le trait spécifié et écrit le résultat dans un ID2D1SimplifiedGeometrySink après sa transformation par la matrice spécifiée et aplatie à l’aide de la tolérance spécifiée.
BOOL Widen(
FLOAT strokeWidth,
ID2D1StrokeStyle* strokeStyle,
const D2D1_MATRIX_3X2_F& worldTransform,
ID2D1SimplifiedGeometrySink* geometrySink,
FLOAT flatteningTolerance = D2D1_DEFAULT_FLATTENING_TOLERANCE) const;
Paramètres
strokeWidth
Quantité par laquelle élargir la géométrie.
strokeStyle
Style de trait à appliquer à la géométrie ou NULL.
worldTransform
Transformation à appliquer à la géométrie après l’avoir étendue.
geometrySink
ID2D1SimplifiedGeometrySink auquel la géométrie étendue est ajoutée.
flatteningTolerance
Limites maximales sur la distance entre les points de l’approximation polygonale de la géométrie. Les valeurs plus petites produisent des résultats plus précis, mais provoquent une exécution plus lente.
Valeur de retour
Si la méthode réussit, elle retourne TRUE. Sinon, elle retourne FALSE.