Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Windows::Graphics::RenderTarget Class Reference

Represents an object that can receive drawing commands. Interfaces that inherit from RenderTarget (ID2D1RenderTarget) render the drawing commands they receive in different ways. More...

#include <HWGraphics.h>

Inheritance diagram for Harlinn::Windows::Graphics::RenderTarget:
[legend]
Collaboration diagram for Harlinn::Windows::Graphics::RenderTarget:
[legend]

Public Types

typedef Resource Base
 
- Public Types inherited from Harlinn::Common::Core::Unknown
typedef IUnknown InterfaceType
 

Public Member Functions

void CreateBitmap (D2D1_SIZE_U size, _In_opt_ CONST void *srcData, UINT32 pitch, _In_ CONST D2D1_BITMAP_PROPERTIES *bitmapProperties, _COM_Outptr_ ID2D1Bitmap **bitmap) const
 Creates a Direct2D bitmap from a pointer to in-memory source data.
 
Bitmap CreateBitmap (D2D1_SIZE_U size, const void *srcData, UINT32 pitch, const D2D1_BITMAP_PROPERTIES *bitmapProperties) const
 
Bitmap CreateBitmap (D2D1_SIZE_U size, const void *srcData, UINT32 pitch, const D2D1_BITMAP_PROPERTIES &bitmapProperties) const
 
Bitmap CreateBitmap (D2D1_SIZE_U size, const D2D1_BITMAP_PROPERTIES *bitmapProperties) const
 
Bitmap CreateBitmap (D2D1_SIZE_U size, const D2D1_BITMAP_PROPERTIES &bitmapProperties) const
 
void CreateBitmapFromWicBitmap (_In_ IWICBitmapSource *wicBitmapSource, _In_opt_ CONST D2D1_BITMAP_PROPERTIES *bitmapProperties, _COM_Outptr_ ID2D1Bitmap **bitmap) const
 Creates an ID2D1Bitmap by copying the specified Microsoft Windows Imaging Component (WIC) bitmap.
 
HW_EXPORT void CreateBitmapFromWicBitmap (const Imaging::BitmapSource &wicBitmapSource, _In_opt_ CONST D2D1_BITMAP_PROPERTIES *bitmapProperties, _COM_Outptr_ ID2D1Bitmap **bitmap) const
 
HW_EXPORT void CreateBitmapFromWicBitmap (const Imaging::BitmapSource &wicBitmapSource, const D2D1_BITMAP_PROPERTIES &bitmapProperties, _COM_Outptr_ ID2D1Bitmap **bitmap) const
 
Bitmap CreateBitmapFromWicBitmap (IWICBitmapSource *wicBitmapSource, const D2D1_BITMAP_PROPERTIES *bitmapProperties=nullptr) const
 
HW_EXPORT Bitmap CreateBitmapFromWicBitmap (const Imaging::BitmapSource &wicBitmapSource, const D2D1_BITMAP_PROPERTIES *bitmapProperties=nullptr) const
 
Bitmap CreateBitmapFromWicBitmap (IWICBitmapSource *wicBitmapSource, const D2D1_BITMAP_PROPERTIES &bitmapProperties) const
 
HW_EXPORT Bitmap CreateBitmapFromWicBitmap (const Imaging::BitmapSource &wicBitmapSource, const D2D1_BITMAP_PROPERTIES &bitmapProperties) const
 
void CreateSharedBitmap (REFIID riid, _Inout_ void *data, _In_opt_ CONST D2D1_BITMAP_PROPERTIES *bitmapProperties, _COM_Outptr_ ID2D1Bitmap **bitmap) const
 Creates an ID2D1Bitmap whose data is shared with another resource.
 
Bitmap CreateSharedBitmap (REFIID riid, void *data, const D2D1_BITMAP_PROPERTIES *bitmapProperties=nullptr) const
 
Bitmap CreateSharedBitmap (REFIID riid, void *data, const D2D1_BITMAP_PROPERTIES &bitmapProperties) const
 
void CreateBitmapBrush (_In_ ID2D1Bitmap *bitmap, _In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _COM_Outptr_ ID2D1BitmapBrush **bitmapBrush) const
 Creates an ID2D1BitmapBrush from the specified bitmap.
 
void CreateBitmapBrush (const Bitmap &bitmap, _In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _COM_Outptr_ ID2D1BitmapBrush **bitmapBrush) const
 
BitmapBrush CreateBitmapBrush (_In_ ID2D1Bitmap *bitmap, _In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties=nullptr, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties=nullptr) const
 
BitmapBrush CreateBitmapBrush (const Bitmap &bitmap, _In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties=nullptr, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties=nullptr) const
 
BitmapBrush CreateBitmapBrush (_In_ ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties) const
 
BitmapBrush CreateBitmapBrush (const Bitmap &bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties) const
 
BitmapBrush CreateBitmapBrush (_In_ ID2D1Bitmap *bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties) const
 
BitmapBrush CreateBitmapBrush (const Bitmap &bitmap, const D2D1_BITMAP_BRUSH_PROPERTIES &bitmapBrushProperties) const
 
BitmapBrush CreateBitmapBrush (_In_ ID2D1Bitmap *bitmap, const D2D1_BRUSH_PROPERTIES &brushProperties) const
 
BitmapBrush CreateBitmapBrush (const Bitmap &bitmap, const D2D1_BRUSH_PROPERTIES &brushProperties) const
 
void CreateSolidColorBrush (_In_ CONST D2D1_COLOR_F *color, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _COM_Outptr_ ID2D1SolidColorBrush **solidColorBrush) const
 Creates a new ID2D1SolidColorBrush that can be used to paint areas with a solid color.
 
void CreateSolidColorBrush (const D2D1_COLOR_F &color, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _COM_Outptr_ ID2D1SolidColorBrush **solidColorBrush) const
 
void CreateSolidColorBrush (_In_ CONST D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES &brushProperties, _COM_Outptr_ ID2D1SolidColorBrush **solidColorBrush) const
 
void CreateSolidColorBrush (const D2D1_COLOR_F &color, const D2D1_BRUSH_PROPERTIES &brushProperties, _COM_Outptr_ ID2D1SolidColorBrush **solidColorBrush) const
 
SolidColorBrush CreateSolidColorBrush (_In_ CONST D2D1_COLOR_F *color, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties=nullptr) const
 
SolidColorBrush CreateSolidColorBrush (_In_ CONST D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES &brushProperties) const
 
SolidColorBrush CreateSolidColorBrush (const D2D1_COLOR_F &color, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties=nullptr) const
 
SolidColorBrush CreateSolidColorBrush (const D2D1_COLOR_F &color, const D2D1_BRUSH_PROPERTIES &brushProperties) const
 
void CreateGradientStopCollection (_In_reads_(gradientStopsCount) CONST D2D1_GRADIENT_STOP *gradientStops, _In_range_(>=, 1) UINT32 gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, _COM_Outptr_ ID2D1GradientStopCollection **gradientStopCollection) const
 Creates an ID2D1GradientStopCollection from the specified array of D2D1_GRADIENT_STOP structures.
 
GradientStopCollection CreateGradientStopCollection (_In_reads_(gradientStopsCount) CONST D2D1_GRADIENT_STOP *gradientStops, _In_range_(>=, 1) UINT32 gradientStopsCount, D2D1_GAMMA colorInterpolationGamma=D2D1_GAMMA_2_2, D2D1_EXTEND_MODE extendMode=D2D1_EXTEND_MODE_CLAMP) const
 
void CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 Creates an ID2D1LinearGradientBrush object for painting areas with a linear gradient.
 
void CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 
void CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 
void CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 
void CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 
void CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 
void CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 
void CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1LinearGradientBrush **linearGradientBrush) const
 
LinearGradientBrush CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, ID2D1GradientStopCollection *gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, const GradientStopCollection &gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (_In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES &linearGradientBrushProperties, const GradientStopCollection &gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (const D2D1_POINT_2F &startPoint, const D2D1_POINT_2F &endPoint, ID2D1GradientStopCollection *gradientStopCollection) const
 
LinearGradientBrush CreateLinearGradientBrush (const D2D1_POINT_2F &startPoint, const D2D1_POINT_2F &endPoint, const GradientStopCollection &gradientStopCollection) const
 
void CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 Creates an ID2D1RadialGradientBrush object that can be used to paint areas with a radial gradient.
 
void CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 
void CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 
void CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 
void CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 
void CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 
void CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 
void CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection, _COM_Outptr_ ID2D1RadialGradientBrush **radialGradientBrush) const
 
