public DialDrawing(double[] hourLineAngles, int[] lineLabels) {
			super(new GridLayout(1, 1));
			setBackground(Color.white);
			//************************************************************Screen Resolution**************************************************************************************************
			this.width = Toolkit.getDefaultToolkit().getScreenSize().width;
			this.height = Toolkit.getDefaultToolkit().getScreenSize().height;
			//**************************************************Initializing the Coordinates of the border***********************************************************************************
			//left side
			this.left_point_x = this.width*.05;
			this.left_point_y1 = this.height*.05;
			this.left_point_y2 = this.height*.85;
			//right side
			this.right_point_x = this.width*.90;
			this.right_point_y1 = this.height*.05;
			this.right_point_y2 = this.height*.85;
			//top side
			this.top_point_x1 = this.width*.05;
			this.top_point_x2 = this.width*.90;
			this.top_point_y = this.height*.05;
			//bottom side
			this.bottom_point_x1 = this.width*.05;
			this.bottom_point_x2 = this.width*.90;
			this.bottom_point_y = this.height*.85;
			
			//*************************************************************Initializing the length and width of the border****************************************************************
			this.origin = (((this.width*.90 - this.width*.05)/2)+ this.width*.05);
			this.h = this.height * .85 - this.height * .05;
			this.b = this.origin - this.width*.05;
			
			//Initialize arrays
			for (int i = 0; i < left_right.length; i++) {
				left_right[i] = false;
			}
			this.hourLineAngles = hourLineAngles;
			this.lineLabels = lineLabels;

			//Initializing line coordinates
			//The lines are drawn inside and rectangle divided into two rectangles
			//Left square is the left part of the sundial while the right square is the right part of the sundial
			//Each square has two right triangles, and this is use to determine the height which is needed to draw the hour line
			for (int i = 0; i < this.hourLineAngles.length; i++) {
				//Hour line is on the left
				if (this.hourLineAngles[i] <= 0) {
					this.hourLineAngles[i] = 90 + this.hourLineAngles[i];
					if (this.hourLineAngles[i] >= 0) {
						//Since each hour line forms a triangle
						//We need to find the height of the triangle by using the given base and the angle
						//With the formula height = tanA*base
						//Store the height in the array lineNum
						if (this.hourLineAngles[i] <= 45) {
							this.lineNum[i] = Math.tan(Math.toRadians(this.hourLineAngles[i]))*(this.b);
							this.lineNum[i] = (this.h - this.round(this.lineNum[i], 2, BigDecimal.ROUND_HALF_UP)) + this.height*.05;
						}
						//This is the top right triangle of the square
						else if (this.hourLineAngles[i] > 45 && this.hourLineAngles[i] < 90) {
							this.lineNum[i] = Math.tan(Math.toRadians(90 - this.hourLineAngles[i]))*(this.h);
							this.lineNum[i] = (this.origin - (this.round(this.lineNum[i], 2, BigDecimal.ROUND_HALF_UP)));
						}
					}
				}
				//Hour line is on the right
				else if (this.hourLineAngles[i] > 0) {
					//Sets it to true to tell that the hour line is on the right, later use for drawing the line.
					this.left_right[i] = true;
					this.hourLineAngles[i] = 90 - this.hourLineAngles[i];
					if (this.hourLineAngles[i] >= 0) {
						if (this.hourLineAngles[i] <= 45) {
							this.lineNum[i] = Math.tan(Math.toRadians(this.hourLineAngles[i]))*(this.b);
							this.lineNum[i] = (this.h - this.round(this.lineNum[i], 2, BigDecimal.ROUND_HALF_UP)) + this.height*.05;
						}
						else if (this.hourLineAngles[i] > 45 && this.hourLineAngles[i] < 90) {
							this.lineNum[i] = Math.tan(Math.toRadians(90 - this.hourLineAngles[i]))*(this.h);
							this.lineNum[i] = (this.origin + (this.round(this.lineNum[i], 2, BigDecimal.ROUND_HALF_UP)));
						}
					}
				}
				
			}
		}