public void FillPolygon(Brush brush, PointF[] points) { this.paint.Color = brush.Color.ToAColor(); this.paint.Flags = this.Flags; this.paint.SetStyle(droid.Paint.Style.Fill); // TODO: test that this works droid.Path path = new droid.Path(); foreach (PointF p in points) { path.LineTo(p.X, p.Y); } this.canvas.DrawPath(path, this.paint); }
public Region[] MeasureCharacterRanges(string text, Font font, RectangleF layoutRect, StringFormat stringFormat) { using (var _p = new droid.Paint(this.paint)) using (var _path = new droid.Path()) using (var _fm = _p.GetFontMetrics()) { _p.TextSize = font.Size; _p.SetTypeface(font.FontFamily.Typeface); _p.SetStyle(droid.Paint.Style.Stroke); _p.GetTextPath(text, 0, text.Length, 0, 0, _path); var _rectf = new droid.RectF(); _path.ComputeBounds(_rectf, true); return new Region[] { new Region(_rectf) }; } }
public void DrawPolygon(Pen pen, Point[] points) { this.paint.Color = pen.Color.ToAColor(); ; this.paint.Flags = this.Flags; this.paint.SetStyle(droid.Paint.Style.Stroke); this.paint.StrokeWidth = pen.Width; // TODO: test that this works droid.Path path = new droid.Path(); foreach (Point p in points) { path.LineTo(p.X, p.Y); } this.canvas.DrawPath(path, this.paint); }