RadialGradientBrush CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES *brushProperties, const GradientStopCollection &gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES &radialGradientBrushProperties, const D2D1_BRUSH_PROPERTIES &brushProperties, const GradientStopCollection &gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, ID2D1GradientStopCollection *gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (_In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, const GradientStopCollection &gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (const D2D1_POINT_2F &center, const D2D1_POINT_2F &gradientOriginOffset, FLOAT radiusX, FLOAT radiusY, _In_ ID2D1GradientStopCollection *gradientStopCollection) const
 
RadialGradientBrush CreateRadialGradientBrush (const D2D1_POINT_2F &center, const D2D1_POINT_2F &gradientOriginOffset, FLOAT radiusX, FLOAT radiusY, const GradientStopCollection &gradientStopCollection) const
 
void CreateCompatibleRenderTarget (_In_opt_ CONST D2D1_SIZE_F *desiredSize, _In_opt_ CONST D2D1_SIZE_U *desiredPixelSize, _In_opt_ CONST D2D1_PIXEL_FORMAT *desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, _COM_Outptr_ ID2D1BitmapRenderTarget **bitmapRenderTarget) const
 Creates a bitmap render target for use during intermediate off-screen drawing that is compatible with the current render target.
 
BitmapRenderTarget CreateCompatibleRenderTarget (_In_opt_ CONST D2D1_SIZE_F *desiredSize=nullptr, _In_opt_ CONST D2D1_SIZE_U *desiredPixelSize=nullptr, _In_opt_ CONST D2D1_PIXEL_FORMAT *desiredFormat=nullptr, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options=D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (_In_opt_ CONST D2D1_SIZE_F *desiredSize, _In_opt_ CONST D2D1_SIZE_U *desiredPixelSize, const D2D1_PIXEL_FORMAT &desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options=D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (_In_opt_ CONST D2D1_SIZE_F *desiredSize, const D2D1_SIZE_U &desiredPixelSize, _In_opt_ CONST D2D1_PIXEL_FORMAT *desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options=D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize, _In_opt_ CONST D2D1_SIZE_U *desiredPixelSize, _In_opt_ CONST D2D1_PIXEL_FORMAT *desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options=D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (_In_opt_ CONST D2D1_SIZE_F *desiredSize, const D2D1_SIZE_U &desiredPixelSize, const D2D1_PIXEL_FORMAT &desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options=D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize, _In_opt_ CONST D2D1_SIZE_U *desiredPixelSize, const D2D1_PIXEL_FORMAT &desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options=D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize, const D2D1_SIZE_U &desiredPixelSize, const D2D1_PIXEL_FORMAT &desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options=D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize, const D2D1_SIZE_U *desiredPixelSize) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize, const D2D1_SIZE_U &desiredPixelSize) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize, const D2D1_PIXEL_FORMAT *desiredFormat) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize, const D2D1_PIXEL_FORMAT &desiredFormat) const
 
BitmapRenderTarget CreateCompatibleRenderTarget (const D2D1_SIZE_F &desiredSize) const
 
void CreateLayer (const D2D1_SIZE_F *size, ID2D1Layer **layer) const
 Creates a layer resource that can be used with this render target and its compatible render targets.
 
Layer CreateLayer (const D2D1_SIZE_F *size=nullptr) const
 
Layer CreateLayer (const D2D1_SIZE_F &size) const
 
void CreateMesh (ID2D1Mesh **mesh) const
 Create a mesh that uses triangles to describe a shape.
 
Mesh CreateMesh () const
 
void DrawLine (const D2D1_POINT_2F &point0, const D2D1_POINT_2F &point1, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 Draws a line between the specified points using the specified stroke style.
 
void DrawLine (const D2D1_POINT_2F &point0, const D2D1_POINT_2F &point1, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawLine (const D2D1_POINT_2F &point0, const D2D1_POINT_2F &point1, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawLine (const D2D1_POINT_2F &point0, const D2D1_POINT_2F &point1, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void DrawRectangle (const D2D1_RECT_F *rect, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 Draws the outline of a rectangle that has the specified dimensions and stroke style.
 
void DrawRectangle (const D2D1_RECT_F &rect, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 
void DrawRectangle (const D2D1_RECT_F *rect, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRectangle (const D2D1_RECT_F *rect, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRectangle (const D2D1_RECT_F *rect, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void DrawRectangle (const D2D1_RECT_F &rect, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRectangle (const D2D1_RECT_F &rect, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRectangle (const D2D1_RECT_F &rect, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void FillRectangle (const D2D1_RECT_F *rect, ID2D1Brush *brush) const
 Paints the interior of the specified rectangle.
 
void FillRectangle (const D2D1_RECT_F &rect, ID2D1Brush *brush) const
 
void FillRectangle (const D2D1_RECT_F *rect, const Brush &brush) const
 
void FillRectangle (const D2D1_RECT_F &rect, const Brush &brush) const
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 Draws the outline of the specified rounded rectangle using the specified stroke style.
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT &roundedRect, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT *roundedRect, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT *roundedRect, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT &roundedRect, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT &roundedRect, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawRoundedRectangle (const D2D1_ROUNDED_RECT &roundedRect, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void FillRoundedRectangle (const D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush) const
 Paints the interior of the specified rounded rectangle.
 
void FillRoundedRectangle (const D2D1_ROUNDED_RECT &roundedRect, ID2D1Brush *brush) const
 
void FillRoundedRectangle (const D2D1_ROUNDED_RECT *roundedRect, const Brush &brush) const
 
void FillRoundedRectangle (const D2D1_ROUNDED_RECT &roundedRect, const Brush &brush) const
 
void DrawEllipse (const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 Draws the outline of the specified ellipse using the specified stroke style.
 
void DrawEllipse (const D2D1_ELLIPSE &ellipse, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 
void DrawEllipse (const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawEllipse (const D2D1_ELLIPSE *ellipse, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawEllipse (const D2D1_ELLIPSE *ellipse, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void DrawEllipse (const D2D1_ELLIPSE &ellipse, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawEllipse (const D2D1_ELLIPSE &ellipse, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawEllipse (const D2D1_ELLIPSE &ellipse, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void FillEllipse (const D2D1_ELLIPSE *ellipse, ID2D1Brush *brush) const
 Paints the interior of the specified ellipse.
 
void FillEllipse (const D2D1_ELLIPSE &ellipse, ID2D1Brush *brush) const
 
void FillEllipse (const D2D1_ELLIPSE *ellipse, const Brush &brush) const
 
void FillEllipse (const D2D1_ELLIPSE &ellipse, const Brush &brush) const
 
void DrawGeometry (ID2D1Geometry *geometry, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 Draws the outline of the specified geometry using the specified stroke style.
 
void DrawGeometry (const Geometry &geometry, ID2D1Brush *brush, FLOAT strokeWidth=1.0f, ID2D1StrokeStyle *strokeStyle=nullptr) const
 
void DrawGeometry (ID2D1Geometry *geometry, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawGeometry (ID2D1Geometry *geometry, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawGeometry (ID2D1Geometry *geometry, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void DrawGeometry (const Geometry &geometry, ID2D1Brush *brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawGeometry (const Geometry &geometry, const Brush &brush, FLOAT strokeWidth, const StrokeStyle &strokeStyle) const
 
void DrawGeometry (const Geometry &geometry, const Brush &brush, FLOAT strokeWidth=1.0f) const
 
void FillGeometry (ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacityBrush=nullptr) const
 Paints the interior of the specified geometry.
 
void FillGeometry (ID2D1Geometry *geometry, ID2D1Brush *brush, const Brush &opacityBrush) const
 
void FillGeometry (ID2D1Geometry *geometry, const Brush &brush, const Brush &opacityBrush) const
 
void FillGeometry (ID2D1Geometry *geometry, const Brush &brush, ID2D1Brush *opacityBrush=nullptr) const
 
void FillGeometry (const Geometry &geometry, const Brush &brush, ID2D1Brush *opacityBrush=nullptr) const
 
void FillGeometry (const Geometry &geometry, const Brush &brush, const Brush &opacityBrush) const
 
void FillMesh (ID2D1Mesh *mesh, ID2D1Brush *brush) const
 Paints the interior of the specified mesh.
 
void FillMesh (ID2D1Mesh *mesh, const Brush &brush) const
 
void FillMesh (const Mesh &mesh, ID2D1Brush *brush) const
 
void FillMesh (const Mesh &mesh, const Brush &brush) const
 
void FillOpacityMask (ID2D1Bitmap *opacityMask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content=D2D1_OPACITY_MASK_CONTENT_GRAPHICS, const D2D1_RECT_F *destinationRectangle=nullptr, const D2D1_RECT_F *sourceRectangle=nullptr) const
 Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target.
 
void FillOpacityMask (const Bitmap &opacityMask, ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content=D2D1_OPACITY_MASK_CONTENT_GRAPHICS, const D2D1_RECT_F *destinationRectangle=nullptr, const D2D1_RECT_F *sourceRectangle=nullptr) const
 
void FillOpacityMask (const Bitmap &opacityMask, const Brush &brush, D2D1_OPACITY_MASK_CONTENT content=D2D1_OPACITY_MASK_CONTENT_GRAPHICS, const D2D1_RECT_F *destinationRectangle=nullptr, const D2D1_RECT_F *sourceRectangle=nullptr) const
 
void DrawBitmap (ID2D1Bitmap *bitmap, const D2D1_RECT_F *destinationRectangle, FLOAT opacity=1.0f, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode=D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, const D2D1_RECT_F *sourceRectangle=nullptr) const
 Draws the specified bitmap after scaling it to the size of the specified rectangle.
 
void DrawBitmap (const Bitmap &bitmap, const D2D1_RECT_F *destinationRectangle, FLOAT opacity=1.0f, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode=D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, const D2D1_RECT_F *sourceRectangle=nullptr) const
 
void DrawText (const WCHAR *string, UINT32 stringLength, IDWriteTextFormat *textFormat, const D2D1_RECT_F *layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options=D2D1_DRAW_TEXT_OPTIONS_NONE, DWRITE_MEASURING_MODE measuringMode=DWRITE_MEASURING_MODE_NATURAL) const
 Draws the specified text using the format information provided by an IDWriteTextFormat object.
 
void DrawText (const WCHAR *string, UINT32 stringLength, const DirectWrite::TextFormat &textFormat, const D2D1_RECT_F *layoutRect, const Brush &defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options=D2D1_DRAW_TEXT_OPTIONS_NONE, DWRITE_MEASURING_MODE measuringMode=DWRITE_MEASURING_MODE_NATURAL) const
 
void DrawText (const WideString &text, IDWriteTextFormat *textFormat, const D2D1_RECT_F *layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options=D2D1_DRAW_TEXT_OPTIONS_NONE, DWRITE_MEASURING_MODE measuringMode=DWRITE_MEASURING_MODE_NATURAL) const
 
void DrawText (const WideString &text, const DirectWrite::TextFormat &textFormat, const D2D1_RECT_F *layoutRect, const Brush &defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options=D2D1_DRAW_TEXT_OPTIONS_NONE, DWRITE_MEASURING_MODE measuringMode=DWRITE_MEASURING_MODE_NATURAL) const
 
void DrawTextLayout (const D2D1_POINT_2F &origin, IDWriteTextLayout *textLayout, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options=D2D1_DRAW_TEXT_OPTIONS_NONE) const
 Draws the formatted text described by the specified IDWriteTextLayout object.
 
void DrawTextLayout (const D2D1_POINT_2F &origin, const DirectWrite::TextLayout &textLayout, const Brush &defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options=D2D1_DRAW_TEXT_OPTIONS_NONE) const
 
void DrawGlyphRun (const D2D1_POINT_2F &baselineOrigin, const DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode=DWRITE_MEASURING_MODE_NATURAL) const
 Draws the specified glyphs.
 
void DrawGlyphRun (const D2D1_POINT_2F &baselineOrigin, const DWRITE_GLYPH_RUN *glyphRun, const Brush &foregroundBrush, DWRITE_MEASURING_MODE measuringMode=DWRITE_MEASURING_MODE_NATURAL) const
 
void SetTransform (const D2D1_MATRIX_3X2_F *transform) const
 Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.
 
void SetTransform (const D2D1_MATRIX_3X2_F &transform) const
 
void GetTransform (D2D1_MATRIX_3X2_F *transform) const
 Gets the current transform of the render target.
 
void GetTransform (D2D1_MATRIX_3X2_F &transform) const
 
D2D1_MATRIX_3X2_F GetTransform () const
 
void SetAntialiasMode (D2D1_ANTIALIAS_MODE antialiasMode) const
 Sets the anti-aliasing mode of the render target. The anti-aliasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations.
 
D2D1_ANTIALIAS_MODE GetAntialiasMode () const
 Retrieves the current anti-aliasing mode for non-text drawing operations.
 
void SetTextAntialiasMode (D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) const
 Specifies the anti-aliasing mode to use for subsequent text and glyph drawing operations.
 
D2D1_TEXT_ANTIALIAS_MODE GetTextAntialiasMode () const
 Gets the current anti-aliasing mode for text and glyph drawing operations.
 
void SetTextRenderingParams (IDWriteRenderingParams *textRenderingParams=nullptr) const
 Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.
 
void SetTextRenderingParams (const DirectWrite::RenderingParams &textRenderingParams) const
 
void GetTextRenderingParams (IDWriteRenderingParams **textRenderingParams) const
 Retrieves the render target's current text rendering options.
 
DirectWrite::RenderingParams GetTextRenderingParams () const
 
void SetTags (D2D1_TAG tag1, D2D1_TAG tag2) const
 Specifies a label for subsequent drawing operations.
 
void GetTags (D2D1_TAG *tag1, D2D1_TAG *tag2) const
 Gets the label for subsequent drawing operations.
 
D2D1_TAG GetTag1 () const
 
D2D1_TAG GetTag2 () const
 
std::pair< D2D1_TAG, D2D1_TAG > GetTags () const
 
void PushLayer (const D2D1_LAYER_PARAMETERS *layerParameters, ID2D1Layer *layer=nullptr) const
 Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called.
 
void PushLayer (const D2D1_LAYER_PARAMETERS &layerParameters, ID2D1Layer *layer=nullptr) const
 
void PopLayer () const
 Stops redirecting drawing operations to the layer that is specified by the last PushLayer call.
 
void Flush (D2D1_TAG *tag1=nullptr, D2D1_TAG *tag2=nullptr) const
 Executes all pending drawing commands.
 
void SaveDrawingState (ID2D1DrawingStateBlock *drawingStateBlock) const
 Saves the current drawing state to the specified ID2D1DrawingStateBlock.
 
void SaveDrawingState (const DrawingStateBlock &drawingStateBlock) const
 
void RestoreDrawingState (ID2D1DrawingStateBlock *drawingStateBlock) const
 Sets the render target's drawing state to that of the specified ID2D1DrawingStateBlock.
 
void RestoreDrawingState (const DrawingStateBlock &drawingStateBlock) const
 
void PushAxisAlignedClip (const D2D1_RECT_F *clipRect, D2D1_ANTIALIAS_MODE antialiasMode=D2D1_ANTIALIAS_MODE_PER_PRIMITIVE) const
 Specifies a rectangle to which all subsequent drawing operations are clipped.
 
void PushAxisAlignedClip (const D2D1_RECT_F &clipRect, D2D1_ANTIALIAS_MODE antialiasMode=D2D1_ANTIALIAS_MODE_PER_PRIMITIVE) const
 
void PopAxisAlignedClip () const
 Removes the last axis-aligned clip from the render target. After this method is called, the clip is no longer applied to subsequent drawing operations.
 
void Clear (const D2D1_COLOR_F *clearColor=nullptr) const
 Clears the drawing area to the specified color.
 
void Clear (const D2D1_COLOR_F &clearColor) const
 
void BeginDraw () const
 Initiates drawing on this render target.
 
void EndDraw (D2D1_TAG *tag1=nullptr, D2D1_TAG *tag2=nullptr) const
 Ends drawing operations on the render target and indicates the current error state and associated tags.
 
D2D1_PIXEL_FORMAT GetPixelFormat () const
 Retrieves the pixel format and alpha mode of the render target.
 
void SetDpi (FLOAT dpiX, FLOAT dpiY) const
 Sets the dots per inch (DPI) of the render target.
 
void SetDpi (const D2D1_SIZE_F &dpi) const
 
void GetDpi (FLOAT *dpiX, FLOAT *dpiY) const
 Return the render target's dots per inch (DPI).
 
void GetDpi (FLOAT &dpiX, FLOAT &dpiY) const
 
D2D1_SIZE_F GetDpi () const
 
D2D1_SIZE_F GetSize () const
 Returns the size of the render target in device-independent pixels.
 
D2D1_SIZE_U GetPixelSize () const
 Returns the size of the render target in device pixels.
 
UINT32 GetMaximumBitmapSize () const
 Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.
 
bool IsSupported (const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties) const
 Indicates whether the render target supports the specified properties.
 
- Public Member Functions inherited from Harlinn::Windows::Graphics::Resource
template<typename T = Factory>
requires std::is_base_of_v< Factory, T>
T GetFactory ()
 
- Public Member Functions inherited from Harlinn::Common::Core::Unknown
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
 
Unknownoperator= (const Unknown &other) noexcept
 
Unknownoperator= (Unknown &&other) noexcept
 
void swap (Unknown &other) noexcept
 
void ResetPtr (IUnknown *other=nullptr, bool addRef=false) noexcept
 
Unknownoperator= (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< TAs () 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>
TGetInterfacePointer () 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

- Static Public Member Functions inherited from Harlinn::Common::Core::Unknown
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)
 
- Protected Attributes inherited from Harlinn::Common::Core::Unknown
IUnknown * unknown_
 

Detailed Description

Represents an object that can receive drawing commands. Interfaces that inherit from RenderTarget (ID2D1RenderTarget) render the drawing commands they receive in different ways.

Member Typedef Documentation

◆ Base

Member Function Documentation

◆ BeginDraw()

void Harlinn::Windows::Graphics::RenderTarget::BeginDraw ( ) const
inline

Initiates drawing on this render target.

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are used to indicate that a render target is in use by the Direct2D system. Different implementations of ID2D1RenderTarget might behave differently when BeginDraw is called. An ID2D1BitmapRenderTarget may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an ID2D1HwndRenderTarget may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an HRESULT indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing HRESULT.

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw.

Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate HRESULT and error information when EndDraw is called.

◆ Clear() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::Clear ( const D2D1_COLOR_F & clearColor) const
inline

◆ Clear() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::Clear ( const D2D1_COLOR_F * clearColor = nullptr) const
inline

Clears the drawing area to the specified color.

Parameters
clearColorThe color to which the drawing area is cleared, or NULL for transparent black.

◆ CreateBitmap() [1/5]

void Harlinn::Windows::Graphics::RenderTarget::CreateBitmap ( D2D1_SIZE_U size,
_In_opt_ CONST void * srcData,
UINT32 pitch,
_In_ CONST D2D1_BITMAP_PROPERTIES * bitmapProperties,
_COM_Outptr_ ID2D1Bitmap ** bitmap ) const
inline

Creates a Direct2D bitmap from a pointer to in-memory source data.

Parameters
sizeThe dimensions of the bitmap to create in pixels.
srcDataA pointer to the memory location of the image data, or NULL to create an uninitialized bitmap.
pitchThe byte count of each scanline, which is equal to (the image width in pixels × the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.)
bitmapPropertiesThe pixel format and dots per inch (DPI) of the bitmap to create.
bitmapWhen this method returns, contains a pointer to a pointer to the new bitmap. This parameter is passed uninitialized.

◆ CreateBitmap() [2/5]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmap ( D2D1_SIZE_U size,
const D2D1_BITMAP_PROPERTIES & bitmapProperties ) const
inline

◆ CreateBitmap() [3/5]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmap ( D2D1_SIZE_U size,
const D2D1_BITMAP_PROPERTIES * bitmapProperties ) const
inline

◆ CreateBitmap() [4/5]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmap ( D2D1_SIZE_U size,
const void * srcData,
UINT32 pitch,
const D2D1_BITMAP_PROPERTIES & bitmapProperties ) const
inline

◆ CreateBitmap() [5/5]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmap ( D2D1_SIZE_U size,
const void * srcData,
UINT32 pitch,
const D2D1_BITMAP_PROPERTIES * bitmapProperties ) const
inline

◆ CreateBitmapBrush() [1/10]

void Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( _In_ ID2D1Bitmap * bitmap,
_In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES * bitmapBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_COM_Outptr_ ID2D1BitmapBrush ** bitmapBrush ) const
inline

Creates an ID2D1BitmapBrush from the specified bitmap.

Parameters
bitmapThe bitmap contents of the new brush.
bitmapBrushProperties
brushProperties
bitmapBrush

◆ CreateBitmapBrush() [2/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( _In_ ID2D1Bitmap * bitmap,
_In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES * bitmapBrushProperties = nullptr,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties = nullptr ) const
inline

◆ CreateBitmapBrush() [3/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( _In_ ID2D1Bitmap * bitmap,
const D2D1_BITMAP_BRUSH_PROPERTIES & bitmapBrushProperties ) const
inline

◆ CreateBitmapBrush() [4/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( _In_ ID2D1Bitmap * bitmap,
const D2D1_BITMAP_BRUSH_PROPERTIES & bitmapBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties ) const
inline

◆ CreateBitmapBrush() [5/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( _In_ ID2D1Bitmap * bitmap,
const D2D1_BRUSH_PROPERTIES & brushProperties ) const
inline

◆ CreateBitmapBrush() [6/10]

void Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( const Bitmap & bitmap,
_In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES * bitmapBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_COM_Outptr_ ID2D1BitmapBrush ** bitmapBrush ) const
inline

◆ CreateBitmapBrush() [7/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( const Bitmap & bitmap,
_In_opt_ CONST D2D1_BITMAP_BRUSH_PROPERTIES * bitmapBrushProperties = nullptr,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties = nullptr ) const
inline

◆ CreateBitmapBrush() [8/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( const Bitmap & bitmap,
const D2D1_BITMAP_BRUSH_PROPERTIES & bitmapBrushProperties ) const
inline

◆ CreateBitmapBrush() [9/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( const Bitmap & bitmap,
const D2D1_BITMAP_BRUSH_PROPERTIES & bitmapBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties ) const
inline

◆ CreateBitmapBrush() [10/10]

BitmapBrush Harlinn::Windows::Graphics::RenderTarget::CreateBitmapBrush ( const Bitmap & bitmap,
const D2D1_BRUSH_PROPERTIES & brushProperties ) const
inline

◆ CreateBitmapFromWicBitmap() [1/7]

void Harlinn::Windows::Graphics::RenderTarget::CreateBitmapFromWicBitmap ( _In_ IWICBitmapSource * wicBitmapSource,
_In_opt_ CONST D2D1_BITMAP_PROPERTIES * bitmapProperties,
_COM_Outptr_ ID2D1Bitmap ** bitmap ) const
inline

Creates an ID2D1Bitmap by copying the specified Microsoft Windows Imaging Component (WIC) bitmap.

Parameters
wicBitmapSourceThe WIC bitmap to copy.
bitmapPropertiesThe pixel format and DPI of the bitmap to create. The pixel format must match the pixel format of wicBitmapSource, or the method will fail. To prevent a mismatch, you can pass NULL or pass the value obtained from calling the D2D1::PixelFormat helper function without specifying any parameter values. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. DPI information embedded in wicBitmapSource is ignored.
bitmapWhen this method returns, contains the address of a pointer to the new bitmap. This parameter is passed uninitialized.

◆ CreateBitmapFromWicBitmap() [2/7]

void Harlinn::Windows::Graphics::RenderTarget::CreateBitmapFromWicBitmap ( const Imaging::BitmapSource & wicBitmapSource,
_In_opt_ CONST D2D1_BITMAP_PROPERTIES * bitmapProperties,
_COM_Outptr_ ID2D1Bitmap ** bitmap ) const

◆ CreateBitmapFromWicBitmap() [3/7]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmapFromWicBitmap ( const Imaging::BitmapSource & wicBitmapSource,
const D2D1_BITMAP_PROPERTIES & bitmapProperties ) const

◆ CreateBitmapFromWicBitmap() [4/7]

void Harlinn::Windows::Graphics::RenderTarget::CreateBitmapFromWicBitmap ( const Imaging::BitmapSource & wicBitmapSource,
const D2D1_BITMAP_PROPERTIES & bitmapProperties,
_COM_Outptr_ ID2D1Bitmap ** bitmap ) const

◆ CreateBitmapFromWicBitmap() [5/7]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmapFromWicBitmap ( const Imaging::BitmapSource & wicBitmapSource,
const D2D1_BITMAP_PROPERTIES * bitmapProperties = nullptr ) const

◆ CreateBitmapFromWicBitmap() [6/7]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmapFromWicBitmap ( IWICBitmapSource * wicBitmapSource,
const D2D1_BITMAP_PROPERTIES & bitmapProperties ) const
inline

◆ CreateBitmapFromWicBitmap() [7/7]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateBitmapFromWicBitmap ( IWICBitmapSource * wicBitmapSource,
const D2D1_BITMAP_PROPERTIES * bitmapProperties = nullptr ) const
inline

◆ CreateCompatibleRenderTarget() [1/13]

void Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( _In_opt_ CONST D2D1_SIZE_F * desiredSize,
_In_opt_ CONST D2D1_SIZE_U * desiredPixelSize,
_In_opt_ CONST D2D1_PIXEL_FORMAT * desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,
_COM_Outptr_ ID2D1BitmapRenderTarget ** bitmapRenderTarget ) const
inline

Creates a bitmap render target for use during intermediate off-screen drawing that is compatible with the current render target.

Parameters
desiredSizeThe desired size of the new render target (in device-independent pixels), if it should be different from the original render target. For more info, see the Remarks section.
desiredPixelSizeThe desired size of the new render target in pixels if it should be different from the original render target. For more information, see the Remarks section.
desiredFormatThe desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is D2D1_ALPHA_MODE_UNKNOWN, the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED.
optionsA value that specifies whether the new render target must be compatible with GDI.
bitmapRenderTargetWhen this method returns, contains a pointer to a pointer to a new bitmap render target. This parameter is passed uninitialized.

The pixel size and DPI of the new render target can be altered by specifying values for desiredSize or desiredPixelSize:

  • If desiredSize is specified but desiredPixelSize is not, the pixel size is computed from the desired size using the parent target DPI. If the desiredSize maps to a integer-pixel size, the DPI of the compatible render target is the same as the DPI of the parent target. If desiredSize maps to a fractional-pixel size, the pixel size is rounded up to the nearest integer and the DPI for the compatible render target is slightly higher than the DPI of the parent render target. In all cases, the coordinate (desiredSize.width, desiredSize.height) maps to the lower-right corner of the compatible render target.
  • If the desiredPixelSize is specified and desiredSize is not, the DPI of the new render target is the same as the original render target.
  • If both desiredSize and desiredPixelSize are specified, the DPI of the new render target is computed to account for the difference in scale.
  • If neither desiredSize nor desiredPixelSize is specified, the new render target size and DPI match the original render target.

◆ CreateCompatibleRenderTarget() [2/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( _In_opt_ CONST D2D1_SIZE_F * desiredSize,
_In_opt_ CONST D2D1_SIZE_U * desiredPixelSize,
const D2D1_PIXEL_FORMAT & desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE ) const
inline

◆ CreateCompatibleRenderTarget() [3/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( _In_opt_ CONST D2D1_SIZE_F * desiredSize,
const D2D1_SIZE_U & desiredPixelSize,
_In_opt_ CONST D2D1_PIXEL_FORMAT * desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE ) const
inline

◆ CreateCompatibleRenderTarget() [4/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( _In_opt_ CONST D2D1_SIZE_F * desiredSize,
const D2D1_SIZE_U & desiredPixelSize,
const D2D1_PIXEL_FORMAT & desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE ) const
inline

◆ CreateCompatibleRenderTarget() [5/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( _In_opt_ CONST D2D1_SIZE_F * desiredSize = nullptr,
_In_opt_ CONST D2D1_SIZE_U * desiredPixelSize = nullptr,
_In_opt_ CONST D2D1_PIXEL_FORMAT * desiredFormat = nullptr,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE ) const
inline

◆ CreateCompatibleRenderTarget() [6/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize) const
inline

◆ CreateCompatibleRenderTarget() [7/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize,
_In_opt_ CONST D2D1_SIZE_U * desiredPixelSize,
_In_opt_ CONST D2D1_PIXEL_FORMAT * desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE ) const
inline

◆ CreateCompatibleRenderTarget() [8/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize,
_In_opt_ CONST D2D1_SIZE_U * desiredPixelSize,
const D2D1_PIXEL_FORMAT & desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE ) const
inline

◆ CreateCompatibleRenderTarget() [9/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize,
const D2D1_PIXEL_FORMAT & desiredFormat ) const
inline

◆ CreateCompatibleRenderTarget() [10/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize,
const D2D1_PIXEL_FORMAT * desiredFormat ) const
inline

◆ CreateCompatibleRenderTarget() [11/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize,
const D2D1_SIZE_U & desiredPixelSize ) const
inline

◆ CreateCompatibleRenderTarget() [12/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize,
const D2D1_SIZE_U & desiredPixelSize,
const D2D1_PIXEL_FORMAT & desiredFormat,
D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS::D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE ) const
inline

◆ CreateCompatibleRenderTarget() [13/13]

BitmapRenderTarget Harlinn::Windows::Graphics::RenderTarget::CreateCompatibleRenderTarget ( const D2D1_SIZE_F & desiredSize,
const D2D1_SIZE_U * desiredPixelSize ) const
inline

◆ CreateGradientStopCollection() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::CreateGradientStopCollection ( _In_reads_(gradientStopsCount) CONST D2D1_GRADIENT_STOP * gradientStops,
_In_range_(>=, 1) UINT32 gradientStopsCount,
D2D1_GAMMA colorInterpolationGamma,
D2D1_EXTEND_MODE extendMode,
_COM_Outptr_ ID2D1GradientStopCollection ** gradientStopCollection ) const
inline

Creates an ID2D1GradientStopCollection from the specified array of D2D1_GRADIENT_STOP structures.

Parameters
gradientStopsA pointer to an array of D2D1_GRADIENT_STOP structures.
gradientStopsCountA value greater than or equal to 1 that specifies the number of gradient stops in the gradientStops array.
colorInterpolationGammaThe space in which color interpolation between the gradient stops is performed.
extendModeThe behavior of the gradient outside the [0,1] normalized range.
gradientStopCollectionWhen this function returns, contains a pointer to a pointer to the new gradient stop collection.

◆ CreateGradientStopCollection() [2/2]

GradientStopCollection Harlinn::Windows::Graphics::RenderTarget::CreateGradientStopCollection ( _In_reads_(gradientStopsCount) CONST D2D1_GRADIENT_STOP * gradientStops,
_In_range_(>=, 1) UINT32 gradientStopsCount,
D2D1_GAMMA colorInterpolationGamma = D2D1_GAMMA_2_2,
D2D1_EXTEND_MODE extendMode = D2D1_EXTEND_MODE_CLAMP ) const
inline

◆ CreateLayer() [1/3]

Layer Harlinn::Windows::Graphics::RenderTarget::CreateLayer ( const D2D1_SIZE_F & size) const
inline

◆ CreateLayer() [2/3]

void Harlinn::Windows::Graphics::RenderTarget::CreateLayer ( const D2D1_SIZE_F * size,
ID2D1Layer ** layer ) const
inline

Creates a layer resource that can be used with this render target and its compatible render targets.

Parameters
sizeIf (0, 0) is specified, no backing store is created behind the layer resource. The layer resource is allocated to the minimum size when PushLayer is called.

When the method returns, contains a pointer to a pointer to the new layer. This parameter is passed uninitialized.

◆ CreateLayer() [3/3]

Layer Harlinn::Windows::Graphics::RenderTarget::CreateLayer ( const D2D1_SIZE_F * size = nullptr) const
inline

◆ CreateLinearGradientBrush() [1/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [2/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [3/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

Creates an ID2D1LinearGradientBrush object for painting areas with a linear gradient.

Parameters
linearGradientBrushPropertiesThe start and end points of the gradient.
brushPropertiesThe transform and base opacity of the new brush.
gradientStopCollectionA collection of D2D1_GRADIENT_STOP structures that describe the colors in the brush's gradient and their locations along the gradient line.
linearGradientBrushWhen this method returns, contains the address of a pointer to the new brush. This parameter is passed uninitialized.

◆ CreateLinearGradientBrush() [4/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [5/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

◆ CreateLinearGradientBrush() [6/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [7/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

◆ CreateLinearGradientBrush() [8/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [9/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

◆ CreateLinearGradientBrush() [10/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [11/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( _In_ CONST D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES * linearGradientBrushProperties,
ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [12/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

◆ CreateLinearGradientBrush() [13/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

◆ CreateLinearGradientBrush() [14/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [15/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

◆ CreateLinearGradientBrush() [16/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [17/21]

void Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1LinearGradientBrush ** linearGradientBrush ) const
inline

◆ CreateLinearGradientBrush() [18/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [19/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES & linearGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [20/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_POINT_2F & startPoint,
const D2D1_POINT_2F & endPoint,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateLinearGradientBrush() [21/21]

LinearGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateLinearGradientBrush ( const D2D1_POINT_2F & startPoint,
const D2D1_POINT_2F & endPoint,
ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateMesh() [1/2]

Mesh Harlinn::Windows::Graphics::RenderTarget::CreateMesh ( ) const
inline

◆ CreateMesh() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::CreateMesh ( ID2D1Mesh ** mesh) const
inline

Create a mesh that uses triangles to describe a shape.

Parameters
meshWhen this method returns, contains a pointer to a pointer to the new mesh.

◆ CreateRadialGradientBrush() [1/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [2/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

Creates an ID2D1RadialGradientBrush object that can be used to paint areas with a radial gradient.

Parameters
radialGradientBrushPropertiesThe center, gradient origin offset, and x-radius and y-radius of the brush's gradient.
brushPropertiesThe transform and base opacity of the new brush.
gradientStopCollectionA collection of D2D1_GRADIENT_STOP structures that describe the colors in the brush's gradient and their locations along the gradient line.
linearGradientBrushWhen this method returns, contains the address of a pointer to the new brush. This parameter is passed uninitialized.

◆ CreateRadialGradientBrush() [3/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [4/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

◆ CreateRadialGradientBrush() [5/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [6/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

◆ CreateRadialGradientBrush() [7/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [8/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

◆ CreateRadialGradientBrush() [9/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [10/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( _In_ CONST D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES * radialGradientBrushProperties,
ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [11/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_POINT_2F & center,
const D2D1_POINT_2F & gradientOriginOffset,
FLOAT radiusX,
FLOAT radiusY,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [12/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_POINT_2F & center,
const D2D1_POINT_2F & gradientOriginOffset,
FLOAT radiusX,
FLOAT radiusY,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [13/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

◆ CreateRadialGradientBrush() [14/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

◆ CreateRadialGradientBrush() [15/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [16/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

◆ CreateRadialGradientBrush() [17/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [18/20]

void Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
const GradientStopCollection & gradientStopCollection,
_COM_Outptr_ ID2D1RadialGradientBrush ** radialGradientBrush ) const
inline

◆ CreateRadialGradientBrush() [19/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_In_ ID2D1GradientStopCollection * gradientStopCollection ) const
inline

◆ CreateRadialGradientBrush() [20/20]

RadialGradientBrush Harlinn::Windows::Graphics::RenderTarget::CreateRadialGradientBrush ( const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES & radialGradientBrushProperties,
const D2D1_BRUSH_PROPERTIES & brushProperties,
const GradientStopCollection & gradientStopCollection ) const
inline

◆ CreateSharedBitmap() [1/3]

void Harlinn::Windows::Graphics::RenderTarget::CreateSharedBitmap ( REFIID riid,
_Inout_ void * data,
_In_opt_ CONST D2D1_BITMAP_PROPERTIES * bitmapProperties,
_COM_Outptr_ ID2D1Bitmap ** bitmap ) const
inline

Creates an ID2D1Bitmap whose data is shared with another resource.

Parameters
riidThe interface ID of the object supplying the source data.
dataAn ID2D1Bitmap, IDXGISurface, or an IWICBitmapLock that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section.
bitmapPropertiesThe pixel format and DPI of the bitmap to create . The DXGI_FORMAT portion of the pixel format must match the DXGI_FORMAT of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the D2D1::PixelFormat helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the DPI of the render target is used.
bitmapWhen this method returns, contains the address of a pointer to the new bitmap. This parameter is passed uninitialized.

The CreateSharedBitmap method is useful for efficiently reusing bitmap data and can also be used to provide interoperability with Direct3D.

Sharing an ID2D1Bitmap

By passing an ID2D1Bitmap created by a render target that is resource-compatible, you can share a bitmap with that render target; both the original ID2D1Bitmap and the new ID2D1Bitmap created by this method will point to the same bitmap data.

You may also use this method to reinterpret the data of an existing bitmap and specify a new DPI or alpha mode. For example, in the case of a bitmap atlas, an ID2D1Bitmap may contain multiple sub-images, each of which should be rendered with a different D2D1_ALPHA_MODE (D2D1_ALPHA_MODE_PREMULTIPLIED or D2D1_ALPHA_MODE_IGNORE). You could use the CreateSharedBitmap method to reinterpret the bitmap using the desired alpha mode without having to load a separate copy of the bitmap into memory.

Sharing an IDXGISurface

When using a DXGI surface render target (an ID2D1RenderTarget object created by the CreateDxgiSurfaceRenderTarget method), you can pass an IDXGISurface surface to the CreateSharedBitmap method to share video memory with Direct3D and manipulate Direct3D content as an ID2D1Bitmap.

Sharing an IWICBitmapLock

An IWICBitmapLock stores the content of a WIC bitmap and shields it from simultaneous accesses. By passing an IWICBitmapLock to the CreateSharedBitmap method, you can create an ID2D1Bitmap that points to the bitmap data already stored in the IWICBitmapLock.

To use an IWICBitmapLock with the CreateSharedBitmap method, the render target must use software rendering. To force a render target to use software rendering, set to D2D1_RENDER_TARGET_TYPE_SOFTWARE the type field of the D2D1_RENDER_TARGET_PROPERTIES structure that you use to create the render target. To check whether an existing render target uses software rendering, use the IsSupported method.

◆ CreateSharedBitmap() [2/3]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateSharedBitmap ( REFIID riid,
void * data,
const D2D1_BITMAP_PROPERTIES & bitmapProperties ) const
inline

◆ CreateSharedBitmap() [3/3]

Bitmap Harlinn::Windows::Graphics::RenderTarget::CreateSharedBitmap ( REFIID riid,
void * data,
const D2D1_BITMAP_PROPERTIES * bitmapProperties = nullptr ) const
inline

◆ CreateSolidColorBrush() [1/8]

void Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( _In_ CONST D2D1_COLOR_F * color,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_COM_Outptr_ ID2D1SolidColorBrush ** solidColorBrush ) const
inline

Creates a new ID2D1SolidColorBrush that can be used to paint areas with a solid color.

Parameters
colorThe red, green, blue, and alpha values of the brush's color.
brushPropertiesThe base opacity of the brush.
solidColorBrushWhen this method returns, contains the address of a pointer to the new brush. This parameter is passed uninitialized.

◆ CreateSolidColorBrush() [2/8]

SolidColorBrush Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( _In_ CONST D2D1_COLOR_F * color,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties = nullptr ) const
inline

◆ CreateSolidColorBrush() [3/8]

SolidColorBrush Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( _In_ CONST D2D1_COLOR_F * color,
const D2D1_BRUSH_PROPERTIES & brushProperties ) const
inline

◆ CreateSolidColorBrush() [4/8]

void Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( _In_ CONST D2D1_COLOR_F * color,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_COM_Outptr_ ID2D1SolidColorBrush ** solidColorBrush ) const
inline

◆ CreateSolidColorBrush() [5/8]

void Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( const D2D1_COLOR_F & color,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties,
_COM_Outptr_ ID2D1SolidColorBrush ** solidColorBrush ) const
inline

◆ CreateSolidColorBrush() [6/8]

SolidColorBrush Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( const D2D1_COLOR_F & color,
_In_opt_ CONST D2D1_BRUSH_PROPERTIES * brushProperties = nullptr ) const
inline

◆ CreateSolidColorBrush() [7/8]

SolidColorBrush Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( const D2D1_COLOR_F & color,
const D2D1_BRUSH_PROPERTIES & brushProperties ) const
inline

◆ CreateSolidColorBrush() [8/8]

void Harlinn::Windows::Graphics::RenderTarget::CreateSolidColorBrush ( const D2D1_COLOR_F & color,
const D2D1_BRUSH_PROPERTIES & brushProperties,
_COM_Outptr_ ID2D1SolidColorBrush ** solidColorBrush ) const
inline

◆ DrawBitmap() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::DrawBitmap ( const Bitmap & bitmap,
const D2D1_RECT_F * destinationRectangle,
FLOAT opacity = 1.0f,
D2D1_BITMAP_INTERPOLATION_MODE interpolationMode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR,
const D2D1_RECT_F * sourceRectangle = nullptr ) const
inline

◆ DrawBitmap() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::DrawBitmap ( ID2D1Bitmap * bitmap,
const D2D1_RECT_F * destinationRectangle,
FLOAT opacity = 1.0f,
D2D1_BITMAP_INTERPOLATION_MODE interpolationMode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR,
const D2D1_RECT_F * sourceRectangle = nullptr ) const
inline

Draws the specified bitmap after scaling it to the size of the specified rectangle.

Parameters
bitmapThe bitmap to render.
destinationRectangleThe size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn. If the rectangle is not well-ordered, nothing is drawn, but the render target does not enter an error state.
opacityA value between 0.0f and 1.0f, inclusive, that specifies the opacity value to be applied to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. Default is 1.0f.
interpolationModeThe interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is D2D1_BITMAP_INTERPOLATION_MODE_LINEAR.
sourceRectangleThe size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to draw; nullptr to draw the entire bitmap.

◆ DrawEllipse() [1/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE & ellipse,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawEllipse() [2/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE & ellipse,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawEllipse() [3/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE & ellipse,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawEllipse() [4/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE & ellipse,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

◆ DrawEllipse() [5/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE * ellipse,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawEllipse() [6/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE * ellipse,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawEllipse() [7/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE * ellipse,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawEllipse() [8/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawEllipse ( const D2D1_ELLIPSE * ellipse,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

Draws the outline of the specified ellipse using the specified stroke style.

Parameters
roundedRectThe position and radius of the ellipse to draw, in device-independent pixels.
brushThe brush used to paint the ellipse's outline.
strokeWidthThe width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.
strokeStyleThe style of stroke to apply to the ellipse's outline, or nullptr to paint a solid stroke.

◆ DrawGeometry() [1/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( const Geometry & geometry,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawGeometry() [2/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( const Geometry & geometry,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawGeometry() [3/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( const Geometry & geometry,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawGeometry() [4/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( const Geometry & geometry,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

◆ DrawGeometry() [5/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( ID2D1Geometry * geometry,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawGeometry() [6/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( ID2D1Geometry * geometry,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawGeometry() [7/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( ID2D1Geometry * geometry,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawGeometry() [8/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawGeometry ( ID2D1Geometry * geometry,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

Draws the outline of the specified geometry using the specified stroke style.

Parameters
geometryThe geometry to draw.
brushThe brush used to paint the geometry's stroke.
strokeWidthThe width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.
strokeStyleThe style of stroke to apply to the geometry's outline, or nullptr to paint a solid stroke.

◆ DrawGlyphRun() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::DrawGlyphRun ( const D2D1_POINT_2F & baselineOrigin,
const DWRITE_GLYPH_RUN * glyphRun,
const Brush & foregroundBrush,
DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL ) const
inline

◆ DrawGlyphRun() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::DrawGlyphRun ( const D2D1_POINT_2F & baselineOrigin,
const DWRITE_GLYPH_RUN * glyphRun,
ID2D1Brush * foregroundBrush,
DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL ) const
inline

Draws the specified glyphs.

Parameters
baselineOriginThe origin, in device-independent pixels, of the glyphs' baseline.
glyphRunThe glyphs to render.
foregroundBrushThe brush used to paint the specified glyphs.
measuringModeA value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL.

◆ DrawLine() [1/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawLine ( const D2D1_POINT_2F & point0,
const D2D1_POINT_2F & point1,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawLine() [2/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawLine ( const D2D1_POINT_2F & point0,
const D2D1_POINT_2F & point1,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawLine() [3/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawLine ( const D2D1_POINT_2F & point0,
const D2D1_POINT_2F & point1,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawLine() [4/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawLine ( const D2D1_POINT_2F & point0,
const D2D1_POINT_2F & point1,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

Draws a line between the specified points using the specified stroke style.

Parameters
point0The start point of the line, in device-independent pixels.
point1The end point of the line, in device-independent pixels.
brushThe brush used to paint the line's stroke.
strokeWidthThe width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.
strokeStyleThe style of stroke to paint, or NULL to paint a solid line.

◆ DrawRectangle() [1/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F & rect,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRectangle() [2/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F & rect,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawRectangle() [3/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F & rect,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRectangle() [4/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F & rect,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

◆ DrawRectangle() [5/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F * rect,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRectangle() [6/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F * rect,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawRectangle() [7/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F * rect,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRectangle() [8/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRectangle ( const D2D1_RECT_F * rect,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

Draws the outline of a rectangle that has the specified dimensions and stroke style.

Parameters
rectThe dimensions of the rectangle to draw, in device-independent pixels.
brushThe brush used to paint the rectangle's stroke.
strokeWidthThe width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.
strokeStyleThe style of stroke to paint, or NULL to paint a solid stroke.

◆ DrawRoundedRectangle() [1/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT & roundedRect,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRoundedRectangle() [2/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT & roundedRect,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawRoundedRectangle() [3/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT & roundedRect,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRoundedRectangle() [4/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT & roundedRect,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

◆ DrawRoundedRectangle() [5/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT * roundedRect,
const Brush & brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRoundedRectangle() [6/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT * roundedRect,
const Brush & brush,
FLOAT strokeWidth = 1.0f ) const
inline

◆ DrawRoundedRectangle() [7/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT * roundedRect,
ID2D1Brush * brush,
FLOAT strokeWidth,
const StrokeStyle & strokeStyle ) const
inline

◆ DrawRoundedRectangle() [8/8]

void Harlinn::Windows::Graphics::RenderTarget::DrawRoundedRectangle ( const D2D1_ROUNDED_RECT * roundedRect,
ID2D1Brush * brush,
FLOAT strokeWidth = 1.0f,
ID2D1StrokeStyle * strokeStyle = nullptr ) const
inline

Draws the outline of the specified rounded rectangle using the specified stroke style.

Parameters
roundedRectThe dimensions of the rounded rectangle to draw, in device-independent pixels.
brushThe brush used to paint the rounded rectangle's outline.
strokeWidthThe width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.
strokeStyleThe style of the rounded rectangle's stroke, or nullptr to paint a solid stroke. The default value is nullptr.

◆ DrawText() [1/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawText ( const WCHAR * string,
UINT32 stringLength,
const DirectWrite::TextFormat & textFormat,
const D2D1_RECT_F * layoutRect,
const Brush & defaultForegroundBrush,
D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE,
DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL ) const
inline

◆ DrawText() [2/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawText ( const WCHAR * string,
UINT32 stringLength,
IDWriteTextFormat * textFormat,
const D2D1_RECT_F * layoutRect,
ID2D1Brush * defaultForegroundBrush,
D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE,
DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL ) const
inline

Draws the specified text using the format information provided by an IDWriteTextFormat object.

Parameters
stringA pointer to an array of Unicode characters to draw.
stringLengthThe number of characters in string.
textFormatAn object that describes formatting details of the text to draw, such as the font, the font size, and flow direction.
layoutRectThe size and position of the area in which the text is drawn.
defaultForegroundBrushThe brush used to paint the text.
optionsA value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is D2D1_DRAW_TEXT_OPTIONS_NONE, which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle.
measuringModeA value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL.

◆ DrawText() [3/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawText ( const WideString & text,
const DirectWrite::TextFormat & textFormat,
const D2D1_RECT_F * layoutRect,
const Brush & defaultForegroundBrush,
D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE,
DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL ) const
inline

◆ DrawText() [4/4]

void Harlinn::Windows::Graphics::RenderTarget::DrawText ( const WideString & text,
IDWriteTextFormat * textFormat,
const D2D1_RECT_F * layoutRect,
ID2D1Brush * defaultForegroundBrush,
D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE,
DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL ) const
inline

◆ DrawTextLayout() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::DrawTextLayout ( const D2D1_POINT_2F & origin,
const DirectWrite::TextLayout & textLayout,
const Brush & defaultForegroundBrush,
D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE ) const
inline

◆ DrawTextLayout() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::DrawTextLayout ( const D2D1_POINT_2F & origin,
IDWriteTextLayout * textLayout,
ID2D1Brush * defaultForegroundBrush,
D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE ) const
inline

Draws the formatted text described by the specified IDWriteTextLayout object.

Parameters
originThe point, in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn.
textLayoutThe formatted text to draw. Any drawing effects that do not inherit from ID2D1Resource are ignored. If there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the render target is put in an error state.
defaultForegroundBrushThe brush used to paint any text in textLayout that does not already have a brush associated with it as a drawing effect (specified by the IDWriteTextLayout::SetDrawingEffect method).
optionsA value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is D2D1_DRAW_TEXT_OPTIONS_NONE, which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle.

◆ EndDraw()

void Harlinn::Windows::Graphics::RenderTarget::EndDraw ( D2D1_TAG * tag1 = nullptr,
D2D1_TAG * tag2 = nullptr ) const
inline

Ends drawing operations on the render target and indicates the current error state and associated tags.

Parameters
tag1When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.
tag2When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

◆ FillEllipse() [1/4]

void Harlinn::Windows::Graphics::RenderTarget::FillEllipse ( const D2D1_ELLIPSE & ellipse,
const Brush & brush ) const
inline

◆ FillEllipse() [2/4]

void Harlinn::Windows::Graphics::RenderTarget::FillEllipse ( const D2D1_ELLIPSE & ellipse,
ID2D1Brush * brush ) const
inline

◆ FillEllipse() [3/4]

void Harlinn::Windows::Graphics::RenderTarget::FillEllipse ( const D2D1_ELLIPSE * ellipse,
const Brush & brush ) const
inline

◆ FillEllipse() [4/4]

void Harlinn::Windows::Graphics::RenderTarget::FillEllipse ( const D2D1_ELLIPSE * ellipse,
ID2D1Brush * brush ) const
inline

Paints the interior of the specified ellipse.

Parameters
ellipseThe position and radius, in device-independent pixels, of the ellipse to paint.
brushThe brush used to paint the interior of the ellipse.

◆ FillGeometry() [1/6]

void Harlinn::Windows::Graphics::RenderTarget::FillGeometry ( const Geometry & geometry,
const Brush & brush,
const Brush & opacityBrush ) const
inline

◆ FillGeometry() [2/6]

void Harlinn::Windows::Graphics::RenderTarget::FillGeometry ( const Geometry & geometry,
const Brush & brush,
ID2D1Brush * opacityBrush = nullptr ) const
inline

◆ FillGeometry() [3/6]

void Harlinn::Windows::Graphics::RenderTarget::FillGeometry ( ID2D1Geometry * geometry,
const Brush & brush,
const Brush & opacityBrush ) const
inline

◆ FillGeometry() [4/6]

void Harlinn::Windows::Graphics::RenderTarget::FillGeometry ( ID2D1Geometry * geometry,
const Brush & brush,
ID2D1Brush * opacityBrush = nullptr ) const
inline

◆ FillGeometry() [5/6]

void Harlinn::Windows::Graphics::RenderTarget::FillGeometry ( ID2D1Geometry * geometry,
ID2D1Brush * brush,
const Brush & opacityBrush ) const
inline

◆ FillGeometry() [6/6]

void Harlinn::Windows::Graphics::RenderTarget::FillGeometry ( ID2D1Geometry * geometry,
ID2D1Brush * brush,
ID2D1Brush * opacityBrush = nullptr ) const
inline

Paints the interior of the specified geometry.

Parameters
geometryThe geometry to paint.
brushThe brush used to paint the geometry's interior.
opacityBrushThe opacity mask to apply to the geometry, or nullptr for no opacity mask. If an opacity mask (the opacityBrush parameter) is specified, brush must be an ID2D1BitmapBrush that has its x- and y-extend modes set to D2D1_EXTEND_MODE_CLAMP.

If the opacityBrush parameter is not nullptr, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored.

The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush.

◆ FillMesh() [1/4]

void Harlinn::Windows::Graphics::RenderTarget::FillMesh ( const Mesh & mesh,
const Brush & brush ) const
inline

◆ FillMesh() [2/4]

void Harlinn::Windows::Graphics::RenderTarget::FillMesh ( const Mesh & mesh,
ID2D1Brush * brush ) const
inline

◆ FillMesh() [3/4]

void Harlinn::Windows::Graphics::RenderTarget::FillMesh ( ID2D1Mesh * mesh,
const Brush & brush ) const
inline

◆ FillMesh() [4/4]

void Harlinn::Windows::Graphics::RenderTarget::FillMesh ( ID2D1Mesh * mesh,
ID2D1Brush * brush ) const
inline

Paints the interior of the specified mesh.

Parameters
meshThe mesh to paint.
brushThe brush used to paint the mesh.

The current anti-alias mode of the render target must be D2D1_ANTIALIAS_MODE_ALIASED when FillMesh is called. To change the render target's anti-alias mode, use the SetAntialiasMode function.

FillMesh does not expect a particular winding order for the triangles in the ID2D1Mesh; both clockwise and counter-clockwise will work.

◆ FillOpacityMask() [1/3]

void Harlinn::Windows::Graphics::RenderTarget::FillOpacityMask ( const Bitmap & opacityMask,
const Brush & brush,
D2D1_OPACITY_MASK_CONTENT content = D2D1_OPACITY_MASK_CONTENT_GRAPHICS,
const D2D1_RECT_F * destinationRectangle = nullptr,
const D2D1_RECT_F * sourceRectangle = nullptr ) const
inline

◆ FillOpacityMask() [2/3]

void Harlinn::Windows::Graphics::RenderTarget::FillOpacityMask ( const Bitmap & opacityMask,
ID2D1Brush * brush,
D2D1_OPACITY_MASK_CONTENT content = D2D1_OPACITY_MASK_CONTENT_GRAPHICS,
const D2D1_RECT_F * destinationRectangle = nullptr,
const D2D1_RECT_F * sourceRectangle = nullptr ) const
inline

◆ FillOpacityMask() [3/3]

void Harlinn::Windows::Graphics::RenderTarget::FillOpacityMask ( ID2D1Bitmap * opacityMask,
ID2D1Brush * brush,
D2D1_OPACITY_MASK_CONTENT content = D2D1_OPACITY_MASK_CONTENT_GRAPHICS,
const D2D1_RECT_F * destinationRectangle = nullptr,
const D2D1_RECT_F * sourceRectangle = nullptr ) const
inline

Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target.

Parameters
opacityMaskThe opacity mask to apply to the brush. The alpha value of each pixel in the region specified by sourceRectangle is multiplied with the alpha value of the brush after the brush has been mapped to the area defined by destinationRectangle.
brushThe brush used to paint the region of the render target specified by destinationRectangle.
contentThe type of content the opacity mask contains. The value is used to determine the color space in which the opacity mask is blended.
destinationRectangleThe region of the render target to paint, in device-independent pixels, or NULL. If nullptr is specified, the brush paints a rectangle the same size as sourceRectangle, but positioned on the origin. If sourceRectangle isn't specified, the brush paints a rectangle the same size as the opacityMask bitmap and positioned on the origin.
sourceRectangle

◆ FillRectangle() [1/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRectangle ( const D2D1_RECT_F & rect,
const Brush & brush ) const
inline

◆ FillRectangle() [2/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRectangle ( const D2D1_RECT_F & rect,
ID2D1Brush * brush ) const
inline

◆ FillRectangle() [3/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRectangle ( const D2D1_RECT_F * rect,
const Brush & brush ) const
inline

◆ FillRectangle() [4/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRectangle ( const D2D1_RECT_F * rect,
ID2D1Brush * brush ) const
inline

Paints the interior of the specified rectangle.

Parameters
rectThe dimension of the rectangle to paint, in device-independent pixels.
brushThe brush used to paint the rectangle's interior.

◆ FillRoundedRectangle() [1/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRoundedRectangle ( const D2D1_ROUNDED_RECT & roundedRect,
const Brush & brush ) const
inline

◆ FillRoundedRectangle() [2/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRoundedRectangle ( const D2D1_ROUNDED_RECT & roundedRect,
ID2D1Brush * brush ) const
inline

◆ FillRoundedRectangle() [3/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRoundedRectangle ( const D2D1_ROUNDED_RECT * roundedRect,
const Brush & brush ) const
inline

◆ FillRoundedRectangle() [4/4]

void Harlinn::Windows::Graphics::RenderTarget::FillRoundedRectangle ( const D2D1_ROUNDED_RECT * roundedRect,
ID2D1Brush * brush ) const
inline

Paints the interior of the specified rounded rectangle.

Parameters
roundedRectThe dimensions of the rounded rectangle to paint, in device independent pixels.
brushThe brush used to paint the interior of the rounded rectangle.

◆ Flush()

void Harlinn::Windows::Graphics::RenderTarget::Flush ( D2D1_TAG * tag1 = nullptr,
D2D1_TAG * tag2 = nullptr ) const
inline

Executes all pending drawing commands.

Parameters
tag1When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.
tag2When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

◆ GetAntialiasMode()

D2D1_ANTIALIAS_MODE Harlinn::Windows::Graphics::RenderTarget::GetAntialiasMode ( ) const
inline

Retrieves the current anti-aliasing mode for non-text drawing operations.

Returns
The current anti-aliasing mode for non-text drawing operations.

◆ GetDpi() [1/3]

D2D1_SIZE_F Harlinn::Windows::Graphics::RenderTarget::GetDpi ( ) const
inline

◆ GetDpi() [2/3]

void Harlinn::Windows::Graphics::RenderTarget::GetDpi ( FLOAT & dpiX,
FLOAT & dpiY ) const
inline

◆ GetDpi() [3/3]

void Harlinn::Windows::Graphics::RenderTarget::GetDpi ( FLOAT * dpiX,
FLOAT * dpiY ) const
inline

Return the render target's dots per inch (DPI).

Parameters
dpiXWhen this method returns, contains the horizontal DPI of the render target. This parameter is passed uninitialized.
dpiYWhen this method returns, contains the vertical DPI of the render target. This parameter is passed uninitialized.

This method indicates the mapping from pixel space to device-independent space for the render target.

For ID2D1HwndRenderTarget, the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

◆ GetMaximumBitmapSize()

UINT32 Harlinn::Windows::Graphics::RenderTarget::GetMaximumBitmapSize ( ) const
inline

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

Returns
The maximum size, in pixels, of any one bitmap dimension supported by the render target.

◆ GetPixelFormat()

D2D1_PIXEL_FORMAT Harlinn::Windows::Graphics::RenderTarget::GetPixelFormat ( ) const
inline

Retrieves the pixel format and alpha mode of the render target.

Returns
The pixel format and alpha mode of the render target.

◆ GetPixelSize()

D2D1_SIZE_U Harlinn::Windows::Graphics::RenderTarget::GetPixelSize ( ) const
inline

Returns the size of the render target in device pixels.

Returns
The size of the render target in device pixels.

◆ GetSize()

D2D1_SIZE_F Harlinn::Windows::Graphics::RenderTarget::GetSize ( ) const
inline

Returns the size of the render target in device-independent pixels.

Returns
The current size of the render target in device-independent pixels.

◆ GetTag1()

D2D1_TAG Harlinn::Windows::Graphics::RenderTarget::GetTag1 ( ) const
inline

◆ GetTag2()

D2D1_TAG Harlinn::Windows::Graphics::RenderTarget::GetTag2 ( ) const
inline

◆ GetTags() [1/2]

std::pair< D2D1_TAG, D2D1_TAG > Harlinn::Windows::Graphics::RenderTarget::GetTags ( ) const
inline

◆ GetTags() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::GetTags ( D2D1_TAG * tag1,
D2D1_TAG * tag2 ) const
inline

Gets the label for subsequent drawing operations.

Parameters
tag1When this method returns, contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If nullptr is specified, no value is retrieved for this parameter.
tag2When this method returns, contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If nullptr is specified, no value is retrieved for this parameter.

◆ GetTextAntialiasMode()

D2D1_TEXT_ANTIALIAS_MODE Harlinn::Windows::Graphics::RenderTarget::GetTextAntialiasMode ( ) const
inline

Gets the current anti-aliasing mode for text and glyph drawing operations.

Returns
The current anti-aliasing mode for text and glyph drawing operations.

◆ GetTextRenderingParams() [1/2]

DirectWrite::RenderingParams Harlinn::Windows::Graphics::RenderTarget::GetTextRenderingParams ( ) const
inline

◆ GetTextRenderingParams() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::GetTextRenderingParams ( IDWriteRenderingParams ** textRenderingParams) const
inline

Retrieves the render target's current text rendering options.

Parameters
textRenderingParamsWhen this method returns, textRenderingParams contains the address of a pointer to the render target's current text rendering options.

If the settings specified by textRenderingParams are incompatible with the render target's text anti-aliasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

◆ GetTransform() [1/3]

D2D1_MATRIX_3X2_F Harlinn::Windows::Graphics::RenderTarget::GetTransform ( ) const
inline

◆ GetTransform() [2/3]

void Harlinn::Windows::Graphics::RenderTarget::GetTransform ( D2D1_MATRIX_3X2_F & transform) const
inline

◆ GetTransform() [3/3]

void Harlinn::Windows::Graphics::RenderTarget::GetTransform ( D2D1_MATRIX_3X2_F * transform) const
inline

Gets the current transform of the render target.

Parameters
transformWhen this returns, contains the current transform of the render target. This parameter is passed uninitialized.

◆ IsSupported()

bool Harlinn::Windows::Graphics::RenderTarget::IsSupported ( const D2D1_RENDER_TARGET_PROPERTIES * renderTargetProperties) const
inline

Indicates whether the render target supports the specified properties.

Parameters
renderTargetPropertiesThe render target properties to test.
Returns
true if the specified render target properties are supported by this render target; otherwise, false.

This method does not evaluate the DPI settings specified by the renderTargetProperties parameter.

◆ PopAxisAlignedClip()

void Harlinn::Windows::Graphics::RenderTarget::PopAxisAlignedClip ( ) const
inline

Removes the last axis-aligned clip from the render target. After this method is called, the clip is no longer applied to subsequent drawing operations.

◆ PopLayer()

void Harlinn::Windows::Graphics::RenderTarget::PopLayer ( ) const
inline

Stops redirecting drawing operations to the layer that is specified by the last PushLayer call.

A call to PopLayer must match a previous PushLayer call.

◆ PushAxisAlignedClip() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::PushAxisAlignedClip ( const D2D1_RECT_F & clipRect,
D2D1_ANTIALIAS_MODE antialiasMode = D2D1_ANTIALIAS_MODE_PER_PRIMITIVE ) const
inline

◆ PushAxisAlignedClip() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::PushAxisAlignedClip ( const D2D1_RECT_F * clipRect,
D2D1_ANTIALIAS_MODE antialiasMode = D2D1_ANTIALIAS_MODE_PER_PRIMITIVE ) const
inline

Specifies a rectangle to which all subsequent drawing operations are clipped.

Parameters
clipRectThe size and position of the clipping area, in device-independent pixels.
antialiasModeThe anti-aliasing mode that is used to draw the edges of clip rects that have subpixel boundaries, and to blend the clip with the scene contents. The blending is performed once when the PopAxisAlignedClip method is called, and does not apply to each primitive within the layer.

◆ PushLayer() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::PushLayer ( const D2D1_LAYER_PARAMETERS & layerParameters,
ID2D1Layer * layer = nullptr ) const
inline

◆ PushLayer() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::PushLayer ( const D2D1_LAYER_PARAMETERS * layerParameters,
ID2D1Layer * layer = nullptr ) const
inline

Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called.

Parameters
layerParametersThe content bounds, geometric mask, opacity, opacity mask, and anti-aliasing options for the layer.
layer

The layer that receives subsequent drawing operations.

Starting with Windows 8, this parameter is optional. If a layer is not specified, Direct2D manages the layer resource automatically.

The PushLayer method allows a caller to begin redirecting rendering to a layer. All rendering operations are valid in a layer. The location of the layer is affected by the world transform set on the render target.

Each PushLayer must have a matching PopLayer call. If there are more PopLayer calls than PushLayer calls, the render target is placed into an error state. If Flush is called before all outstanding layers are popped, the render target is placed into an error state, and an error is returned. The error state can be cleared by a call to EndDraw.

A particular ID2D1Layer resource can be active only at one time. In other words, you cannot call a PushLayer method, and then immediately follow with another PushLayer method with the same layer resource. Instead, you must call the second PushLayer method with different layer resources.

◆ RestoreDrawingState() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::RestoreDrawingState ( const DrawingStateBlock & drawingStateBlock) const
inline

◆ RestoreDrawingState() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::RestoreDrawingState ( ID2D1DrawingStateBlock * drawingStateBlock) const
inline

Sets the render target's drawing state to that of the specified ID2D1DrawingStateBlock.

Parameters
drawingStateBlockThe new drawing state of the render target.

◆ SaveDrawingState() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::SaveDrawingState ( const DrawingStateBlock & drawingStateBlock) const
inline

◆ SaveDrawingState() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::SaveDrawingState ( ID2D1DrawingStateBlock * drawingStateBlock) const
inline

Saves the current drawing state to the specified ID2D1DrawingStateBlock.

Parameters
drawingStateBlockWhen this method returns, contains the current drawing state of the render target. This parameter must be initialized before passing it to the method.

◆ SetAntialiasMode()

void Harlinn::Windows::Graphics::RenderTarget::SetAntialiasMode ( D2D1_ANTIALIAS_MODE antialiasMode) const
inline

Sets the anti-aliasing mode of the render target. The anti-aliasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations.

Parameters
antialiasModeThe anti-aliasing mode for future drawing operations.

To specify the anti-aliasing mode for text and glyph operations, use the SetTextAntialiasMode function.

◆ SetDpi() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::SetDpi ( const D2D1_SIZE_F & dpi) const
inline

◆ SetDpi() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::SetDpi ( FLOAT dpiX,
FLOAT dpiY ) const
inline

Sets the dots per inch (DPI) of the render target.

Parameters
dpiXA value greater than or equal to zero that specifies the horizontal DPI of the render target.
dpiYA value greater than or equal to zero that specifies the vertical DPI of the render target.

◆ SetTags()

void Harlinn::Windows::Graphics::RenderTarget::SetTags ( D2D1_TAG tag1,
D2D1_TAG tag2 ) const
inline

Specifies a label for subsequent drawing operations.

Parameters
tag1A label to apply to subsequent drawing operations.
tag2A label to apply to subsequent drawing operations.

A tag is an application-defined 64-bit value used to mark a set of rendering operations.

The labels specified by this method are printed by debug error messages. If no tag is set, the default value for each tag is 0.

◆ SetTextAntialiasMode()

void Harlinn::Windows::Graphics::RenderTarget::SetTextAntialiasMode ( D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) const
inline

Specifies the anti-aliasing mode to use for subsequent text and glyph drawing operations.

Parameters
textAntialiasModeThe anti-aliasing mode to use for subsequent text and glyph drawing operations.

◆ SetTextRenderingParams() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::SetTextRenderingParams ( const DirectWrite::RenderingParams & textRenderingParams) const
inline

◆ SetTextRenderingParams() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::SetTextRenderingParams ( IDWriteRenderingParams * textRenderingParams = nullptr) const
inline

Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.

Parameters
textRenderingParamsThe text rendering options to be applied to all subsequent text and glyph drawing operations; pass nullptr to clear current text rendering options.

If the settings specified by textRenderingParams are incompatible with the render target's text anti-aliasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

◆ SetTransform() [1/2]

void Harlinn::Windows::Graphics::RenderTarget::SetTransform ( const D2D1_MATRIX_3X2_F & transform) const
inline

◆ SetTransform() [2/2]

void Harlinn::Windows::Graphics::RenderTarget::SetTransform ( const D2D1_MATRIX_3X2_F * transform) const
inline

Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.

Parameters
transformThe transform to apply to the render target.

The documentation for this class was generated from the following files: