Harlinn.Windows 0.1
|
The PathGeometry1 adds functionality to PathGeometry. In particular, it provides the path geometry-specific ComputePointAndSegmentAtLength method. More...
#include <HWGraphics.h>
Public Types | |
using | Base = PathGeometry |
![]() | |
typedef Geometry | Base |
![]() | |
typedef Resource | Base |
![]() | |
typedef IUnknown | InterfaceType |
Public Member Functions | |
void | ComputePointAndSegmentAtLength (FLOAT length, UINT32 startSegment, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_POINT_DESCRIPTION *pointDescription) const |
Computes the point that exists at a given distance along the path geometry along with the index of the segment the point is on and the directional vector at that point. | |
void | ComputePointAndSegmentAtLength (FLOAT length, UINT32 startSegment, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, D2D1_POINT_DESCRIPTION *pointDescription) const |
void | ComputePointAndSegmentAtLength (FLOAT length, UINT32 startSegment, const D2D1_MATRIX_3X2_F *worldTransform, D2D1_POINT_DESCRIPTION *pointDescription) const |
void | ComputePointAndSegmentAtLength (FLOAT length, UINT32 startSegment, const D2D1_MATRIX_3X2_F &worldTransform, D2D1_POINT_DESCRIPTION *pointDescription) const |
![]() | |
void | Open (ID2D1GeometrySink **geometrySink) const |
Retrieves the geometry sink that is used to populate the path geometry with figures and segments. | |
GeometrySink | Open () const |
void | Stream (ID2D1GeometrySink *geometrySink) const |
Copies the contents of the path geometry to the specified ID2D1GeometrySink. | |
void | Stream (const GeometrySink &geometrySink) const |
void | GetSegmentCount (UINT32 *count) const |
Retrieves the number of segments in the path geometry. | |
UINT32 | GetSegmentCount () const |
void | GetFigureCount (UINT32 *count) const |
Retrieves the number of figures in the path geometry. | |
UINT32 | GetFigureCount () const |
![]() | |
void | GetBounds (const D2D1_MATRIX_3X2_F *worldTransform, D2D1_RECT_F *bounds) const |
D2D1_RECT_F | GetBounds (const D2D1_MATRIX_3X2_F *worldTransform=nullptr) const |
D2D1_RECT_F | GetBounds (const D2D1_MATRIX_3X2_F &worldTransform) |
void | GetWidenedBounds (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F *bounds) const |
Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. | |
void | GetWidenedBounds (FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F *bounds) const |
D2D1_RECT_F | GetWidenedBounds (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
D2D1_RECT_F | GetWidenedBounds (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
D2D1_RECT_F | GetWidenedBounds (FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
D2D1_RECT_F | GetWidenedBounds (FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
void | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, BOOL *contains) const |
Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. | |
void | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, BOOL *contains) const |
bool | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
bool | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
void | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, BOOL *contains) const |
void | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, BOOL *contains) const |
bool | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
bool | StrokeContainsPoint (D2D1_POINT_2F point, FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
void | FillContainsPoint (D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, BOOL *contains) const |
Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. | |
void | FillContainsPoint (D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, BOOL *contains) const |
bool | FillContainsPoint (D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *worldTransform=nullptr, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
bool | FillContainsPoint (D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
void | CompareWithGeometry (ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION *relation) const |
Describes the intersection between this geometry and the specified geometry. The comparison is performed using the specified flattening tolerance. | |
void | CompareWithGeometry (const Geometry &inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION *relation) const |
D2D1_GEOMETRY_RELATION | CompareWithGeometry (ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform=nullptr, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
D2D1_GEOMETRY_RELATION | CompareWithGeometry (const Geometry &inputGeometry, const D2D1_MATRIX_3X2_F *inputGeometryTransform=nullptr, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
void | CompareWithGeometry (ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F &inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION *relation) const |
void | CompareWithGeometry (const Geometry &inputGeometry, const D2D1_MATRIX_3X2_F &inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION *relation) const |
D2D1_GEOMETRY_RELATION | CompareWithGeometry (ID2D1Geometry *inputGeometry, const D2D1_MATRIX_3X2_F &inputGeometryTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
D2D1_GEOMETRY_RELATION | CompareWithGeometry (const Geometry &inputGeometry, const D2D1_MATRIX_3X2_F &inputGeometryTransform, FLOAT flatteningTolerance) |
void | Simplify (D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an ID2D1SimplifiedGeometrySink. | |
void | Simplify (D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Simplify (D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Simplify (ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Tessellate (const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink *tessellationSink) const |
Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the specified tolerance. | |
void | Tessellate (const D2D1_MATRIX_3X2_F *worldTransform, ID2D1TessellationSink *tessellationSink) const |
void | Tessellate (ID2D1TessellationSink *tessellationSink) const |
void | CombineWithGeometry (ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
Combines this geometry with the specified geometry and stores the result in an ID2D1SimplifiedGeometrySink. | |
void | CombineWithGeometry (const Geometry &inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F *inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | CombineWithGeometry (ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F *inputGeometryTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | CombineWithGeometry (const Geometry &inputGeometry, D2D1_COMBINE_MODE combineMode, const D2D1_MATRIX_3X2_F *inputGeometryTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | CombineWithGeometry (ID2D1Geometry *inputGeometry, D2D1_COMBINE_MODE combineMode, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | CombineWithGeometry (const Geometry &inputGeometry, D2D1_COMBINE_MODE combineMode, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Outline (const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
Computes the outline of the geometry and writes the result to an ID2D1SimplifiedGeometrySink. | |
void | Outline (const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Outline (const D2D1_MATRIX_3X2_F &worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Outline (ID2D1SimplifiedGeometrySink *geometrySink) const |
void | ComputeArea (const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, FLOAT *area) const |
Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. | |
void | ComputeArea (const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, FLOAT *area) const |
FLOAT | ComputeArea (const D2D1_MATRIX_3X2_F *worldTransform=nullptr, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
FLOAT | ComputeArea (const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
void | ComputeLength (const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, FLOAT *length) const |
Calculates the length of the geometry as though each segment were unrolled into a line. | |
void | ComputeLength (const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, FLOAT *length) const |
FLOAT | ComputeLength (const D2D1_MATRIX_3X2_F *worldTransform=nullptr, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
FLOAT | ComputeLength (const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance=D2D1_DEFAULT_FLATTENING_TOLERANCE) const |
void | ComputePointAtLength (FLOAT length, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const |
Calculates the point and tangent vector at the specified distance along the geometry after it has been transformed by the specified matrix and flattened using the default tolerance. | |
void | ComputePointAtLength (FLOAT length, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const |
void | ComputePointAtLength (FLOAT length, const D2D1_MATRIX_3X2_F *worldTransform, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const |
void | ComputePointAtLength (FLOAT length, const D2D1_MATRIX_3X2_F &worldTransform, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const |
void | ComputePointAtLength (FLOAT length, D2D1_POINT_2F *point, D2D1_POINT_2F *unitTangentVector) const |
void | Widen (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
Widens the geometry by the specified stroke and writes the result to an ID2D1SimplifiedGeometrySink after it has been transformed by the specified matrix and flattened using the specified tolerance. | |
void | Widen (FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, const StrokeStyle &strokeStyle, const D2D1_MATRIX_3X2_F &worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, const StrokeStyle &strokeStyle, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, const D2D1_MATRIX_3X2_F *worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, const D2D1_MATRIX_3X2_F &worldTransform, ID2D1SimplifiedGeometrySink *geometrySink) const |
void | Widen (FLOAT strokeWidth, ID2D1SimplifiedGeometrySink *geometrySink) const |
![]() | |
template<typename T = Factory> requires std::is_base_of_v< Factory, T> | |
T | GetFactory () |
![]() | |
constexpr | Unknown () noexcept |
Unknown (IUnknown *unknown, bool addref=false) noexcept | |
Unknown (REFIID iid, const Unknown &unknown, bool throwIfNoInterface=true) | |
Unknown (const Unknown &other) noexcept | |
Unknown (Unknown &&other) noexcept | |
~Unknown () noexcept | |
constexpr | operator bool () const noexcept |
Unknown & | operator= (const Unknown &other) noexcept |
Unknown & | operator= (Unknown &&other) noexcept |
void | swap (Unknown &other) noexcept |
void | ResetPtr (IUnknown *other=nullptr, bool addRef=false) noexcept |
Unknown & | operator= (nullptr_t) |
IUnknown * | Detach () |
template<typename T > requires std::is_base_of_v<Unknown, T > | |
T | As () const |
template<typename T > requires std::is_base_of_v<Unknown, T> | |
bool | Is () const noexcept |
template<typename T > requires std::is_base_of_v<IUnknown, T> | |
ComPtr< T > | As () const |
template<typename T > requires std::is_base_of_v<IUnknown, T> | |
bool | Is () const noexcept |
This function can be used to detect if an object supports a particular COM interface derived from IUnknown. | |
template<typename T = IUnknown> | |
T * | GetInterfacePointer () const noexcept |
bool | QueryInterface (REFIID riid, void **itf) const |
Queries a COM object for a pointer to one of its interface; identifying the interface by a reference to its interface identifier (IID). If the COM object implements the interface, then it returns a pointer to that interface after calling IUnknown::AddRef on it. | |
template<typename T > requires std::is_base_of_v<IUnknown, T> | |
bool | QueryInterface (T **itf) const |
constexpr bool | operator== (const Unknown &other) const noexcept |
constexpr bool | operator!= (const Unknown &other) const noexcept |
constexpr bool | operator== (const IUnknown *other) const noexcept |
constexpr bool | operator!= (const IUnknown *other) const noexcept |
Additional Inherited Members | |
![]() | |
template<typename T > requires std::is_base_of_v<Unknown, T> | |
static T | CoCreateInstanceFromClassId (const CLSID &clsid, DWORD classContext=CLSCTX_INPROC_SERVER) |
template<typename T > requires std::is_base_of_v<Unknown, T> | |
static T | CoCreateInstanceFromClassId (const wchar_t *clsid, DWORD classContext=CLSCTX_INPROC_SERVER) |
template<typename T > requires std::is_base_of_v<Unknown, T> | |
static T | CoCreateInstanceFromClassId (const WideString &clsid, DWORD classContext=CLSCTX_INPROC_SERVER) |
template<typename T > requires std::is_base_of_v<Unknown, T> | |
static T | CoCreateInstanceFromProgId (const wchar_t *progId, DWORD classContext=CLSCTX_INPROC_SERVER) |
template<typename T > requires std::is_base_of_v<Unknown, T> | |
static T | CoCreateInstanceFromProgId (const WideString &progId, DWORD classContext=CLSCTX_INPROC_SERVER) |
template<typename T > requires std::is_base_of_v<Unknown, T> | |
static T | CoCreateInstanceFromDll (const ModuleHandle &dll, const CLSID &clsid) |
![]() | |
IUnknown * | unknown_ |
The PathGeometry1 adds functionality to PathGeometry. In particular, it provides the path geometry-specific ComputePointAndSegmentAtLength method.
|
inline |
|
inline |
|
inline |
|
inline |
Computes the point that exists at a given distance along the path geometry along with the index of the segment the point is on and the directional vector at that point.
length | The distance to walk along the path. |
startSegment | The index of the segment at which to begin walking. Note: This index is global to the entire path, not just a particular figure. |
worldTransform | The transform to apply to the path prior to walking. |
flatteningTolerance | The flattening tolerance to use when walking along an arc or Bezier segment. The flattening tolerance is the maximum error allowed when constructing a polygonal approximation of the geometry. No point in the polygonal representation will diverge from the original geometry by more than the flattening tolerance. Smaller values produce more accurate results but cause slower execution. |
pointDescription | When this method returns, contains a description of the point that can be found at the given location. |