/// <summary>
        /// Default construtor.
        /// </summary>
        /// <param name="context">Parent SharpDXContext object.</param>
        public DrawingSurfaceContentProvider(SharpDXContext context)
        {
            this.sharpDXContext = context;

#if DEBUG
            DeviceCreationFlags creationFlags = DeviceCreationFlags.Debug;
#else
            DeviceCreationFlags creationFlags = DeviceCreationFlags.None;
#endif

            FeatureLevel[] featureLevels = 
	        {
                FeatureLevel.Level_11_1,
		        FeatureLevel.Level_11_0,
		        FeatureLevel.Level_10_1,
		        FeatureLevel.Level_10_0,
		        FeatureLevel.Level_9_3
	        };

            using (Device defaultDevice = new Device(DriverType.Hardware, creationFlags, featureLevels))
            {
                Device newDevice = defaultDevice.QueryInterface<Device1>();
                DeviceContext newContext = newDevice.ImmediateContext.QueryInterface<DeviceContext1>();

                this.sharpDXContext.OnDeviceReset(newDevice, newContext);
            }
        }
 /// <summary>
 /// Default construtor.
 /// </summary>
 /// <param name="context">Parent SharpDXContext object.</param>
 public DrawingSurfaceBackgroundContentProvider(SharpDXContext context)
 {
     this.sharpDXContext = context;
 }