public async Task RenderPreviewImage()
        {
			using (var source = KnownImages.Nurse.ImageSource)
            using (var effect = new EllipticFocusDepthOfFieldEffect(source, new FocusEllipse(new Point(0.5, 0.3), new EllipseRadius(0.2, 0.2)), 1.0, DepthOfFieldQuality.Preview))
            using (var renderer = new JpegRenderer(effect))
            {
                var buffer = await renderer.RenderAsync();

				ImageResults.Instance.SaveToPicturesLibrary(buffer, "EllipticFocusDepthOfFieldEffectTest_Preview.jpg");
            }
        }
        public async Task RenderWithZeroWidthFocusAreaSuccedes()
        {
			using (var source = KnownImages.Nurse.ImageSource)
            using (var effect = new EllipticFocusDepthOfFieldEffect(source, new FocusEllipse(new Point(0.5, 0.3), new EllipseRadius(0.0, 0.0)), 1.0, DepthOfFieldQuality.Full))
            using (var renderer = new JpegRenderer(effect))
            {
                var buffer = await renderer.RenderAsync();

				ImageResults.Instance.SaveToPicturesLibrary(buffer, "EllipticFocusDepthOfFieldEffectTest_ZeroWidthFocusArea.jpg");
            }
        }
        protected override MaybeTask<IImageProvider> GetEffectInternalAsync(IImageProvider source, Windows.Foundation.Size sourceSize, Windows.Foundation.Size renderSize)
        {
            if (m_effectEffect == null)
            {
                m_effectEffect = new EllipticFocusDepthOfFieldEffect(source, m_ellipseFocus1, 1.0, DepthOfFieldQuality.Preview);
            }
            else
            {
                if (source != m_effectEffect.Source)
                {
                    m_effectEffect.Source = source;
                }

                if (m_effectEffect.FocusArea != m_selectedEllipse)
                {
                    m_effectEffect.FocusArea = m_selectedEllipse;
                }
            }

            return new MaybeTask<IImageProvider>(m_effectEffect);
        }