示例#1
0
        public static IComObject <T> CreateDeviceContext <T>(this ID2D1Device device, D2D1_DEVICE_CONTEXT_OPTIONS options = 0) where T : ID2D1DeviceContext
        {
            if (device == null)
            {
                throw new ArgumentNullException(nameof(device));
            }

            device.CreateDeviceContext(options, out var dc).ThrowOnError();
            return(new ComObject <T>((T)dc));
        }
示例#2
0
        public static ID2D1DeviceContext CreateRenderTarget(
            ID2D1Factory1 factory2d,
            ID3D11Device device3d)
        {
            var dxgiDevice = device3d.QueryInterface <IDXGIDevice>();

            using (ID2D1Device device2d = factory2d.CreateDevice(dxgiDevice))
            {
                return(device2d.CreateDeviceContext(DeviceContextOptions.None));
            }
        }