Esempio n. 1
0
 protected override void OnDraw(Android.Graphics.Canvas canvas)
 {
     Paint paint = new Paint () { Color = Color.ForestGreen, StrokeWidth = 5 };
     for (int i = 0; i < maxLevel; i++) {
         if (i < Level)
             paint.SetStyle (Paint.Style.Fill);
         else
             paint.SetStyle (Paint.Style.Stroke);
         canvas.DrawCircle (canvas.Height / 2 + canvas.Height*i , canvas.Height / 2, canvas.Height / 2 - 5, paint);
     }
 }
            public override void Draw(Android.Graphics.Canvas canvas,
                MapView mapView, bool shadow)
            {
                base.Draw(canvas, mapView, shadow);

                var paint = new Paint();
                paint.AntiAlias = true;
                paint.Color = Color.Purple;
                paint.Alpha = 127;

                var gp = new GeoPoint((int)(29.97611 * 1e6), (int)(31.132778 * 1e6));
                var pt = mapView.Projection.ToPixels(gp, null);
                float distance = mapView.Projection.MetersToEquatorPixels(200);

                canvas.DrawCircle(pt.X, pt.Y, distance/2, paint);

            }
Esempio n. 3
0
        protected override void OnDraw(Android.Graphics.Canvas canvas)
        {
            var radius = (Height / 2) - 4;
            var middleX = Width / 2;
            var middleY = Height / 2;

            var minutes = (int)time.TotalMinutes;
            var rotation = minutes / 60;
            var color = baseQuadrantColor;

            for (int i = 0; i <= rotation; i++) {
                var angle = minutes > 60 ? 360 : (int)((minutes * 360f) / 60);

                canvas.DrawArc (new RectF (middleX - radius, middleY - radius, middleX + radius, middleY + radius), -90, angle, true, new Paint {
                    Color = color,
                    AntiAlias = true,
                });

                minutes -= 60;
                color = Color.Rgb ((byte)Math.Max (0, color.R - 30),
                                   (byte)Math.Max (0, color.G - 30),
                                   (byte)Math.Max (0, color.B - 30));
            }

            // Draw chrome
            Paint chromeBorder = new Paint {
                AntiAlias = true,
                Color = chromeColor,
                StrokeWidth = 1.ToPixels ()
            };
            chromeBorder.SetStyle (Paint.Style.Stroke);
            canvas.DrawCircle (middleX, middleY, radius, chromeBorder);

            // Draw markers
            var markerPaint = new Paint {
                Color = chromeColor,
                AntiAlias = true
            };
            var innerRadius = radius - 6;
            for (int i = 0; i < 8; i++) {
                var stepAngle = i * Math.PI / 4;
                canvas.DrawCircle (middleX - (int)Math.Round (Math.Sin (stepAngle) * innerRadius),
                                   middleY - (int)Math.Round (Math.Cos (stepAngle) * innerRadius),
                                   1, markerPaint);
            }
        }
Esempio n. 4
0
        public override void Draw(Android.Graphics.Canvas canvas)
        {
            canvas.DrawCircle (mainCenter, mainCenter + 2, radius + radiusBorder, shadowPaint);
            canvas.DrawCircle (mainCenter, mainCenter, radius + radiusBorder, darkerBackPaint);
            canvas.DrawCircle (mainCenter, mainCenter, radius, backPaint);
            canvas.DrawBitmap (icon, mainCenter - icon.Width / 2, mainCenter - icon.Height / 2, imgPaint);

            if (Count != 0) {
                int bubbleCenter = center - removeRadius - bubbleOffset;
                greenPaint.Alpha = redPaint.Alpha = currentBubbleTransparency;
                removePaint.Alpha = 255 - currentBubbleTransparency;
                canvas.DrawCircle (bubbleCenter, bubbleCenter, removeRadius, removePaint);
                canvas.DrawCircle (bubbleCenter, bubbleCenter, innerRadius, Count < 0 ? redPaint : greenPaint);

                var c = Math.Abs (Count).ToString ();
                var textBounds = new Rect ();
                removePaint.GetTextBounds (c, 0, c.Length, textBounds);

                canvas.DrawText (c, bubbleCenter, bubbleCenter + textBounds.Height () / 2, removePaint);
            }
            DrawingCacheEnabled = true;
        }