コード例 #1
0
 public void IntermediateModeValueAndSettingsShouldBeSetProperly()
 {
     var testMode = new IntermediateMode();
     string value = testMode.Value;
     BoardSettings settings = testMode.Settings;
     Assert.AreEqual(expected: "Intermediate", actual: value);
     Assert.AreEqual(typeof(NormalBoardSettings), settings.GetType());
 }
コード例 #2
0
        CanvasRenderTarget GetIntermediateRenderTarget(IntermediateMode mode)
        {
            switch (mode)
            {
            case IntermediateMode.HighDpiRenderTarget: return(highDpiRenderTarget);

            case IntermediateMode.LowDpiRenderTarget:  return(lowDpiRenderTarget);

            default:                                   return(autoDpiRenderTarget);
            }
        }
コード例 #3
0
        ICanvasImage WrapSourceWithIntermediateImage(PerDeviceResources resources, IntermediateMode mode)
        {
            switch (mode)
            {
            case IntermediateMode.ImageEffect:
                // We can either feed our graphics through an image effect...
                resources.SaturationEffect.Source = GetSourceBitmap(resources) ??
                                                    WrapSourceWithIntermediateImage(resources, IntermediateMode.None);

                resources.AddMessage("SaturationEffect ->\n");

                return(resources.SaturationEffect);

            case IntermediateMode.CommandList:
                var cl = new CanvasCommandList(resources.ResourceCreator);
                using (var ds = cl.CreateDrawingSession())
                {
                    DrawSourceGraphic(resources, ds, 0);
                }
                resources.AddMessage("CommandList ->\n");
                return(cl);

            case IntermediateMode.ImageEffectInCommandList:
                var cl2 = new CanvasCommandList(resources.ResourceCreator);
                using (var ds = cl2.CreateDrawingSession())
                {
                    ds.DrawImage(WrapSourceWithIntermediateImage(resources, IntermediateMode.ImageEffect));
                }
                resources.AddMessage("CommandList ->\n");
                return(cl2);

            default:
                // ... or draw them into a rendertarget.
                var renderTarget = GetIntermediateRenderTarget(resources, mode);

                using (var ds = renderTarget.CreateDrawingSession())
                {
                    DrawSourceGraphic(resources, ds, 0);
                }

                var pixels = renderTarget.SizeInPixels;
                resources.AddMessage("RenderTarget (dpi: {0}, size: {1}, pixels: {2},{3}) ->\n", renderTarget.Dpi, renderTarget.Size, pixels.Width, pixels.Height);

                return(renderTarget);
            }
        }
コード例 #4
0
        ICanvasImage WrapSourceWithIntermediateImage(IntermediateMode mode)
        {
            switch (mode)
            {
            case IntermediateMode.ImageEffect:
                // We can either feed our graphics through an image effect...
                saturationEffect.Source = GetSourceBitmap() ??
                                          WrapSourceWithIntermediateImage(IntermediateMode.None);

                message += "SaturationEffect ->\n";

                return(saturationEffect);

            case IntermediateMode.CommandList:
                var cl = new CanvasCommandList(canvasControl);
                using (var ds = cl.CreateDrawingSession())
                {
                    DrawSourceGraphic(ds, 0);
                }
                message += "CommandList ->\n";
                return(cl);

            case IntermediateMode.ImageEffectInCommandList:
                var cl2 = new CanvasCommandList(canvasControl);
                using (var ds = cl2.CreateDrawingSession())
                {
                    ds.DrawImage(WrapSourceWithIntermediateImage(IntermediateMode.ImageEffect));
                }
                message += "CommandList ->\n";
                return(cl2);

            default:
                // ... or draw them into a rendertarget.
                var renderTarget = GetIntermediateRenderTarget(mode);

                using (var ds = renderTarget.CreateDrawingSession())
                {
                    DrawSourceGraphic(ds, 0);
                }

                message += string.Format("RenderTarget (dpi: {0}, size: {1}, pixels: {2}) ->\n", renderTarget.Dpi, renderTarget.Size, renderTarget.SizeInPixels);

                return(renderTarget);
            }
        }
コード例 #5
0
ファイル: DpiExample.xaml.cs プロジェクト: fikovacic/Win2D
        static CanvasRenderTarget GetIntermediateRenderTarget(PerDeviceResources resources, IntermediateMode mode)
        {
            switch (mode)
            {
            case IntermediateMode.HighDpiRenderTarget: return(resources.HighDpiRenderTarget);

            case IntermediateMode.LowDpiRenderTarget:  return(resources.LowDpiRenderTarget);

            default:                                   return(resources.AutoDpiRenderTarget);
            }
        }
コード例 #6
0
ファイル: DpiExample.xaml.cs プロジェクト: fengweijp/Win2D
 static CanvasRenderTarget GetIntermediateRenderTarget(PerDeviceResources resources, IntermediateMode mode)
 {
     switch (mode)
     {
         case IntermediateMode.HighDpiRenderTarget: return resources.HighDpiRenderTarget;
         case IntermediateMode.LowDpiRenderTarget:  return resources.LowDpiRenderTarget;
         default:                                   return resources.AutoDpiRenderTarget;
     }
 }
コード例 #7
0
ファイル: DpiExample.xaml.cs プロジェクト: fengweijp/Win2D
        ICanvasImage WrapSourceWithIntermediateImage(PerDeviceResources resources, IntermediateMode mode)
        {
            switch (mode)
            {
                case IntermediateMode.ImageEffect:
                    // We can either feed our graphics through an image effect...
                    resources.SaturationEffect.Source = GetSourceBitmap(resources) ??
                                                        WrapSourceWithIntermediateImage(resources, IntermediateMode.None);

                    resources.AddMessage("SaturationEffect ->\n");

                    return resources.SaturationEffect;

                case IntermediateMode.CommandList:
                    var cl = new CanvasCommandList(resources.ResourceCreator);
                    using (var ds = cl.CreateDrawingSession())
                    {
                        DrawSourceGraphic(resources, ds, 0);
                    }
                    resources.AddMessage("CommandList ->\n");
                    return cl;

                case IntermediateMode.ImageEffectInCommandList:
                    var cl2 = new CanvasCommandList(resources.ResourceCreator);
                    using (var ds = cl2.CreateDrawingSession())
                    {
                        ds.DrawImage(WrapSourceWithIntermediateImage(resources, IntermediateMode.ImageEffect));
                    }
                    resources.AddMessage("CommandList ->\n");
                    return cl2;

                default:
                    // ... or draw them into a rendertarget.
                    var renderTarget = GetIntermediateRenderTarget(resources, mode);

                    using (var ds = renderTarget.CreateDrawingSession())
                    {
                        DrawSourceGraphic(resources, ds, 0);
                    }

                    var pixels = renderTarget.SizeInPixels;
                    resources.AddMessage("RenderTarget (dpi: {0}, size: {1}, pixels: {2},{3}) ->\n", renderTarget.Dpi, renderTarget.Size, pixels.Width, pixels.Height);

                    return renderTarget;
            }
        }
コード例 #8
0
 public void GetPreviousShouldReturnNewBeginnerMode()
 {
     var testIntermediateMode = new IntermediateMode();
     IGameMode testBeginnerMode = testIntermediateMode.GetPrevious();
     Assert.AreEqual(expected: "Beginner", actual: testBeginnerMode.Value);
 }
コード例 #9
0
 public void GetNextShouldReturnNewExpertMode()
 {
     var testIntermediateMode = new IntermediateMode();
     IGameMode testExpertMode = testIntermediateMode.GetNext();
     Assert.AreEqual(expected: "Expert", actual: testExpertMode.Value);
 }