@Override
	public void draw(PortablePixmap pixMap) {
		/*
		 * My algorithm for drawing a ring:
		 * 
		 * 1. Convert the x and y origins, and inner and outer radius relative parameters to actual 
		 * pixel coordinates
		 * 2. Iterate over all the pixels in the PixelMap using a for loop. 
		 * 3. Check if the pixel is part of the shape by checking and then color it in if it is part of the shape
		 * 4. To check this, we will use the distance formula. We will use the distance from the origin to the Y axis and then then the 
		 * distance from this point to the (0,0) coordinate. At this point we will have an A side that is from the origin of the ring 
		 * to the Y axis and a B side that is from this point to the 0 position of the Y axis. We will use these A and B sides in 
		 * combination with the Pythagorean theorem to calculate side C of our triangle. We will check if C is less than or equal to 
		 * the radius squared of our ring. If so we know that the pixel we are in is within the range of our ring.
		 * 5. If the pixel we are at is less than or equal to the distance to the origin of the ring and within the range of the outer 
		 * and inner radius then we will fill that pixel in 
		 * with the color specified.
		 * 6. We will keep calculating a dynamic C side and checking if C is less than or equal to the radius squared to check if it is 
		 * within or inside our circle. We will do this until we have gone through all the pixels of the PixMap
		 * 
		 */

		//We need to calculate the actual coordinates for the PixMap using the relative coordinates provided
		int absoluteOriginX = convertToAbsoluteValues(this.originX, pixMap.getWidth());//<--this will get the actual origin X for PixMap
		int absoluteOriginY = convertToAbsoluteValues(this.originY, pixMap.getHeight());//<--this will get the actual origin Y for PixMap

		//We need to calculate the actual radii for the ring using the relative radius provided
		int absoluteOuterRadius = convertToAbsoluteValues(this.outerRadius, pixMap.getWidth());
		int absoluteInnerRadius = convertToAbsoluteValues(this.innerRadius, pixMap.getWidth());

		//Two loops are used to iterate through the pixel points of the image
		for (int row = 0; row < pixMap.getHeight(); row++) { //<-- this will iterate through each row of the PixMap
			//This loop goes through the columns of the PixelMap
			for (int column = 0; column < pixMap.getWidth(); column++) { //<-- this will iterate through each column of the PixMap

				//TODO ASK IS THIS NECESSARY???
				// Compute the center of the pixel by adding 0.5 to the actual pixel coordinates
				double pixelCenterX = column + 0.5;
				double pixelCenterY = row + 0.5;

				//Compare the location of <row,column> with the range of this ring
				//aSide is the horizontal distance between origin of circle and current pixel
				double aSide = absoluteOriginX - pixelCenterX; // --> the difference between the x coordinates
				double bSide = absoluteOriginY - pixelCenterY; // --> the difference between the y coordinates
				//Here I use Pythagorean theorem to ensure that a point is within the range of distance between origin and current pixel
				double aSideSquared = Math.pow(aSide, 2);//--> the square of the distance x from origin of circle
				double bSideSquared = Math.pow(bSide, 2);//--> the square of the distance y from origin of circle
				//d = sqrt((x2-x1)^2 + (y2-y1)^2)
				double distanceFromCircle = Math.sqrt(aSideSquared + bSideSquared);//-->distance of current pixel to the center of cirlce

				//If and only if the distance between current pixel and center of the ring is between the inner radius and outer radius
				if (distanceFromCircle < absoluteOuterRadius && distanceFromCircle > absoluteInnerRadius) {
					// If above statement is true then we set the color of the current pixel to the specified value
					pixMap.setPixel(row, column, this.color);//<--this sets the color to the specified value
				} // end of checking to see if pixel is part of shape
			} // end of inner for loop iterating through rows
		} // end of outer for loop iterating through columns
	}//end of draw method for the ring