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()); }
CanvasRenderTarget GetIntermediateRenderTarget(IntermediateMode mode) { switch (mode) { case IntermediateMode.HighDpiRenderTarget: return(highDpiRenderTarget); case IntermediateMode.LowDpiRenderTarget: return(lowDpiRenderTarget); default: return(autoDpiRenderTarget); } }
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); } }
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); } }
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); } }
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; } }
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; } }
public void GetPreviousShouldReturnNewBeginnerMode() { var testIntermediateMode = new IntermediateMode(); IGameMode testBeginnerMode = testIntermediateMode.GetPrevious(); Assert.AreEqual(expected: "Beginner", actual: testBeginnerMode.Value); }
public void GetNextShouldReturnNewExpertMode() { var testIntermediateMode = new IntermediateMode(); IGameMode testExpertMode = testIntermediateMode.GetNext(); Assert.AreEqual(expected: "Expert", actual: testExpertMode.Value); }