Harlinn.Windows 0.1
|
This class performs all the same functions as the existing CommandSink4 (ID2D1CommandSink4) class, plus it enables access to the BlendImage method. More...
#include <HWGraphics.h>
Public Member Functions | |
void | BlendImage (_In_ ID2D1Image *image, D2D1_BLEND_MODE blendMode, const D2D1_POINT_2F *targetOffset=nullptr, _In_opt_ const D2D1_RECT_F *imageRectangle=nullptr, D2D1_INTERPOLATION_MODE interpolationMode=D2D1_INTERPOLATION_MODE_LINEAR) const |
Draws an image to the device context using the specified blend mode. Results are equivalent to using Direct2D's built-in Blend effect. | |
![]() | |
void | SetPrimitiveBlend2 (D2D1_PRIMITIVE_BLEND primitiveBlend) const |
A new function to set blend mode that respects the new MAX blend. | |
![]() | |
void | DrawSpriteBatch (_In_ ID2D1SpriteBatch *spriteBatch, UINT32 startIndex, UINT32 spriteCount, _In_ ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode=D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, D2D1_SPRITE_OPTIONS spriteOptions=D2D1_SPRITE_OPTIONS_NONE) const |
Renders part or all of the given sprite batch to the device context using the specified drawing options. | |
void | DrawSpriteBatch (const SpriteBatch &spriteBatch, UINT32 startIndex, UINT32 spriteCount, const Bitmap &bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode=D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, D2D1_SPRITE_OPTIONS spriteOptions=D2D1_SPRITE_OPTIONS_NONE) const |
![]() | |
void | DrawInk (ID2D1Ink *ink, ID2D1Brush *brush, ID2D1InkStyle *inkStyle=nullptr) const |
Renders the given ink object using the given brush and ink style. | |
void | DrawInk (const Ink &ink, const Brush &brush, ID2D1InkStyle *inkStyle=nullptr) const |
void | DrawInk (const Ink &ink, const Brush &brush, const InkStyle &inkStyle) const |
void | DrawGradientMesh (ID2D1GradientMesh *gradientMesh) const |
Renders a given gradient mesh to the target. | |
void | DrawGradientMesh (const GradientMesh &gradientMesh) const |
void | DrawGdiMetafile (ID2D1GdiMetafile *gdiMetafile, const D2D1_RECT_F *destinationRectangle=nullptr, const D2D1_RECT_F *sourceRectangle=nullptr) const |
Draws a metafile to the command sink using the given source and destination rectangles. | |
void | DrawGdiMetafile (const GdiMetafile &gdiMetafile, const D2D1_RECT_F *destinationRectangle=nullptr, const D2D1_RECT_F *sourceRectangle=nullptr) const |
void | DrawGdiMetafile (ID2D1GdiMetafile *gdiMetafile, const D2D1_RECT_F &destinationRectangle, const D2D1_RECT_F *sourceRectangle=nullptr) const |
void | DrawGdiMetafile (const GdiMetafile &gdiMetafile, const D2D1_RECT_F &destinationRectangle, const D2D1_RECT_F *sourceRectangle=nullptr) const |
void | DrawGdiMetafile (ID2D1GdiMetafile *gdiMetafile, const D2D1_RECT_F &destinationRectangle, const D2D1_RECT_F &sourceRectangle) const |
void | DrawGdiMetafile (const GdiMetafile &gdiMetafile, const D2D1_RECT_F &destinationRectangle, const D2D1_RECT_F &sourceRectangle) const |
![]() | |
void | SetPrimitiveBlend1 (D2D1_PRIMITIVE_BLEND primitiveBlend) const |
Sets a new primitive blend mode. | |
![]() | |
void | BeginDraw () const |
void | EndDraw () const |
void | SetAntialiasMode (D2D1_ANTIALIAS_MODE antialiasMode) const |
void | SetTags (D2D1_TAG tag1, D2D1_TAG tag2) const |
void | SetTextAntialiasMode (D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) const |
void | SetTextRenderingParams (IDWriteRenderingParams *textRenderingParams) const |
void | SetTransform (const D2D1_MATRIX_3X2_F *transform) const |
void | SetPrimitiveBlend (D2D1_PRIMITIVE_BLEND primitiveBlend) const |
void | SetUnitMode (D2D1_UNIT_MODE unitMode) const |
void | Clear (const D2D1_COLOR_F *color) const |
void | DrawGlyphRun (D2D1_POINT_2F baselineOrigin, const DWRITE_GLYPH_RUN *glyphRun, const DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode) const |
void | DrawLine (D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) const |
void | DrawGeometry (ID2D1Geometry *geometry, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) const |
void | DrawRectangle (const D2D1_RECT_F *rect, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) const |
void | DrawBitmap (ID2D1Bitmap *bitmap, const D2D1_RECT_F *destinationRectangle, FLOAT opacity, D2D1_INTERPOLATION_MODE interpolationMode, const D2D1_RECT_F *sourceRectangle, const D2D1_MATRIX_4X4_F *perspectiveTransform) const |
void | DrawImage (ID2D1Image *image, const D2D1_POINT_2F *targetOffset, const D2D1_RECT_F *imageRectangle, D2D1_INTERPOLATION_MODE interpolationMode, D2D1_COMPOSITE_MODE compositeMode) const |
void | DrawGdiMetafile (ID2D1GdiMetafile *gdiMetafile, const D2D1_POINT_2F *targetOffset) const |
void | FillMesh (ID2D1Mesh *mesh, ID2D1Brush *brush) const |
void | FillOpacityMask (ID2D1Bitmap *opacityMask, ID2D1Brush *brush, const D2D1_RECT_F *destinationRectangle, const D2D1_RECT_F *sourceRectangle) const |
void | FillGeometry (ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacityBrush) const |
void | FillRectangle (const D2D1_RECT_F *rect, ID2D1Brush *brush) const |
void | PushAxisAlignedClip (const D2D1_RECT_F *clipRect, D2D1_ANTIALIAS_MODE antialiasMode) const |
void | PushLayer (const D2D1_LAYER_PARAMETERS1 *layerParameters1, ID2D1Layer *layer) const |
void | PopAxisAlignedClip () const |
void | PopLayer () const |
![]() | |
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 | |
![]() | |
using | Base = CommandSink1 |
![]() | |
using | Base = CommandSink |
![]() | |
using | Base = Unknown |
![]() | |
typedef IUnknown | InterfaceType |
![]() | |
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_ |
This class performs all the same functions as the existing CommandSink4 (ID2D1CommandSink4) class, plus it enables access to the BlendImage method.
|
inline |
Draws an image to the device context using the specified blend mode. Results are equivalent to using Direct2D's built-in Blend effect.
image | The image to be drawn to the device context. |
blendMode | The blend mode to be used. See Blend modes for more info. |
targetOffset | The offset in the destination space that the image will be rendered to. The entire logical extent of the image will be rendered to the corresponding destination. If not specified, the destination origin will be (0, 0). The top-left corner of the image will be mapped to the target offset. This will not necessarily be the origin. The default value is nullptr. |
imageRectangle | The corresponding rectangle in the image space will be mapped to the given origins when processing the image. The default value is nullptr. |
interpolationMode | The interpolation mode that will be used to scale the image if necessary. The default value is D2D1_INTERPOLATION_MODE_LINEAR. |