Initial Commit
This commit is contained in:
parent
53eb92e9af
commit
270ab7d11f
15341 changed files with 700234 additions and 0 deletions
|
@ -0,0 +1,94 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UnityEditor.Timeline
|
||||
{
|
||||
readonly struct OverlayDrawer
|
||||
{
|
||||
enum OverlayType
|
||||
{
|
||||
BackgroundColor,
|
||||
BackgroundTexture,
|
||||
TextBox
|
||||
}
|
||||
|
||||
readonly OverlayType m_Type;
|
||||
readonly Rect m_Rect;
|
||||
readonly string m_Text;
|
||||
readonly Texture2D m_Texture;
|
||||
readonly Color m_Color;
|
||||
readonly GUIStyle m_BackgroundTextStyle;
|
||||
readonly GUIStyle m_TextStyle;
|
||||
|
||||
OverlayDrawer(Rect rectangle, Color backgroundColor)
|
||||
{
|
||||
m_Type = OverlayType.BackgroundColor;
|
||||
m_Rect = rectangle;
|
||||
m_Color = backgroundColor;
|
||||
m_Text = string.Empty;
|
||||
m_Texture = null;
|
||||
m_BackgroundTextStyle = null;
|
||||
m_TextStyle = null;
|
||||
}
|
||||
|
||||
OverlayDrawer(Rect rectangle, Texture2D backTexture)
|
||||
{
|
||||
m_Type = OverlayType.BackgroundTexture;
|
||||
m_Rect = rectangle;
|
||||
m_Color = Color.clear;
|
||||
m_Text = string.Empty;
|
||||
m_Texture = backTexture;
|
||||
m_BackgroundTextStyle = null;
|
||||
m_TextStyle = null;
|
||||
}
|
||||
|
||||
OverlayDrawer(Rect rectangle, string msg, GUIStyle textStyle, Color textColor, Color bgTextColor, GUIStyle bgTextStyle)
|
||||
{
|
||||
m_Type = OverlayType.TextBox;
|
||||
m_Rect = rectangle;
|
||||
m_Text = msg;
|
||||
m_TextStyle = textStyle;
|
||||
m_TextStyle.normal.textColor = textColor;
|
||||
m_BackgroundTextStyle = bgTextStyle;
|
||||
m_BackgroundTextStyle.normal.textColor = bgTextColor;
|
||||
m_Texture = null;
|
||||
m_Color = Color.clear;
|
||||
}
|
||||
|
||||
public static OverlayDrawer CreateColorOverlay(Rect rectangle, Color backgroundColor)
|
||||
{
|
||||
return new OverlayDrawer(rectangle, backgroundColor);
|
||||
}
|
||||
|
||||
public static OverlayDrawer CreateTextureOverlay(Rect rectangle, Texture2D backTexture)
|
||||
{
|
||||
return new OverlayDrawer(rectangle, backTexture);
|
||||
}
|
||||
|
||||
public static OverlayDrawer CreateTextBoxOverlay(Rect rectangle, string msg, GUIStyle textStyle, Color textColor, Color bgTextColor, GUIStyle bgTextStyle)
|
||||
{
|
||||
return new OverlayDrawer(rectangle, msg, textStyle, textColor, bgTextColor, bgTextStyle);
|
||||
}
|
||||
|
||||
public void Draw()
|
||||
{
|
||||
Rect overlayRect = GUIClip.Clip(m_Rect);
|
||||
switch (m_Type)
|
||||
{
|
||||
case OverlayType.BackgroundColor:
|
||||
EditorGUI.DrawRect(overlayRect, m_Color);
|
||||
break;
|
||||
case OverlayType.BackgroundTexture:
|
||||
Graphics.DrawTextureRepeated(overlayRect, m_Texture);
|
||||
break;
|
||||
case OverlayType.TextBox:
|
||||
{
|
||||
using (new GUIColorOverride(m_BackgroundTextStyle.normal.textColor))
|
||||
GUI.Box(overlayRect, GUIContent.none, m_BackgroundTextStyle);
|
||||
Graphics.ShadowLabel(overlayRect, GUIContent.Temp(m_Text), m_TextStyle, m_TextStyle.normal.textColor, Color.black);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue