@@ -8,11 +8,29 @@
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
 
+/**
+ * The basic {@link SquareProgressBar}. THis class includes all the methods you
+ * need to modify your {@link SquareProgressBar}.
+ * 
+ * @author ysigner
+ * @since 1.0
+ */
 public class SquareProgressBar extends RelativeLayout {
 
 	private ImageView imageView;
 	private final SquareProgressView bar;
 
+	/**
+	 * New SquareProgressBar.
+	 * 
+	 * @param context
+	 *            the {@link Context}
+	 * @param attrs
+	 *            an {@link AttributeSet}
+	 * @param defStyle
+	 *            a defined style.
+	 * @since 1.0
+	 */
 	public SquareProgressBar(Context context, AttributeSet attrs, int defStyle) {
 		super(context, attrs, defStyle);
 		LayoutInflater mInflater = (LayoutInflater) context
@@ -21,6 +39,15 @@ public SquareProgressBar(Context context, AttributeSet attrs, int defStyle) {
 		bar = (SquareProgressView) findViewById(R.id.squareProgressBar1);
 	}
 
+	/**
+	 * New SquareProgressBar.
+	 * 
+	 * @param context
+	 *            the {@link Context}
+	 * @param attrs
+	 *            an {@link AttributeSet}
+	 * @since 1.0
+	 */
 	public SquareProgressBar(Context context, AttributeSet attrs) {
 		super(context, attrs);
 		LayoutInflater mInflater = (LayoutInflater) context
@@ -29,6 +56,12 @@ public SquareProgressBar(Context context, AttributeSet attrs) {
 		bar = (SquareProgressView) findViewById(R.id.squareProgressBar1);
 	}
 
+	/**
+	 * New SquareProgressBar.
+	 * 
+	 * @param context
+	 * @since 1.0
+	 */
 	public SquareProgressBar(Context context) {
 		super(context);
 		LayoutInflater mInflater = (LayoutInflater) context
@@ -37,30 +70,104 @@ public SquareProgressBar(Context context) {
 		bar = (SquareProgressView) findViewById(R.id.squareProgressBar1);
 	}
 
+	/**
+	 * Sets the image of the {@link SquareProgressBar}. Must be a valid
+	 * ressourceId.
+	 * 
+	 * @param image
+	 *            the image as a ressourceId
+	 * @since 1.0
+	 */
 	public void setImage(int image) {
 		imageView = (ImageView) findViewById(R.id.imageView1);
 		imageView.setImageResource(image);
 	}
 
+	/**
+	 * Sets the progress of the {@link SquareProgressBar}.
+	 * 
+	 * @param progress
+	 *            the progress
+	 * @since 1.0
+	 */
 	public void setProgress(double progress) {
 		bar.setProgress(progress);
+		setOpacity((int) progress);
 	}
 
+	/**
+	 * Sets the colour of the {@link SquareProgressBar} to a predefined android
+	 * holo color. <br/>
+	 * <b>Examples:</b>
+	 * <ul>
+	 * <li>holo_blue_bright</li>
+	 * <li>holo_blue_dark</li>
+	 * <li>holo_blue_light</li>
+	 * <li>holo_green_dark</li>
+	 * <li>holo_green_light</li>
+	 * <li>holo_orange_dark</li>
+	 * <li>holo_orange_light</li>
+	 * <li>holo_purple</li>
+	 * <li>holo_red_dark</li>
+	 * <li>holo_red_light</li>
+	 * </ul>
+	 * 
+	 * @param androidHoloColor
+	 * @since 1.0
+	 */
 	public void setHoloColor(int androidHoloColor) {
 		bar.setColor(getContext().getResources().getColor(androidHoloColor));
 	}
 
+	/**
+	 * Sets the colour of the {@link SquareProgressBar}. YOu can give it a
+	 * hex-color string like <i>#C9C9C9</i>.
+	 * 
+	 * @param colorString
+	 *            the colour of the {@link SquareProgressBar}
+	 * @since 1.1
+	 */
 	public void setColor(String colorString) {
 		bar.setColor(Color.parseColor(colorString));
 	}
 
+	/**
+	 * This sets the colour of the {@link SquareProgressBar} with a RGB colour.
+	 * 
+	 * @param r
+	 *            red
+	 * @param g
+	 *            green
+	 * @param b
+	 *            blue�
+	 * @since 1.1
+	 */
 	public void setColorRGB(int r, int g, int b) {
 		bar.setColor(Color.rgb(r, g, b));
 	}
 
+	/**
+	 * This sets the width of the {@link SquareProgressBar}.
+	 * 
+	 * @param width
+	 *            in Dp
+	 * @since 1.1
+	 */
 	public void setWidth(int width) {
 		int padding = CalculationUtil.convertDpToPx(width, getContext());
 		imageView.setPadding(padding, padding, padding, padding);
 		bar.setWidthInDp(width);
 	}
+
+	/**
+	 * This sets the alpha of the image in the view. Actually I need to use the
+	 * deprecated method here as the new one is only available for the API-level
+	 * 16. And the min API level o this library is 14.
+	 * 
+	 * @param progress
+	 *            the progress
+	 */
+	public void setOpacity(int progress) {
+		imageView.setAlpha((int) (2.55 * progress));
+	}
 }