// #define GENERATE_DESATURATED_ICONS
using UnityEngine.ProBuilder;
using UnityEngine;
using UnityEditor;
namespace UnityEditor.ProBuilder
{
///
/// Styles used in MenuAction.
///
static class MenuActionStyles
{
internal static readonly Color TEXT_COLOR_WHITE_NORMAL = new Color(0.82f, 0.82f, 0.82f, 1f);
internal static readonly Color TEXT_COLOR_WHITE_HOVER = new Color(0.7f, 0.7f, 0.7f, 1f);
internal static readonly Color TEXT_COLOR_WHITE_ACTIVE = new Color(0.5f, 0.5f, 0.5f, 1f);
static GUIStyle s_ButtonStyleVertical = null;
static GUIStyle s_ButtonStyleHorizontal = null;
static GUIStyle s_RowStyleVertical = null;
static GUIStyle s_RowStyleHorizontal = null;
static GUIStyle s_AltButtonStyle = null;
///
/// Reset static GUIStyle objects so that they will be re-initialized the next time used.
///
internal static void ResetStyles()
{
s_ButtonStyleVertical = null;
s_ButtonStyleHorizontal = null;
s_RowStyleVertical = null;
s_AltButtonStyle = null;
}
///
/// Vertical icon button.
///
internal static GUIStyle buttonStyleVertical
{
get
{
if (s_ButtonStyleVertical == null)
{
s_ButtonStyleVertical = new GUIStyle();
s_ButtonStyleVertical.normal.background = IconUtility.GetIcon("Toolbar/Button_Normal", IconSkin.Pro);
s_ButtonStyleVertical.normal.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_NORMAL : Color.black;
s_ButtonStyleVertical.hover.background = IconUtility.GetIcon("Toolbar/Button_Hover", IconSkin.Pro);
s_ButtonStyleVertical.hover.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_HOVER : Color.black;
s_ButtonStyleVertical.active.background = IconUtility.GetIcon("Toolbar/Button_Pressed", IconSkin.Pro);
s_ButtonStyleVertical.active.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_ACTIVE : Color.black;
s_ButtonStyleVertical.alignment = ProBuilderEditor.s_IsIconGui ? TextAnchor.MiddleCenter : TextAnchor.MiddleLeft;
s_ButtonStyleVertical.border = new RectOffset(4, 0, 0, 0);
s_ButtonStyleVertical.stretchWidth = true;
s_ButtonStyleVertical.stretchHeight = false;
s_ButtonStyleVertical.margin = new RectOffset(4, 5, 4, 4);
s_ButtonStyleVertical.padding = new RectOffset(8, 0, 2, 2);
}
return s_ButtonStyleVertical;
}
}
internal static GUIStyle buttonStyleHorizontal
{
get
{
if (s_ButtonStyleHorizontal == null)
{
s_ButtonStyleHorizontal = new GUIStyle();
s_ButtonStyleHorizontal.normal.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_NORMAL : Color.black;
s_ButtonStyleHorizontal.normal.background = IconUtility.GetIcon("Toolbar/Button_Normal_Horizontal", IconSkin.Pro);
s_ButtonStyleHorizontal.hover.background = IconUtility.GetIcon("Toolbar/Button_Hover_Horizontal", IconSkin.Pro);
s_ButtonStyleHorizontal.hover.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_HOVER : Color.black;
s_ButtonStyleHorizontal.active.background = IconUtility.GetIcon("Toolbar/Button_Pressed_Horizontal", IconSkin.Pro);
s_ButtonStyleHorizontal.active.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_ACTIVE : Color.black;
s_ButtonStyleHorizontal.alignment = TextAnchor.MiddleCenter;
s_ButtonStyleHorizontal.border = new RectOffset(0, 0, 4, 0);
s_ButtonStyleHorizontal.stretchWidth = true;
s_ButtonStyleHorizontal.stretchHeight = false;
s_ButtonStyleHorizontal.margin = new RectOffset(4, 4, 4, 5);
s_ButtonStyleHorizontal.padding = new RectOffset(2, 2, 8, 0);
}
return s_ButtonStyleHorizontal;
}
}
internal static GUIStyle rowStyleVertical
{
get
{
if (s_RowStyleVertical == null)
{
s_RowStyleVertical = new GUIStyle();
s_RowStyleVertical.alignment = TextAnchor.MiddleLeft;
s_RowStyleVertical.stretchWidth = true;
s_RowStyleVertical.stretchHeight = false;
s_RowStyleVertical.margin = new RectOffset(0, 0, 0, 0);
s_RowStyleVertical.padding = new RectOffset(0, 0, 0, 0);
}
return s_RowStyleVertical;
}
}
internal static GUIStyle rowStyleHorizontal
{
get
{
if (s_RowStyleHorizontal == null)
{
s_RowStyleHorizontal = new GUIStyle();
s_RowStyleHorizontal.alignment = TextAnchor.MiddleCenter;
s_RowStyleHorizontal.stretchWidth = true;
s_RowStyleHorizontal.stretchHeight = false;
s_RowStyleHorizontal.margin = new RectOffset(0, 0, 0, 0);
s_RowStyleHorizontal.padding = new RectOffset(0, 0, 0, 0);
}
return s_RowStyleHorizontal;
}
}
internal static GUIStyle altButtonStyle
{
get
{
if (s_AltButtonStyle == null)
{
s_AltButtonStyle = new GUIStyle();
s_AltButtonStyle.normal.background = IconUtility.GetIcon("Toolbar/AltButton_Normal", IconSkin.Pro);
s_AltButtonStyle.normal.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_NORMAL : Color.black;
s_AltButtonStyle.hover.background = IconUtility.GetIcon("Toolbar/AltButton_Hover", IconSkin.Pro);
s_AltButtonStyle.hover.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_HOVER : Color.black;
s_AltButtonStyle.active.background = IconUtility.GetIcon("Toolbar/AltButton_Pressed", IconSkin.Pro);
s_AltButtonStyle.active.textColor = EditorGUIUtility.isProSkin ? TEXT_COLOR_WHITE_ACTIVE : Color.black;
s_AltButtonStyle.alignment = TextAnchor.MiddleCenter;
s_AltButtonStyle.border = new RectOffset(1, 1, 1, 1);
s_AltButtonStyle.stretchWidth = false;
s_AltButtonStyle.stretchHeight = true;
s_AltButtonStyle.margin = new RectOffset(4, 4, 4, 4);
s_AltButtonStyle.padding = new RectOffset(2, 2, 1, 3);
}
return s_AltButtonStyle;
}
}
}
}