public D2D1DCRenderTarget CreateDCRenderTarget(D2D1RenderTargetProperties renderTargetProperties)
        {
            ID2D1DCRenderTarget renderTarget;

            this.factory.CreateDCRenderTarget(ref renderTargetProperties, out renderTarget);
            return(new D2D1DCRenderTarget(renderTarget));
        }
        public D2D1HwndRenderTarget CreateHwndRenderTarget(D2D1RenderTargetProperties renderTargetProperties, D2D1HwndRenderTargetProperties hwndRenderTargetProperties)
        {
            ID2D1HwndRenderTarget hwndRenderTarget;

            this.factory.CreateHwndRenderTarget(ref renderTargetProperties, ref hwndRenderTargetProperties, out hwndRenderTarget);
            return(new D2D1HwndRenderTarget(hwndRenderTarget));
        }
        public D2D1RenderTarget CreateWicBitmapRenderTarget(object target, D2D1RenderTargetProperties renderTargetProperties)
        {
            if (target == null)
            {
                throw new ArgumentNullException("target");
            }

            ID2D1RenderTarget renderTarget;

            this.factory.CreateWicBitmapRenderTarget((IWICBitmap)target, ref renderTargetProperties, out renderTarget);
            return(new D2D1RenderTargetBase(renderTarget));
        }
        public D2D1RenderTarget CreateDxgiSurfaceRenderTarget(DxgiSurface3 dxgiSurface, D2D1RenderTargetProperties renderTargetProperties)
        {
            if (dxgiSurface == null)
            {
                throw new ArgumentNullException("dxgiSurface");
            }

            ID2D1RenderTarget renderTarget;

            this.factory.CreateDxgiSurfaceRenderTarget((IDxgiSurface)dxgiSurface.Handle, ref renderTargetProperties, out renderTarget);
            return(new D2D1RenderTargetBase(renderTarget));
        }