MonoMobile.Views.RoundProgressView.Draw C# (CSharp) Method

Draw() public method

public Draw ( RectangleF rect ) : void
rect System.Drawing.RectangleF
return void
		public override void Draw(RectangleF rect)
		{
			RectangleF allRect = Bounds;
			RectangleF circleRect = new RectangleF(allRect.Location.X + 2, allRect.Location.Y + 2, allRect.Size.Width - 4, allRect.Size.Height - 4);
			
			CGContext context = UIGraphics.GetCurrentContext();
			
			// Draw background
			context.SetStrokeColor(1.0f, 1.0f, 1.0f, 1.0f);
			// white
			context.SetFillColor(1.0f, 1.0f, 1.0f, 0.1f);
			// translucent white
			context.SetLineWidth(2.0f);
			context.FillEllipseInRect(circleRect);
			context.StrokeEllipseInRect(circleRect);
			
			// Draw progress
			float x = (allRect.Size.Width / 2);
			float y = (allRect.Size.Height / 2);
			context.SetFillColor(1.0f, 1.0f, 1.0f, 1.0f);
			// white
			context.MoveTo(x, y);
			context.AddArc(x, y, (allRect.Size.Width - 4) / 2, -(float)(Math.PI / 2), (float)(Progress * 2 * Math.PI) - (float)(Math.PI / 2), false);
			context.ClosePath();
			context.FillPath();
		}
	}
RoundProgressView