public static void ColorToolsWindow() { Color lastColor = GUI.contentColor; GUILayout.BeginVertical(); // Channels { GUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Channel Mask"); GUIContent[] contents = new GUIContent[] { new GUIContent("All", "All Channels"), new GUIContent("R", "Red"), new GUIContent("G", "Green"), new GUIContent("B", "Blue") }; ColorChannelsMode temp = (ColorChannelsMode)GUILayout.Toolbar((int)colorChannelsMode, contents, toolbarButtonStyle); if (temp != colorChannelsMode) { newColorChannelsMode = temp; } GUILayout.EndHorizontal(); } // Color if (colorChannelsMode == ColorChannelsMode.AllChannels) { colorBrushColor = EditorGUILayout.ColorField("Color", colorBrushColor); } // Blend { GUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Mode"); GUIContent[] contents = new GUIContent[] { new GUIContent(tk2dEditorSkin.GetTexture("icon_pencil"), "Replace"), new GUIContent("+", "Addition"), new GUIContent("-", "Subtraction"), new GUIContent(tk2dEditorSkin.GetTexture("icon_eyedropper"), "Eyedropper") }; colorBlendMode = (ColorBlendMode)GUILayout.Toolbar((int)colorBlendMode, contents, toolbarButtonStyle); GUILayout.EndHorizontal(); } // Radius, Intensity { GUIContent radiusLabel = new GUIContent("Radius", "Shortcut - [, ]"); colorBrushRadius = EditorGUILayout.Slider(radiusLabel, colorBrushRadius, 1.0f, 64.0f); GUIContent intensityLabel = new GUIContent("Intensity", "Shortcut - Minus (-), Plus (+)"); colorBrushIntensity = EditorGUILayout.Slider(intensityLabel, colorBrushIntensity * 100.0f, 0.0f, 100.0f) / 100.0f; } // Curve { colorBrushCurve = EditorGUILayout.CurveField("Brush shape", colorBrushCurve); } GUILayout.EndVertical(); GUI.contentColor = lastColor; if (Event.current.type == EventType.Repaint) { colorChannelsMode = newColorChannelsMode; HandleUtility.Repaint(); } }
public static void ColorToolsWindow() { Color lastColor = GUI.contentColor; GUILayout.BeginVertical(); // Channels { GUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Channel Mask"); GUIContent[] contents = new GUIContent[] { new GUIContent("All", "All Channels"), new GUIContent("R", "Red"), new GUIContent("G", "Green"), new GUIContent("B", "Blue") }; ColorChannelsMode temp = (ColorChannelsMode)GUILayout.Toolbar((int)colorChannelsMode, contents, toolbarButtonStyle); if (temp != colorChannelsMode) newColorChannelsMode = temp; GUILayout.EndHorizontal(); } // Color if (colorChannelsMode == ColorChannelsMode.AllChannels) { colorBrushColor = EditorGUILayout.ColorField("Color", colorBrushColor); } // Blend { GUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Mode"); GUIContent[] contents = new GUIContent[] { new GUIContent(tk2dEditorSkin.GetTexture("icon_pencil"), "Replace"), new GUIContent("+", "Addition"), new GUIContent("-", "Subtraction"), new GUIContent(tk2dEditorSkin.GetTexture("icon_eyedropper"), "Eyedropper") }; colorBlendMode = (ColorBlendMode)GUILayout.Toolbar((int)colorBlendMode, contents, toolbarButtonStyle); GUILayout.EndHorizontal(); } // Radius, Intensity { GUIContent radiusLabel = new GUIContent("Radius", "Shortcut - [, ]"); colorBrushRadius = EditorGUILayout.Slider(radiusLabel, colorBrushRadius, 1.0f, 64.0f); GUIContent intensityLabel = new GUIContent("Intensity", "Shortcut - Minus (-), Plus (+)"); colorBrushIntensity = EditorGUILayout.Slider(intensityLabel, colorBrushIntensity * 100.0f, 0.0f, 100.0f) / 100.0f; } // Curve { colorBrushCurve = EditorGUILayout.CurveField("Brush shape", colorBrushCurve); } GUILayout.EndVertical(); GUI.contentColor = lastColor; if (Event.current.type == EventType.Repaint) { colorChannelsMode = newColorChannelsMode; HandleUtility.Repaint(); } }