示例#1
0
        internal (SKColor strokeClr, SKColor fillClr) drawClockPaths(SKCanvas canvas, List <ClockPath> pathList, xColor colorStroke, xColor colorFill)
        {
            strokePaint.Color = colorFill.ToSKColor();
            fillPaint.Color   = colorStroke.ToSKColor();
            if (pathList != null)
            {
                foreach (var path in pathList)
                {
                    canvas?.Translate(path.OffsetX, path.OffsetY);

                    if (!string.IsNullOrEmpty(path.StrokeColor) && !"-".Equals(path.StrokeColor))
                    {
                        strokePaint.Color       = colorStroke.IsDefault || colorStroke.IsEmpty ? path.GetStrokeColor(ClockfaceInfo != null && !BackImageAllowsBackColor ? ClockfaceInfo.MainColor + " " + ClockfaceInfo.HandColorsBanned : ColorBackground.HexString, ClockfaceInfo?.HandColorSuggestion).ToSKColor() : colorStroke.ToSKColor();
                        strokePaint.StrokeWidth = path.StrokeWidth;
                        canvas?.DrawPath(path.SkPath, strokePaint);
                    }

                    if (!string.IsNullOrEmpty(path.FillColor) && !"-".Equals(path.FillColor))
                    {
                        fillPaint.Color = colorFill.IsDefault || colorFill.IsEmpty ? path.GetFillColor(ClockfaceInfo != null && !BackImageAllowsBackColor ? ClockfaceInfo.MainColor + " " + ClockfaceInfo.HandColorsBanned : ColorBackground.HexString, ClockfaceInfo?.HandColorSuggestion).ToSKColor() : colorFill.ToSKColor();
                        canvas?.DrawPath(path.SkPath, fillPaint);
                    }

                    canvas?.Translate(-(path.OffsetX), -(path.OffsetY));
                }
            }
            return(strokePaint.Color, fillPaint.Color);
        }
示例#2
0
 public static SKColor ToSKColor(this xColor color)
 {
     return(new SKColor((byte)(color.R * 255), (byte)(color.G * 255), (byte)(color.B * 255), (byte)(color.A * 255)));
 }
示例#3
0
 public static NSColor ToNSColor(this xColor color)
 {
     return(NSColor.FromRgba(color.r, color.g, color.b, color.a));
 }
示例#4
0
 public static Bitmap GetIconBitmap(Context context, string drawableName, double nSizeDP, xColor color)
 {
     return(GetDrawableBmp(GetIconDrawable(context, drawableName, color), nSizeDP, nSizeDP));
 }
示例#5
0
 public static Bitmap GetIconBitmap(Context context, int drawableRes, double nSizeDP, xColor color)
 {
     return(GetDrawableBmp(GetIconDrawable(context, drawableRes, color), nSizeDP, nSizeDP));
 }
示例#6
0
 public static Drawable GetIconDrawable(Context context, int drawableRes, xColor color)
 {
     return(GetIconDrawable(context, drawableRes, color.ToAndroid()));
 }
示例#7
0
 public static Drawable GetIconDrawable(Context context, string drawableName, xColor color)
 {
     return(GetIconDrawable(context, (int)typeof(Resource.Drawable).GetField(drawableName).GetValue(null), color));
 }