GL.Lines width issues

Hello everyone, I have an issue that I have yet to find a solution to. I have come up with a way in which to increase the width of the GL.Lines function however in quadrant 2 and quadrant 4 the line converges on itself. I am using two windows which can be dragged around and I want a line to attach to the corner of them at all times, I have all of that working except for this last piece. Heres what I have for code right now. I have thought about using GL.Quads but its doesn’t seem to come out quite right.

            bool quadrant = false;
			if ((pointRect.x > point2Rect.x && pointRect.y > point2Rect.y) || (pointRect.x < point2Rect.x && pointRect.y < point2Rect.y))
			{
				quadrant = false;	
			}
			else
			{
				quadrant = true;	
			}
			
	 		GL.PushMatrix();
	        mat.SetPass(0);
	        GL.LoadOrtho();
	        GL.Begin(GL.LINES);
			if (quadrant)
			{
				for(float i = 30.25f; i < 34.25f; i +=.01f)
				{
					GL.Vertex(new Vector3((pointRect.x + i)/Screen.width, 1 - (pointRect.y + (i + 50.75f))/Screen.height, 0));
					GL.Vertex(new Vector3((point2Rect.x + i)/Screen.width, 1 -  (point2Rect.y + (i+50.75f))/Screen.height, 0));
				}
			}
			else
			{
				for(float i = 30.25f; i < 34.25f; i +=.01f)
				{
					GL.Vertex(new Vector3((pointRect.x + i)/Screen.width, 1 - (pointRect.y + (i + 50.75f))/Screen.height, 0));
					GL.Vertex(new Vector3((point2Rect.x + i)/Screen.width, 1 -  (point2Rect.y + (i+50.75f))/Screen.height, 0));
				}	
			}
	        GL.End();
	        GL.PopMatrix();

Well I didn’t quite solve my issue but I found a new and much easier to manipulate method.

            float x1 = pointRect.x;
			float y1 = pointRect.y;
			float x2 = point2Rect.x;
			float y2 = point2Rect.y;
			
			float hypotenuseDist = Vector3.Distance(new Vector3(pointRect.x, pointRect.y, 0), new Vector3(point2Rect.x, point2Rect.y, 0));
			float adjacentDist = Vector3.Distance(new Vector3(pointRect.x, pointRect.y, 0), new Vector3(point2Rect.x, pointRect.y, 0));
			float drawOneAngle = (Mathf.Acos(adjacentDist/hypotenuseDist)) * Mathf.Rad2Deg;  //Mathf.acos outputs in radians convert to degrees by multiplying by Mathf.Rad2Deg
			float drawTwoAngle = (180 - 90 -drawOneAngle);  //All triangles add up to 180 degrees, so start with 180, subtract the 90 degree right angle as well as the first angle we found from above to find the third angle
			float lineDist = Vector2.Distance(new Vector2(pointRect.x, pointRect.y),new Vector2(point2Rect.x, point2Rect.y));
			Rect lineRect = new Rect (pointRect.x + 32.5f, pointRect.y + 83, lineDist, 4);
			//Remember screen.height is inversed
			if (x1>x2 && y1>y2) //Q1
				rotAngle = -drawTwoAngle - 90;
			if (x1<x2 && y1>y2) //Q2
				rotAngle = drawTwoAngle - 90;
			if (x1<x2 && y1<y2) //Q3
				rotAngle = -drawTwoAngle + 90;
			if (x1>x2 && y1<y2) //Q4
				rotAngle = drawTwoAngle + 90;

			GUI.backgroundColor = Color.black;
			pivotPoint = new Vector2 (lineRect.x, lineRect.y);
			GUIUtility.RotateAroundPivot(rotAngle, pivotPoint);
			GUI.Box(lineRect,"");
			GUI.matrix = offan.oldMatrix;
			GUI.backgroundColor = Color.white;