CD2DGeometrySink 类

ID2D1GeometrySink 的包装器。

语法

class CD2DGeometrySink;

成员

公共构造函数

名称 描述
CD2DGeometrySink::CD2DGeometrySink 从 CD2DPathGeometry 对象构造 CD2DGeometrySink 对象。
CD2DGeometrySink::~CD2DGeometrySink 析构函数。 在销毁 D2D 几何接收器对象时调用。

公共方法

名称 描述
CD2DGeometrySink::AddArc 将单个弧添加到路径几何
CD2DGeometrySink::AddBezier 在当前点和指定的终点之间创建三次贝塞尔曲线。
CD2DGeometrySink::AddBeziers 创建一系列三次贝塞尔曲线并添加到几何接收器。
CD2DGeometrySink::AddLine 在当前点和指定的终点之间创建线段,并添加到几何接收器。
CD2DGeometrySink::AddLines 使用指定的点创建一系列线并添加到几何接收器。
CD2DGeometrySink::AddQuadraticBezier 在当前点和指定的终点之间创建二次贝塞尔曲线。
CD2DGeometrySink::AddQuadraticBeziers 在单个调用中将一系列二次贝塞尔段添加为数组。
CD2DGeometrySink::BeginFigure 在指定点绘制新图形。
CD2DGeometrySink::Close 关闭几何接收器
CD2DGeometrySink::EndFigure 结束绘制当前图形;视需要,可将其闭合。
CD2DGeometrySink::Get 返回 ID2D1GeometrySink 接口
CD2DGeometrySink::IsValid 检查几何接收器是否有效
CD2DGeometrySink::SetFillMode 指定方法,用于确定位于此几何接收器所述的几何内/外部的点。
CD2DGeometrySink::SetSegmentFlags 指定要应用于添加到几何接收器的新段的笔划和联接选项。

公共运算符

“属性” 描述
CD2DGeometrySink::operator ID2D1GeometrySink* 返回 ID2D1GeometrySink 接口

受保护的数据成员

名称 描述
CD2DGeometrySink::m_pSink 指向 ID2D1GeometrySink 的指针。

继承层次结构

CD2DGeometrySink

要求

标头:afxrendertarget.h

CD2DGeometrySink::~CD2DGeometrySink

析构函数。 在销毁 D2D 几何接收器对象时调用。

virtual ~CD2DGeometrySink();

CD2DGeometrySink::AddArc

将单个弧添加到路径几何

void AddArc(const D2D1_ARC_SEGMENT& arc);

参数


要添加到图形的弧段

CD2DGeometrySink::AddBezier

在当前点和指定的终点之间创建三次贝塞尔曲线。

void AddBezier(const D2D1_BEZIER_SEGMENT& bezier);

参数

贝塞尔
描述要添加的贝塞尔曲线的控制点和终点的结构。

CD2DGeometrySink::AddBeziers

创建一系列三次贝塞尔曲线并添加到几何接收器。

void AddBeziers(
    const CArray<D2D1_BEZIER_SEGMENT,
    D2D1_BEZIER_SEGMENT>& beziers);

参数

贝塞尔
描述要创建的贝塞尔曲线的贝塞尔段数组。 绘制从几何接收器的当前点(绘制的最后一个段的终点或 BeginFigure 指定的点)到数组中第一个贝塞尔段的终点的曲线。 如果数组包含额外的贝塞尔段,则每个后续贝塞尔段都使用前一贝塞尔段的终点作为其起点。

CD2DGeometrySink::AddLine

在当前点和指定的终点之间创建线段,并添加到几何接收器。

void AddLine(CD2DPointF point);

参数

point
要绘制的线的终点。

CD2DGeometrySink::AddLines

使用指定的点创建一系列线并添加到几何接收器。

void AddLines(
    const CArray<CD2DPointF,
    CD2DPointF>& points);

参数

points
描述要绘制的线的一个或多个点的数组。 绘制从几何接收器的当前点(绘制的最后一个段的终点或 BeginFigure 指定的点)到数组中第一个点的线。 如果数组包含其他点,则从数组中的第一个点到第二个点绘制一条线,从第二个点到第三个点绘制一条线,依此类推。 要绘制的线的一系列终点的数组。

CD2DGeometrySink::AddQuadraticBezier

在当前点和指定的终点之间创建二次贝塞尔曲线。

void AddQuadraticBezier(const D2D1_QUADRATIC_BEZIER_SEGMENT& bezier);

参数

贝塞尔
描述要添加的二次贝塞尔曲线的控制点和终点的结构。

CD2DGeometrySink::AddQuadraticBeziers

在单个调用中将一系列二次贝塞尔段添加为数组。

void AddQuadraticBeziers(
    const CArray<D2D1_QUADRATIC_BEZIER_SEGMENT,
    D2D1_QUADRATIC_BEZIER_SEGMENT>& beziers);

参数

贝塞尔
一系列二次贝塞尔段的数组。

CD2DGeometrySink::BeginFigure

在指定点绘制新图形。

void BeginFigure(
    CD2DPointF startPoint,
    D2D1_FIGURE_BEGIN figureBegin);

参数

startPoint
开始绘制新图形的点。

figureBegin
新图形应是空心的还是填充的。

CD2DGeometrySink::CD2DGeometrySink

从 CD2DPathGeometry 对象构造 CD2DGeometrySink 对象。

CD2DGeometrySink(CD2DPathGeometry& pathGeometry);

参数

pathGeometry
现有的 CD2DPathGeometry 对象。

CD2DGeometrySink::Close

关闭几何接收器

BOOL Close();

返回值

如果成功,则不为零,否则为 FALSE。

CD2DGeometrySink::EndFigure

结束绘制当前图形;视需要,可将其闭合。

void EndFigure(D2D1_FIGURE_END figureEnd);

参数

figureEnd
指示当前图形是否闭合的值。 如果图形已闭合,则在当前点和 BeginFigure 指定的起点之间绘制一条线。

CD2DGeometrySink::Get

返回 ID2D1GeometrySink 接口

ID2D1GeometrySink* Get();

返回值

返回指向 ID2D1GeometrySink 接口的指针;如果尚未初始化对象,则返回 NULL。

CD2DGeometrySink::IsValid

检查几何接收器是否有效

BOOL IsValid() const;

返回值

如果几何接收器有效,则为 TRUE;否则为 FALSE。

CD2DGeometrySink::m_pSink

指向 ID2D1GeometrySink 的指针。

ID2D1GeometrySink* m_pSink;

CD2DGeometrySink::operator ID2D1GeometrySink*

返回 ID2D1GeometrySink 接口

operator ID2D1GeometrySink*();

返回值

返回指向 ID2D1GeometrySink 接口的指针;如果尚未初始化对象,则返回 NULL。

CD2DGeometrySink::SetFillMode

指定方法,用于确定位于此几何接收器所述的几何内/外部的点。

void SetFillMode(D2D1_FILL_MODE fillMode);

参数

fillMode
用于确定给定点是否属于几何的方法。

CD2DGeometrySink::SetSegmentFlags

指定要应用于添加到几何接收器的新段的笔划和联接选项。

void SetSegmentFlags(D2D1_PATH_SEGMENT vertexFlags);

参数

vertexFlags
要应用于添加到几何接收器的新段的笔划和联接选项。

另请参阅