public int CreateBitmapBrush([NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *bitmap, [NativeTypeName("ID2D1BitmapBrush **")] ID2D1BitmapBrush **bitmapBrush)
 {
     return(CreateBitmapBrush(bitmap, null, null, bitmapBrush));
 }
 public int CreateBitmapBrush([NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *bitmap, [NativeTypeName("const D2D1_BITMAP_BRUSH_PROPERTIES &")] D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, [NativeTypeName("ID2D1BitmapBrush **")] ID2D1BitmapBrush **bitmapBrush)
 {
     return(CreateBitmapBrush(bitmap, bitmapBrushProperties, null, bitmapBrush));
 }
 public void FillOpacityMask([NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *opacityMask, [NativeTypeName("ID2D1Brush *")] ID2D1Brush *brush, D2D1_OPACITY_MASK_CONTENT content, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *destinationRectangle = null, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *sourceRectangle = null)
 {
     ((delegate * stdcall <ID2D1BitmapRenderTarget *, ID2D1Bitmap *, ID2D1Brush *, D2D1_OPACITY_MASK_CONTENT, D2D_RECT_F *, D2D_RECT_F *, void>)(lpVtbl[25]))((ID2D1BitmapRenderTarget *)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle);
 }
 public void DrawBitmap([NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *bitmap, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *destinationRectangle = null, [NativeTypeName("FLOAT")] float opacity = 1.0f, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *sourceRectangle = null)
 {
     ((delegate * stdcall <ID2D1BitmapRenderTarget *, ID2D1Bitmap *, D2D_RECT_F *, float, D2D1_BITMAP_INTERPOLATION_MODE, D2D_RECT_F *, void>)(lpVtbl[26]))((ID2D1BitmapRenderTarget *)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle);
 }
 public HRESULT DrawSpriteBatch(ID2D1SpriteBatch *spriteBatch, [NativeTypeName("UINT32")] uint startIndex, [NativeTypeName("UINT32")] uint spriteCount, ID2D1Bitmap *bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, D2D1_SPRITE_OPTIONS spriteOptions)
 {
     return(((delegate * unmanaged <ID2D1CommandSink4 *, ID2D1SpriteBatch *, uint, uint, ID2D1Bitmap *, D2D1_BITMAP_INTERPOLATION_MODE, D2D1_SPRITE_OPTIONS, int>)(lpVtbl[32]))((ID2D1CommandSink4 *)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions));
 }
 public int CreateBitmapBrush([NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *bitmap, [NativeTypeName("const D2D1_BITMAP_BRUSH_PROPERTIES *")] D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, [NativeTypeName("const D2D1_BRUSH_PROPERTIES *")] D2D1_BRUSH_PROPERTIES *brushProperties, [NativeTypeName("ID2D1BitmapBrush **")] ID2D1BitmapBrush **bitmapBrush)
 {
     return(((delegate * stdcall <ID2D1BitmapRenderTarget *, ID2D1Bitmap *, D2D1_BITMAP_BRUSH_PROPERTIES *, D2D1_BRUSH_PROPERTIES *, ID2D1BitmapBrush **, int>)(lpVtbl[7]))((ID2D1BitmapRenderTarget *)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush));
 }
Esempio n. 7
0
 public void SetBitmap([NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *bitmap)
 {
     ((delegate * unmanaged <ID2D1BitmapBrush *, ID2D1Bitmap *, void>)(lpVtbl[11]))((ID2D1BitmapBrush *)Unsafe.AsPointer(ref this), bitmap);
 }
Esempio n. 8
0
 public int CopyFromBitmap([NativeTypeName("const D2D1_POINT_2U *")] D2D_POINT_2U *destPoint, [NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *bitmap, [NativeTypeName("const D2D1_RECT_U *")] D2D_RECT_U *srcRect)
 {
     return(((delegate * stdcall <ID2D1Bitmap *, D2D_POINT_2U *, ID2D1Bitmap *, D2D_RECT_U *, int>)(lpVtbl[8]))((ID2D1Bitmap *)Unsafe.AsPointer(ref this), destPoint, bitmap, srcRect));
 }
Esempio n. 9
0
 public void FlushDeviceContexts(ID2D1Bitmap *bitmap)
 {
     ((delegate * unmanaged <ID2D1Device4 *, ID2D1Bitmap *, void>)(lpVtbl[13]))((ID2D1Device4 *)Unsafe.AsPointer(ref this), bitmap);
 }
 public int CreateBitmapBrush(ID2D1Bitmap *bitmap, ID2D1BitmapBrush **bitmapBrush)
 {
     return(CreateBitmapBrush(bitmap, null, null, bitmapBrush));
 }
Esempio n. 11
0
 public void SetBitmap(ID2D1Bitmap *bitmap)
 {
     ((delegate * unmanaged <ID2D1BitmapBrush1 *, ID2D1Bitmap *, void>)(lpVtbl[11]))((ID2D1BitmapBrush1 *)Unsafe.AsPointer(ref this), bitmap);
 }
 public HRESULT CopyFromBitmap([NativeTypeName("const D2D1_POINT_2U *")] D2D_POINT_2U *destPoint, ID2D1Bitmap *bitmap, [NativeTypeName("const D2D1_RECT_U *")] D2D_RECT_U *srcRect)
 {
     return(((delegate * unmanaged <ID2D1Bitmap1 *, D2D_POINT_2U *, ID2D1Bitmap *, D2D_RECT_U *, int>)(lpVtbl[8]))((ID2D1Bitmap1 *)Unsafe.AsPointer(ref this), destPoint, bitmap, srcRect));
 }
Esempio n. 13
0
    /// <summary>
    /// Creates an <see cref="ID2D1Bitmap1"/> instance and copies data from a source bitmap.
    /// </summary>
    /// <param name="d2D1DeviceContext">The input <see cref="ID2D1DeviceContext"/> instance to use to create the bitmap.</param>
    /// <param name="d2D1Bitmap">The input <see cref="ID2D1Bitmap1"/> to read data from.</param>
    /// <param name="d2D1MappedRect">The resulting <see cref="D2D1_MAPPED_RECT"/> for the bitmap.</param>
    /// <returns>A new <see cref="ID2D1Bitmap1"/> instance.</returns>
    public static unsafe ComPtr <ID2D1Bitmap1> CreateD2D1Bitmap1Buffer(ID2D1DeviceContext *d2D1DeviceContext, ID2D1Bitmap *d2D1Bitmap, out D2D1_MAPPED_RECT d2D1MappedRect)
    {
        D2D_SIZE_U d2DSize = d2D1Bitmap->GetPixelSize();

        D2D1_BITMAP_PROPERTIES1 d2DBitmapProperties1Buffer = default;

        d2DBitmapProperties1Buffer.pixelFormat.format    = DXGI_FORMAT.DXGI_FORMAT_B8G8R8A8_UNORM;
        d2DBitmapProperties1Buffer.pixelFormat.alphaMode = D2D1_ALPHA_MODE.D2D1_ALPHA_MODE_PREMULTIPLIED;
        d2DBitmapProperties1Buffer.bitmapOptions         = D2D1_BITMAP_OPTIONS.D2D1_BITMAP_OPTIONS_CPU_READ | D2D1_BITMAP_OPTIONS.D2D1_BITMAP_OPTIONS_CANNOT_DRAW;

        using ComPtr <ID2D1Bitmap1> d2D1Bitmap1Buffer = default;

        // Create a buffer D2D1 bitmap
        d2D1DeviceContext->CreateBitmap(
            size: d2DSize,
            sourceData: null,
            pitch: 0,
            bitmapProperties: &d2DBitmapProperties1Buffer,
            bitmap: d2D1Bitmap1Buffer.GetAddressOf()).Assert();

        D2D_POINT_2U d2DPointDestination = default;
        D2D_RECT_U   d2DRectSource       = new(0, 0, d2DSize.width, d2DSize.height);

        // Copy the image from the target to the readback bitmap
        d2D1Bitmap1Buffer.Get()->CopyFromBitmap(
            destPoint: &d2DPointDestination,
            bitmap: d2D1Bitmap,
            srcRect: &d2DRectSource);

        fixed(D2D1_MAPPED_RECT *d2D1MappedRectPtr = &d2D1MappedRect)
        {
            // Map the buffer bitmap
            d2D1Bitmap1Buffer.Get()->Map(
                options: D2D1_MAP_OPTIONS.D2D1_MAP_OPTIONS_READ,
                mappedRect: d2D1MappedRectPtr).Assert();
        }

        return(d2D1Bitmap1Buffer.Move());
    }
Esempio n. 14
0
 public int DrawBitmap(ID2D1Bitmap *bitmap, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *destinationRectangle, [NativeTypeName("FLOAT")] float opacity, D2D1_INTERPOLATION_MODE interpolationMode, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *sourceRectangle, [NativeTypeName("const D2D1_MATRIX_4X4_F *")] D2D_MATRIX_4X4_F *perspectiveTransform)
 {
     return(((delegate * unmanaged <ID2D1CommandSink1 *, ID2D1Bitmap *, D2D_RECT_F *, float, D2D1_INTERPOLATION_MODE, D2D_RECT_F *, D2D_MATRIX_4X4_F *, int>)(lpVtbl[17]))((ID2D1CommandSink1 *)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform));
 }
Esempio n. 15
0
 public void FlushDeviceContexts([NativeTypeName("ID2D1Bitmap *")] ID2D1Bitmap *bitmap)
 {
     ((delegate * stdcall <ID2D1Device4 *, ID2D1Bitmap *, void>)(lpVtbl[13]))((ID2D1Device4 *)Unsafe.AsPointer(ref this), bitmap);
 }
Esempio n. 16
0
 public int FillOpacityMask(ID2D1Bitmap *opacityMask, ID2D1Brush *brush, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *destinationRectangle, [NativeTypeName("const D2D1_RECT_F *")] D2D_RECT_F *sourceRectangle)
 {
     return(((delegate * unmanaged <ID2D1CommandSink1 *, ID2D1Bitmap *, ID2D1Brush *, D2D_RECT_F *, D2D_RECT_F *, int>)(lpVtbl[21]))((ID2D1CommandSink1 *)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle));
 }
 public HRESULT CreateBitmapBrush(ID2D1Bitmap *bitmap, [NativeTypeName("const D2D1_BITMAP_BRUSH_PROPERTIES *")] D2D1_BITMAP_BRUSH_PROPERTIES *bitmapBrushProperties, [NativeTypeName("const D2D1_BRUSH_PROPERTIES *")] D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1BitmapBrush **bitmapBrush)
 {
     return(((delegate * unmanaged <ID2D1HwndRenderTarget *, ID2D1Bitmap *, D2D1_BITMAP_BRUSH_PROPERTIES *, D2D1_BRUSH_PROPERTIES *, ID2D1BitmapBrush **, int>)(lpVtbl[7]))((ID2D1HwndRenderTarget *)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush));
 }