12345678910111213141516171819202122232425262728293031323334 |
- using System;
- using UnityEngine;
- namespace UnityEditor
- {
- // Special Clip Scope that only effects painting, and keeps the coordinate system identical
- struct GUIViewportScope : IDisposable
- {
- bool m_open;
- public GUIViewportScope(Rect position)
- {
- m_open = false;
- if (Event.current.type == EventType.Repaint || Event.current.type == EventType.Layout)
- {
- GUI.BeginClip(position, -position.min, Vector2.zero, false);
- m_open = true;
- }
- }
- public void Dispose()
- {
- CloseScope();
- }
- void CloseScope()
- {
- if (m_open)
- {
- GUI.EndClip();
- m_open = false;
- }
- }
- }
- }
|