summaryrefslogtreecommitdiff
path: root/Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs
blob: f803ac206137cd91b10107bdd69e3313de35ce36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using UnityEngine;

namespace AmplifyShaderEditor
{
	public static class RectExtension
	{
		private static Rect ValidateBoundaries( this Rect thisRect )
		{
			if ( thisRect.yMin > thisRect.yMax )
			{
				float yMin = thisRect.yMin;
				thisRect.yMin = thisRect.yMax;
				thisRect.yMax = yMin;
			}

			if ( thisRect.xMin > thisRect.xMax )
			{
				float xMin = thisRect.xMin;
				thisRect.xMin = thisRect.xMax;
				thisRect.xMax = xMin;
			}
			return thisRect;
		}

		public static bool Includes( this Rect thisRect , Rect other )
		{
			thisRect = thisRect.ValidateBoundaries();
			other = other.ValidateBoundaries();

			if ( other.xMin >= thisRect.xMin && other.xMax <= thisRect.xMax )
			{
				if ( other.yMin >= thisRect.yMin && other.yMax <= thisRect.yMax )
				{
					return true;
				}
			}
			return false;
		}
	}
}