private bool DoSplitter(Rect verticalSplitter, Rect horizontalSplitter) { EditorGUIUtility.AddCursorRect(verticalSplitter, MouseCursor.ResizeVertical); EditorGUIUtility.AddCursorRect(horizontalSplitter, MouseCursor.ResizeHorizontal); var e = Event.current; switch (e.type) { case EventType.MouseDown: if (verticalSplitter.Contains(e.mousePosition)) { m_SplitterDragging = SplitterDragging.Vertical; m_SplitterOldValue = m_State.MemoryWindowHeight; m_SplitterStart = e.mousePosition.y; e.Use(); return(true); } if (horizontalSplitter.Contains(e.mousePosition)) { m_SplitterDragging = SplitterDragging.Horizontal; m_SplitterOldValue = m_State.MemoryWindowWidth; m_SplitterStart = e.mousePosition.x; e.Use(); return(true); } break; case EventType.MouseDrag: case EventType.MouseUp: switch (m_SplitterDragging) { case SplitterDragging.Vertical: m_State.MemoryWindowHeight = Math.Max(m_SplitterOldValue + m_SplitterStart - e.mousePosition.y, kMinMemoryWindowHeight); if (e.type == EventType.MouseUp) { ClearSplitterOperation(); } e.Use(); return(true); case SplitterDragging.Horizontal: m_State.MemoryWindowWidth = Mathf.Clamp(m_SplitterOldValue + e.mousePosition.x - m_SplitterStart, kMinMemoryWindowWidth, kMaxMemoryWindowWidth); if (e.type == EventType.MouseUp) { ClearSplitterOperation(); } e.Use(); return(true); } break; } return(false); }
public AndroidLogcatMemoryViewer(EditorWindow parent, AndroidLogcatRuntimeBase runtime) { m_Parent = parent; m_Runtime = runtime; m_Material = (Material)EditorGUIUtility.LoadRequired("SceneView/HandleLines.mat"); m_State = m_Runtime.ProjectSettings.MemoryViewerState; for (int i = 0; i < kMaxEntries; i++) { m_Entries[i] = new AndroidMemoryStatistics(); } m_RequestsInQueue = 0; /* * // For Debugging purposes * for (int i = 0; i < kMaxEntries; i++) * { * InjectFakeMemoryStatistics((int)(UnityEngine.Random.value * k16MB * 2.0f)); * } * //**/ m_SplitterStart = 0; m_SplitterDragging = SplitterDragging.None; m_MemoryTypeColors[MemoryType.NativeHeap] = Color.red; m_MemoryTypeColors[MemoryType.JavaHeap] = Color.yellow; m_MemoryTypeColors[MemoryType.Code] = Color.blue; m_MemoryTypeColors[MemoryType.Stack] = Color.cyan; m_MemoryTypeColors[MemoryType.Graphics] = Color.green; m_MemoryTypeColors[MemoryType.PrivateOther] = Color.grey; m_MemoryTypeColors[MemoryType.System] = Color.magenta; m_MemoryTypeColors[MemoryType.Total] = Color.white; ClearEntries(); ValidateSettings(); }
private void ClearSplitterOperation() { m_SplitterDragging = SplitterDragging.None; m_SplitterStart = 0.0f; m_SplitterOldValue = 0.0f; }