public void drawSymbols(List <SymbolContainer> symbolContainers) { for (int index = symbolContainers.Count - 1; index >= 0; --index) { SymbolContainer symbolContainer = symbolContainers[index]; MapPoint point = symbolContainer.point; if (symbolContainer.alignCenter) { double pivotX = symbolContainer.symbol.Width / 2; double pivotY = symbolContainer.symbol.Height / 2; this.symbolMatrix.Rotation = symbolContainer.rotation; this.symbolMatrix.CenterX = pivotX; this.symbolMatrix.CenterY = pivotY; this.symbolMatrix.TranslateX = point.X - pivotX; this.symbolMatrix.TranslateY = point.Y - pivotY; } else { this.symbolMatrix.Rotation = symbolContainer.rotation; this.symbolMatrix.TranslateX = point.X; this.symbolMatrix.TranslateY = point.Y; } BitmapImage androidBitmap = AndroidGraphics.getAndroidBitmap(symbolContainer.symbol); this.canvas.drawBitmap(androidBitmap, this.symbolMatrix, PAINT_BITMAP_FILTER); } }
public override void Draw(global::Android.Graphics.Canvas canvas) { base.Draw(canvas); var g = new AndroidGraphics(canvas); _clock.Width = Width; _clock.Height = Height; _clock.Draw(g); }
//protected View(IntPtr javaReference, JniHandleOwnership transfer); //[Register(".ctor", "(Landroid/content/Context;Landroid/util/AttributeSet;I)V", "")] public override void Draw(global::Android.Graphics.Canvas canvas) { base.Draw(canvas); var g = new AndroidGraphics(canvas, Context); _clock.Width = Width / Resources.DisplayMetrics.ScaledDensity; _clock.Height = Height / Resources.DisplayMetrics.ScaledDensity; _clock.Draw(g); }
public void drawWays(List <List <List <ShapePaintContainer> > > drawWays) { int levelsPerLayer = drawWays[0].Count; for (int layer = 0, layers = drawWays.Count; layer < layers; ++layer) { List <List <ShapePaintContainer> > shapePaintContainers = drawWays[layer]; for (int level = 0; level < levelsPerLayer; ++level) { List <ShapePaintContainer> wayList = shapePaintContainers[level]; for (int index = wayList.Count - 1; index >= 0; --index) { ShapePaintContainer shapePaintContainer = wayList[index]; this.path.rewind(); switch (shapePaintContainer.shapeContainer.getShapeType()) { case ShapeType.CIRCLE: CircleContainer circleContainer = (CircleContainer)shapePaintContainer.shapeContainer; MapPoint point = circleContainer.point; this.path.AddCircle((float)point.X, (float)point.Y, circleContainer.radius, Path.Direction.CCW); break; case ShapeType.WAY: WayContainer wayContainer = (WayContainer)shapePaintContainer.shapeContainer; MapPoint[][] coordinates = wayContainer.coordinates; for (int j = 0; j < coordinates.Length; ++j) { // make sure that the coordinates sequence is not empty MapPoint[] points = coordinates[j]; if (points.Length >= 2) { MapPoint immutablepoint = points[0]; this.path.moveTo((float)immutablepoint.X, (float)immutablepoint.Y); for (int i = 1; i < points.Length; ++i) { immutablepoint = points[i]; this.path.lineTo((float)immutablepoint.X, (float)immutablepoint.Y); } } } break; } Paint androidPaint = AndroidGraphics.getAndroidPaint(shapePaintContainer.paint); this.canvas.drawPath(this.path, androidPaint); } } } }
public void drawWayNames(List <WayTextContainer> wayTextContainers) { for (int index = wayTextContainers.Count - 1; index >= 0; --index) { WayTextContainer wayTextContainer = wayTextContainers[index]; this.path.rewind(); double[] textCoordinates = wayTextContainer.coordinates; this.path.moveTo((float)textCoordinates[0], (float)textCoordinates[1]); for (int i = 2; i < textCoordinates.Length; i += 2) { this.path.lineTo((float)textCoordinates[i], (float)textCoordinates[i + 1]); } Paint androidPaint = AndroidGraphics.getAndroidPaint(wayTextContainer.paint); this.canvas.drawTextOnPath(wayTextContainer.text, this.path, 0, 3, androidPaint); } }
public void drawNodes(List <pointTextContainer> pointTextContainers) { for (int index = pointTextContainers.Count - 1; index >= 0; --index) { pointTextContainer pointTextContainer = pointTextContainers.get(index); if (pointTextContainer.paintBack != null) { Paint androidPaint = AndroidGraphics.getAndroidPaint(pointTextContainer.paintBack); this.canvas.drawText(pointTextContainer.text, (float)pointTextContainer.x, (float)pointTextContainer.y, androidPaint); } Paint androidPaint = AndroidGraphics.getAndroidPaint(pointTextContainer.paintFront); this.canvas.drawText(pointTextContainer.text, (float)pointTextContainer.x, (float)pointTextContainer.y, androidPaint); } }