/// <summary>
 /// Creates an <see cref="WindowRenderTarget"/>, a render target that renders to a window.
 /// </summary>
 /// <remarks>
 /// When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the {{D2DERR_RECREATE_TARGET}} error is received. When you receive this error, you need to recreate the render target (and any resources it created).
 /// </remarks>
 /// <param name="factory">an instance of <see cref = "SharpDX.Direct2D1.Factory" /></param>
 /// <param name="renderTargetProperties">The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see  {{Supported Pixel  Formats and Alpha Modes}}.</param>
 /// <param name="hwndProperties">The window handle, initial size (in pixels), and present options.</param>
 public WindowRenderTarget(Factory factory, RenderTargetProperties renderTargetProperties, HwndRenderTargetProperties hwndProperties)
     : base(IntPtr.Zero)
 {
     factory.CreateHwndRenderTarget(ref renderTargetProperties, ref hwndProperties, this);
 }