diff --git a/Source/Editor/EditorAssets.cs b/Source/Editor/EditorAssets.cs index d30ca91c0..bdfc7dfa6 100644 --- a/Source/Editor/EditorAssets.cs +++ b/Source/Editor/EditorAssets.cs @@ -134,11 +134,6 @@ namespace FlaxEditor /// public static string FlaxIconBlueTexture = "Engine/Textures/FlaxIconBlue"; - /// - /// The checkboard material used as a background for displaying transparent colors. - /// - public static string ColorAlphaBackgroundGrid = "Editor/AlphaBackgroundGrid"; - /// /// The icon lists used by editor from the SegMDL2 font. /// diff --git a/Source/Editor/GUI/Input/ColorValueBox.cs b/Source/Editor/GUI/Input/ColorValueBox.cs index 1893c4124..d4bc03fd9 100644 --- a/Source/Editor/GUI/Input/ColorValueBox.cs +++ b/Source/Editor/GUI/Input/ColorValueBox.cs @@ -14,12 +14,7 @@ namespace FlaxEditor.GUI.Input [HideInEditor] public class ColorValueBox : Control { - private const String ScaleParamName = "Scale"; - // 4.8 is a magic number that makes the grid fit perfect in the color value box - private const float GridScale = 4.8f; - private bool _isMouseDown; - private MaterialBase checkerMaterial; /// /// Delegate function used for the color picker events handling. @@ -106,9 +101,6 @@ namespace FlaxEditor.GUI.Input public ColorValueBox() : base(0, 0, 32, 18) { - checkerMaterial = FlaxEngine.Content.LoadAsyncInternal(EditorAssets.ColorAlphaBackgroundGrid); - checkerMaterial = checkerMaterial.CreateVirtualInstance(); - checkerMaterial.SetParameterValue(ScaleParamName, GridScale); } /// @@ -146,7 +138,25 @@ namespace FlaxEditor.GUI.Input if (isTransparent) { var alphaRect = new Rectangle(colorRect.Right, 0, Width - colorRect.Right, Height); - Render2D.DrawMaterial(checkerMaterial, alphaRect); + + // Draw checkerboard pattern to part of the color value box + Render2D.FillRectangle(alphaRect, Color.White); + var smallRectSize = 7.9f; + var numHor = Mathf.CeilToInt(alphaRect.Width / smallRectSize); + var numVer = Mathf.CeilToInt(alphaRect.Height / smallRectSize); + for (int i = 0; i < numHor; i++) + { + for (int j = 0; j < numVer; j++) + { + if ((i + j) % 2 == 0) + { + var rect = new Rectangle(alphaRect.X + smallRectSize * i, alphaRect.Y + smallRectSize * j, new Float2(smallRectSize)); + Render2D.PushClip(alphaRect); + Render2D.FillRectangle(rect, Color.Gray); + Render2D.PopClip(); + } + } + } Render2D.FillRectangle(alphaRect, _value); }