Harlinn.Windows 0.1
|
Represents a composite geometry, composed of other Geometry (ID2D1Geometry) objects. More...
#include <HWGraphics.h>
Public Types | |
typedef Geometry | Base |
![]() | |
typedef Resource | Base |
![]() | |
typedef IUnknown | InterfaceType |
Public Member Functions | |
D2D1_FILL_MODE | GetFillMode () const |
Indicates how the intersecting areas of the geometries contained in this geometry group are combined. | |
UINT32 | GetSourceGeometryCount () const |
Indicates the number of geometry objects in the geometry group. | |
void | GetSourceGeometries (ID2D1Geometry **geometries, UINT32 geometriesCount) const |
Retrieves the geometries in the geometry group. | |
template<typename ContainerType = std::vector<Geometry>> requires std::is_base_of_v< Geometry, typename ContainerType::value_type > | |
void | GetSourceGeometries (ContainerType &result) 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_ |
Represents a composite geometry, composed of other Geometry (ID2D1Geometry) objects.
|
inline |
Indicates how the intersecting areas of the geometries contained in this geometry group are combined.
|
inline |
|
inline |
Retrieves the geometries in the geometry group.
geometries | When this method returns, contains the address of a pointer to an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. If the array is NULL, then this method performs no operation. You must allocate the memory for this array. |
geometriesCount | A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to NULL. To obtain the number of geometries currently in the geometry group, use the GetSourceGeometryCount method. |
The returned geometries are referenced and counted, and the caller must release them.
|
inline |
Indicates the number of geometry objects in the geometry group.