public override void Draw(SKCanvas canvas, SKSize dimension, SKSize view) { Wait(); Horizontal.Position = Padding.BottomPosition(dimension.Height); Vertical.Position = Padding.LeftPosition(dimension.Width); Horizontal.Draw(canvas, dimension, view); Vertical.Draw(canvas, dimension, view); Release(); }
public void Draw(SKCanvas canvas, SKSize dimension, SKSize view) { float x = 0, y = 0; //Handles different DPI (var scalex, var scaley) = SmartDPI.GetScale(canvas, dimension, view); var temp_paint = MajorPaint(scaley); (var dx, var dy) = MeasureText(Title, temp_paint); switch (Position) { case LabelPosition.TopLeft: x = Padding.LeftPosition(dimension.Width) + dy; y = Padding.TopPosition(dimension.Height) + dy; break; case LabelPosition.TopRight: x = Padding.RightPosition(dimension.Width) - dy - dx; y = Padding.TopPosition(dimension.Height) + dy; break; case LabelPosition.BottomLeft: x = Padding.LeftPosition(dimension.Width) + dy; y = Padding.BottomPosition(dimension.Height) - dy; break; case LabelPosition.BottomRight: x = Padding.RightPosition(dimension.Width) - dy - dx; y = Padding.BottomPosition(dimension.Height) - dy; break; } ; canvas.DrawText(Title, x, y, temp_paint); }
public override float AxisStart(float Height) => Padding.BottomPosition(Height);