CoreEditorStyles.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using UnityEngine;
  2. namespace UnityEditor.Rendering
  3. {
  4. /// <summary>Class containing style definition</summary>
  5. public static class CoreEditorStyles
  6. {
  7. /// <summary>Style for a small checkbox</summary>
  8. public static readonly GUIStyle smallTickbox;
  9. /// <summary>Style for a small checkbox in mixed state</summary>
  10. public static readonly GUIStyle smallMixedTickbox;
  11. /// <summary>Style for a minilabel button</summary>
  12. public static readonly GUIStyle miniLabelButton;
  13. static readonly Texture2D paneOptionsIconDark;
  14. static readonly Texture2D paneOptionsIconLight;
  15. /// <summary> PaneOption icon </summary>
  16. public static Texture2D paneOptionsIcon { get { return EditorGUIUtility.isProSkin ? paneOptionsIconDark : paneOptionsIconLight; } }
  17. static CoreEditorStyles()
  18. {
  19. smallTickbox = new GUIStyle("ShurikenToggle");
  20. smallMixedTickbox = new GUIStyle("ShurikenToggleMixed");
  21. var transparentTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);
  22. transparentTexture.SetPixel(0, 0, Color.clear);
  23. transparentTexture.Apply();
  24. miniLabelButton = new GUIStyle(EditorStyles.miniLabel);
  25. miniLabelButton.normal = new GUIStyleState
  26. {
  27. background = transparentTexture,
  28. scaledBackgrounds = null,
  29. textColor = Color.grey
  30. };
  31. var activeState = new GUIStyleState
  32. {
  33. background = transparentTexture,
  34. scaledBackgrounds = null,
  35. textColor = Color.white
  36. };
  37. miniLabelButton.active = activeState;
  38. miniLabelButton.onNormal = activeState;
  39. miniLabelButton.onActive = activeState;
  40. paneOptionsIconDark = (Texture2D)EditorGUIUtility.Load("Builtin Skins/DarkSkin/Images/pane options.png");
  41. paneOptionsIconLight = (Texture2D)EditorGUIUtility.Load("Builtin Skins/LightSkin/Images/pane options.png");
  42. }
  43. }
  44. }