private void DragTitleBar(Rect titleBarRect)
{
int controlID = GUIUtility.GetControlID(FocusType.Passive);
Event current = Event.current;
switch (current.GetTypeForControl(controlID))
{
case EventType.MouseDown:
if ((titleBarRect.Contains(current.mousePosition) && (GUIUtility.hotControl == 0)) && (current.button == 0))
{
GUIUtility.hotControl = controlID;
Event.current.Use();
s_LastDragMousePos = GUIUtility.GUIToScreenPoint(current.mousePosition);
dragPosition = this.position;
}
break;
case EventType.MouseUp:
if (GUIUtility.hotControl == controlID)
{
GUIUtility.hotControl = 0;
Event.current.Use();
}
break;
case EventType.MouseDrag:
if (GUIUtility.hotControl == controlID)
{
Vector2 vector = GUIUtility.GUIToScreenPoint(current.mousePosition);
Vector2 vector2 = vector - s_LastDragMousePos;
s_LastDragMousePos = vector;
dragPosition.x += vector2.x;
dragPosition.y += vector2.y;
this.position = dragPosition;
GUI.changed = true;
}
break;
case EventType.Repaint:
EditorGUIUtility.AddCursorRect(titleBarRect, MouseCursor.Arrow);
break;
}
}
private static class Styles