You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
8.6 KiB
134 lines
8.6 KiB
using UnityEngine; |
|
using UnityEditor; |
|
using System.Collections; |
|
|
|
|
|
namespace TMPro.EditorUtilities |
|
{ |
|
|
|
public static class TMP_UIStyleManager |
|
{ |
|
public static GUIStyle label; |
|
public static GUIStyle textAreaBoxWindow; |
|
public static GUIStyle boldFoldout; |
|
public static GUIStyle panelTitle; |
|
public static GUIStyle sectionHeader; |
|
public static GUIStyle centeredLabel; |
|
public static GUIStyle rightLabel; |
|
public static GUIStyle wrappingTextArea; |
|
|
|
public static GUIStyle alignmentButtonLeft; |
|
public static GUIStyle alignmentButtonMid; |
|
public static GUIStyle alignmentButtonRight; |
|
|
|
// Alignment Button Textures |
|
public static Texture2D alignLeft; |
|
public static Texture2D alignCenter; |
|
public static Texture2D alignRight; |
|
public static Texture2D alignJustified; |
|
public static Texture2D alignFlush; |
|
public static Texture2D alignGeoCenter; |
|
public static Texture2D alignTop; |
|
public static Texture2D alignMiddle; |
|
public static Texture2D alignBottom; |
|
public static Texture2D alignBaseline; |
|
public static Texture2D alignMidline; |
|
public static Texture2D alignCapline; |
|
public static Texture2D sectionHeaderTexture; |
|
|
|
public static GUIContent[] alignContentA; |
|
public static GUIContent[] alignContentB; |
|
|
|
static TMP_UIStyleManager() |
|
{ |
|
// Find to location of the TextMesh Pro Asset Folder (as users may have moved it) |
|
var tmproAssetFolderPath = TMP_EditorUtility.packageRelativePath; |
|
|
|
if (EditorGUIUtility.isProSkin) |
|
{ |
|
alignLeft = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignLeft.psd", typeof(Texture2D)) as Texture2D; |
|
alignCenter = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignCenter.psd", typeof(Texture2D)) as Texture2D; |
|
alignRight = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignRight.psd", typeof(Texture2D)) as Texture2D; |
|
alignJustified = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignJustified.psd", typeof(Texture2D)) as Texture2D; |
|
alignFlush = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignFlush.psd", typeof(Texture2D)) as Texture2D; |
|
alignGeoCenter = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignCenterGeo.psd", typeof(Texture2D)) as Texture2D; |
|
alignTop = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignTop.psd", typeof(Texture2D)) as Texture2D; |
|
alignMiddle = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignMiddle.psd", typeof(Texture2D)) as Texture2D; |
|
alignBottom = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignBottom.psd", typeof(Texture2D)) as Texture2D; |
|
alignBaseline = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignBaseLine.psd", typeof(Texture2D)) as Texture2D; |
|
alignMidline = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignMidLine.psd", typeof(Texture2D)) as Texture2D; |
|
alignCapline = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignCapLine.psd", typeof(Texture2D)) as Texture2D; |
|
sectionHeaderTexture = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/SectionHeader_Dark.psd", typeof(Texture2D)) as Texture2D; |
|
} |
|
else |
|
{ |
|
alignLeft = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignLeft_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignCenter = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignCenter_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignRight = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignRight_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignJustified = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignJustified_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignFlush = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignFlush_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignGeoCenter = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignCenterGeo_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignTop = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignTop_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignMiddle = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignMiddle_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignBottom = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignBottom_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignBaseline = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignBaseLine_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignMidline = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignMidLine_Light.psd", typeof(Texture2D)) as Texture2D; |
|
alignCapline = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/btn_AlignCapLine_Light.psd", typeof(Texture2D)) as Texture2D; |
|
sectionHeaderTexture = AssetDatabase.LoadAssetAtPath(tmproAssetFolderPath + "/Editor Resources/Textures/SectionHeader_Light.psd", typeof(Texture2D)) as Texture2D; |
|
} |
|
|
|
label = new GUIStyle(EditorStyles.label) { richText = true, wordWrap = true, stretchWidth = true }; |
|
textAreaBoxWindow = new GUIStyle(EditorStyles.textArea) { richText = true }; |
|
boldFoldout = new GUIStyle(EditorStyles.foldout) { fontStyle = FontStyle.Bold }; |
|
panelTitle = new GUIStyle(EditorStyles.label) { fontStyle = FontStyle.Bold }; |
|
|
|
sectionHeader = new GUIStyle(EditorStyles.label) { fixedHeight = 22, richText = true, border = new RectOffset(9, 9, 0, 0), overflow = new RectOffset(9, 0, 0, 0), padding = new RectOffset(0, 0, 4, 0) }; |
|
sectionHeader.normal.background = sectionHeaderTexture; |
|
|
|
centeredLabel = new GUIStyle(EditorStyles.label) { alignment = TextAnchor.MiddleCenter}; |
|
rightLabel = new GUIStyle(EditorStyles.label) { alignment = TextAnchor.MiddleRight, richText = true }; |
|
|
|
|
|
alignmentButtonLeft = new GUIStyle(EditorStyles.miniButtonLeft); |
|
alignmentButtonLeft.padding.left = 4; |
|
alignmentButtonLeft.padding.right = 4; |
|
alignmentButtonLeft.padding.top = 2; |
|
alignmentButtonLeft.padding.bottom = 2; |
|
|
|
alignmentButtonMid = new GUIStyle(EditorStyles.miniButtonMid); |
|
alignmentButtonMid.padding.left = 4; |
|
alignmentButtonMid.padding.right = 4; |
|
alignmentButtonLeft.padding.top = 2; |
|
alignmentButtonLeft.padding.bottom = 2; |
|
|
|
alignmentButtonRight = new GUIStyle(EditorStyles.miniButtonRight); |
|
alignmentButtonRight.padding.left = 4; |
|
alignmentButtonRight.padding.right = 4; |
|
alignmentButtonLeft.padding.top = 2; |
|
alignmentButtonLeft.padding.bottom = 2; |
|
|
|
wrappingTextArea = new GUIStyle(EditorStyles.textArea); |
|
wrappingTextArea.wordWrap = true; |
|
|
|
alignContentA = new [] |
|
{ |
|
new GUIContent(alignLeft, "Left"), |
|
new GUIContent(alignCenter, "Center"), |
|
new GUIContent(alignRight, "Right"), |
|
new GUIContent(alignJustified, "Justified"), |
|
new GUIContent(alignFlush, "Flush"), |
|
new GUIContent(alignGeoCenter, "Geometry Center") |
|
}; |
|
|
|
alignContentB = new [] |
|
{ |
|
new GUIContent(alignTop, "Top"), |
|
new GUIContent(alignMiddle, "Middle"), |
|
new GUIContent(alignBottom, "Bottom"), |
|
new GUIContent(alignBaseline, "Baseline"), |
|
new GUIContent(alignMidline, "Midline"), |
|
new GUIContent(alignCapline, "Capline") |
|
}; |
|
} |
|
} |
|
}
|
|
|