From dcc8f616f1e2c567dc2c273e1b720349cf57ad44 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Fri, 8 Jan 2016 15:04:59 -0800 Subject: [PATCH] Put in new micro z adjust and warning images. --- .../ControlWidgets/AdjustmentControls.cs | 58 ++---------------- StaticData/Icons/FileDialog/Warning.png | Bin 0 -> 10593 bytes StaticData/Icons/MicroDown.png | Bin 0 -> 2892 bytes StaticData/Icons/MicroUp.png | Bin 0 -> 2906 bytes 4 files changed, 6 insertions(+), 52 deletions(-) create mode 100644 StaticData/Icons/FileDialog/Warning.png create mode 100644 StaticData/Icons/MicroDown.png create mode 100644 StaticData/Icons/MicroUp.png diff --git a/PrinterControls/ControlWidgets/AdjustmentControls.cs b/PrinterControls/ControlWidgets/AdjustmentControls.cs index f8dbf7202..9a47b01db 100644 --- a/PrinterControls/ControlWidgets/AdjustmentControls.cs +++ b/PrinterControls/ControlWidgets/AdjustmentControls.cs @@ -29,6 +29,7 @@ either expressed or implied, of the FreeBSD Project. using MatterHackers.Agg; using MatterHackers.Agg.Image; +using MatterHackers.Agg.PlatformAbstract; using MatterHackers.Agg.Transform; using MatterHackers.Agg.UI; using MatterHackers.Agg.VertexSource; @@ -37,6 +38,7 @@ using MatterHackers.MatterControl.CustomWidgets; using MatterHackers.MatterControl.PrinterCommunication; using MatterHackers.VectorMath; using System; +using System.IO; namespace MatterHackers.MatterControl.PrinterControls { @@ -176,10 +178,11 @@ namespace MatterHackers.MatterControl.PrinterControls subheader2.Margin = new BorderDouble(bottom: 6); tuningRatiosLayout.AddChild(subheader2); - ImageBuffer moveDownImage; - ImageBuffer moveUpImage; + ImageBuffer moveUpImage = StaticData.Instance.LoadIcon("MicroUp.png"); + moveUpImage = ImageBuffer.CreateScaledImage(moveUpImage, 32, 32); - CreateButtonImages(out moveDownImage, out moveUpImage); + ImageBuffer moveDownImage = StaticData.Instance.LoadIcon("MicroDown.png"); + moveDownImage = ImageBuffer.CreateScaledImage(moveDownImage, 32, 32); textImageButtonFactory.FixedHeight = 0; Button moveDownButton = textImageButtonFactory.GenerateFromImages("", moveDownImage); @@ -223,55 +226,6 @@ namespace MatterHackers.MatterControl.PrinterControls this.AddChild(adjustmentControlsGroupBox); } - private static void CreateButtonImages(out ImageBuffer moveDownImage, out ImageBuffer moveUpImage) - { - PathStorage upArrow = new PathStorage(); - upArrow.MoveTo(0, 0); - upArrow.LineTo(.5, -.5); - upArrow.LineTo(.25, -.5); - upArrow.LineTo(.25, -1); - upArrow.LineTo(-.25, -1); - upArrow.LineTo(-.25, -.5); - upArrow.LineTo(-.5, -.5); - - int buttonSize = 32; - int arrowSize = buttonSize / 3; - moveDownImage = new ImageBuffer(buttonSize, buttonSize, 32, new BlenderBGRA()); - Graphics2D moveDownGraphics = moveDownImage.NewGraphics2D(); - moveDownGraphics.Clear(RGBA_Bytes.White); - - int margin = buttonSize / 16; - int lineWidth = buttonSize / 16; - //moveDownGraphics.FillRectangle(margin, buttonSize / 2 + margin, buttonSize - margin, buttonSize / 2 + margin + lineWidth, RGBA_Bytes.Black); - moveDownGraphics.FillRectangle(margin, buttonSize / 2 - margin, buttonSize - margin, buttonSize / 2 - margin - lineWidth, RGBA_Bytes.Black); - - moveUpImage = new ImageBuffer(moveDownImage); - - // point up - Affine totalTransform = Affine.NewScaling(arrowSize, arrowSize); - totalTransform *= Affine.NewTranslation(buttonSize / 2, buttonSize / 2 - margin - lineWidth); - //moveDownGraphics.Render(new VertexSourceApplyTransform(upArrow, totalTransform), RGBA_Bytes.Black); - - // point down - totalTransform = Affine.NewRotation(MathHelper.Tau / 2); - totalTransform *= Affine.NewScaling(arrowSize, arrowSize); - totalTransform *= Affine.NewTranslation(buttonSize / 2, buttonSize / 2 + margin + lineWidth); - moveDownGraphics.Render(new VertexSourceApplyTransform(upArrow, totalTransform), RGBA_Bytes.Black); - - Graphics2D moveUpGraphics = moveUpImage.NewGraphics2D(); - - // point up - totalTransform = Affine.NewScaling(arrowSize, arrowSize); - totalTransform *= Affine.NewTranslation(buttonSize / 2, buttonSize / 2 + margin + lineWidth + arrowSize + 1); - moveUpGraphics.Render(new VertexSourceApplyTransform(upArrow, totalTransform), RGBA_Bytes.Black); - - // point down - totalTransform = Affine.NewRotation(MathHelper.Tau / 2); - totalTransform *= Affine.NewScaling(arrowSize, arrowSize); - totalTransform *= Affine.NewTranslation(buttonSize / 2, buttonSize / 2 - margin - lineWidth - arrowSize - 1); - //moveUpGraphics.Render(new VertexSourceApplyTransform(upArrow, totalTransform), RGBA_Bytes.Black); - } - public override void OnClosed(EventArgs e) { if (unregisterEvents != null) diff --git a/StaticData/Icons/FileDialog/Warning.png b/StaticData/Icons/FileDialog/Warning.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b8bce6fa2660cf682e5a4db2ee4496090523a6 GIT binary patch literal 10593 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 A_y7O^ literal 0 HcmV?d00001 diff --git a/StaticData/Icons/MicroDown.png b/StaticData/Icons/MicroDown.png new file mode 100644 index 0000000000000000000000000000000000000000..9593da24495411343554a767e343227cf2863d1e GIT binary patch literal 2892 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 DbBaYE literal 0 HcmV?d00001 diff --git a/StaticData/Icons/MicroUp.png b/StaticData/Icons/MicroUp.png new file mode 100644 index 0000000000000000000000000000000000000000..2af32b4926779d4a214db2fb6a0e0b548b543148 GIT binary patch literal 2906 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 PJIDx6S3j3^P6