summaryrefslogtreecommitdiff
path: root/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Culling/RectangularVertexClipper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Culling/RectangularVertexClipper.cs')
-rw-r--r--Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Culling/RectangularVertexClipper.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Culling/RectangularVertexClipper.cs b/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Culling/RectangularVertexClipper.cs
new file mode 100644
index 0000000..6d12322
--- /dev/null
+++ b/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Culling/RectangularVertexClipper.cs
@@ -0,0 +1,21 @@
+namespace UnityEngine.UI
+{
+ internal class RectangularVertexClipper
+ {
+ readonly Vector3[] m_WorldCorners = new Vector3[4];
+ readonly Vector3[] m_CanvasCorners = new Vector3[4];
+
+ public Rect GetCanvasRect(RectTransform t, Canvas c)
+ {
+ if (c == null)
+ return new Rect();
+
+ t.GetWorldCorners(m_WorldCorners);
+ var canvasTransform = c.GetComponent<Transform>();
+ for (int i = 0; i < 4; ++i)
+ m_CanvasCorners[i] = canvasTransform.InverseTransformPoint(m_WorldCorners[i]);
+
+ return new Rect(m_CanvasCorners[0].x, m_CanvasCorners[0].y, m_CanvasCorners[2].x - m_CanvasCorners[0].x, m_CanvasCorners[2].y - m_CanvasCorners[0].y);
+ }
+ }
+}