/* * Copyright (c) Meta Platforms, Inc. and affiliates. * All rights reserved. * * This source code is licensed under the license found in the * LICENSE file in the root directory of this source tree. */ using UnityEditor; using UnityEngine; namespace Meta.WitAi { public static class WitStyles { // Window Layout Data public const float WindowMinWidth = 0f; public const float WindowMaxWidth = 450f; public const float WindowMinHeight = 400f; public const float WindowMaxSize = 5000f; public const float WindowPaddingTop = 8f; public const float WindowPaddingBottom = 8f; public const float WindowPaddingLeft = 8f; public const float WindowPaddingRight = 8f; public const float WindowScrollBarSize = 15f; // Spacing public const float HeaderWidth = 350f; public const float HeaderPaddingBottom = 8f; public const float WizardFieldPadding = 16f; // Text padding public const float ButtonMargin = 5f; // Icons public static GUIContent PasteIcon; public static GUIContent EditIcon; public static GUIContent ResetIcon; public static GUIContent AcceptIcon; public static GUIContent ObjectPickerIcon; public static GUIContent HelpIcon; // Label Styles public static GUIStyle Label; public static GUIStyle LabelWrap; public static GUIStyle LabelError; public static GUIStyle LabelHeader; public static GUIStyle LabelSubheader; public static GUIStyle LabelStatus; public static GUIStyle LabelStatusBackground; // Button styles public static GUIStyle TextButton; private const float TextButtonHeight = 25f; public const float TextButtonPadding = 5f; public static GUIStyle IconButton; public const float IconButtonSize = 16f; // Width & Height public static GUIStyle TabButton; private const float TabButtonHeight = 40f; public static GUIStyle HeaderButton; public static Color HeaderTextColor = new Color(0.09f, 0.47f, 0.95f); // FB // Wit error color (Red if in light non-pro editor mode) public static string ErrorColor = "#cc7777"; // Wit link color (Blue if in light non-pro editor mode) public static string WitLinkColor = "#ccccff"; public const string WitLinkKey = "[COLOR]"; // Indentation public const float IndentationSpaces = 15f; // Text Field Styles public static GUIStyle TextField; public static GUIStyle IntField; public static GUIStyle PasswordField; // Foldout Style public static GUIStyle Foldout; // Toggle Style public static GUIStyle Toggle; // Popup/Dropdown Styles public static GUIStyle Popup; // Texture public static Texture2D TextureBlack25P; // Init static WitStyles() { // Setup icons PasteIcon = EditorGUIUtility.IconContent("Clipboard"); EditIcon = EditorGUIUtility.IconContent("editicon.sml"); ResetIcon = EditorGUIUtility.IconContent("TreeEditor.Trash"); AcceptIcon = EditorGUIUtility.IconContent("FilterSelectedOnly"); ObjectPickerIcon = EditorGUIUtility.IconContent("d_Record Off"); HelpIcon = EditorGUIUtility.IconContent("_Help"); // Adjust colors to be more visible on light background if (!EditorGUIUtility.isProSkin) { ErrorColor = "red"; WitLinkColor = "blue"; } // Label Styles Label = new GUIStyle(); Label.fontSize = 11; Label.padding = new RectOffset(5, 5, 0, 0); Label.margin = new RectOffset(5, 5, 0, 0); Label.alignment = TextAnchor.MiddleLeft; Label.normal.textColor = Color.white; Label.hover.textColor = Color.white; Label.active.textColor = Color.white; Label.richText = true; Label.wordWrap = false; Label.clipping = TextClipping.Clip; LabelWrap = new GUIStyle(Label); LabelWrap.wordWrap = true; LabelSubheader = new GUIStyle(Label); LabelSubheader.fontSize = 14; LabelHeader = new GUIStyle(Label); LabelHeader.fontSize = 24; LabelHeader.padding = new RectOffset(0, 0, 10, 10); LabelHeader.margin = new RectOffset(0, 0, 10, 10); LabelHeader.wordWrap = true; LabelError = new GUIStyle(Label); LabelError.wordWrap = true; Color errorColor = Color.red; ColorUtility.TryParseHtmlString(ErrorColor, out errorColor); LabelError.normal.textColor = errorColor; LabelStatus = new GUIStyle(Label); TextureBlack25P = new Texture2D(1, 1); TextureBlack25P.SetPixel(0, 0, new Color(0, 0, 0, .25f)); TextureBlack25P.Apply(); LabelStatusBackground = new GUIStyle(); LabelStatusBackground.normal.background = TextureBlack25P; LabelStatus.normal.background = TextureBlack25P; LabelStatus.wordWrap = true; LabelStatus.fontSize++; LabelStatus.alignment = TextAnchor.LowerLeft; LabelStatus.margin = new RectOffset(0, 0, 0, 0); LabelStatus.wordWrap = false; LabelStatus.fontSize = 10; // Button Styles TextButton = new GUIStyle(EditorStyles.miniButton); TextButton.alignment = TextAnchor.MiddleCenter; TextButton.fixedHeight = TextButtonHeight; TabButton = new GUIStyle(TextButton); TabButton.fixedHeight = TabButtonHeight; IconButton = new GUIStyle(Label); IconButton.margin = new RectOffset(0, 0, 0, 0); IconButton.padding = new RectOffset(0, 0, 0, 0); IconButton.fixedWidth = IconButtonSize; IconButton.fixedHeight = IconButtonSize; HeaderButton = new GUIStyle(Label); HeaderButton.normal.textColor = HeaderTextColor; // Text Field Styles TextField = new GUIStyle(EditorStyles.textField); TextField.padding = Label.padding; TextField.margin = Label.margin; TextField.alignment = Label.alignment; TextField.clipping = TextClipping.Clip; PasswordField = new GUIStyle(TextField); IntField = new GUIStyle(TextField); // Miscellaneous Foldout = new GUIStyle(EditorStyles.foldout); Toggle = new GUIStyle(EditorStyles.toggle); Popup = new GUIStyle(EditorStyles.popup); } } }