Add drawing methods

This commit is contained in:
Frank A. Krueger 2017-07-07 22:52:35 -07:00
parent 16315c85d3
commit ab708b3cb8
1 changed files with 100 additions and 0 deletions

View File

@ -1,3 +1,5 @@
using System;
namespace Ooui namespace Ooui
{ {
public class CanvasRenderingContext2D : EventTarget public class CanvasRenderingContext2D : EventTarget
@ -19,6 +21,7 @@ namespace Ooui
} }
} }
} }
string fontFamily = "sans-serif"; string fontFamily = "sans-serif";
public string FontFamily { public string FontFamily {
get => fontFamily; get => fontFamily;
@ -73,6 +76,103 @@ namespace Ooui
{ {
UpdateStateMessages (ms => ms.Clear ()); UpdateStateMessages (ms => ms.Clear ());
} }
// https://www.w3.org/TR/2dcontext/#canvaspathmethods
public void Save ()
{
SendCall ("save");
}
public void Restore ()
{
SendCall ("restore");
}
public void ClearRect (double x, double y, double w, double h)
{
SendCall ("clearRect", x, y, w, h);
}
public void FillRect (double x, double y, double w, double h)
{
SendCall ("fillRect", x, y, w, h);
}
public void StrokeRect (double x, double y, double w, double h)
{
SendCall ("strokeRect", x, y, w, h);
}
public void BeginPath ()
{
SendCall ("beginPath");
}
public void ClosePath ()
{
SendCall ("closePath");
}
public void MoveTo (double x, double y)
{
SendCall ("moveTo", x, y);
}
public void LineTo (double x, double y)
{
SendCall ("lineTo", x, y);
}
public void QuadraticCurveTo (double cpx, double cpy, double x, double y)
{
SendCall ("quadraticCurveTo", cpx, cpy, x, y);
}
public void BezierCurveTo (double cp1x, double cp1y, double cp2x, double cp2y, double x, double y)
{
SendCall ("bezierCurveTo", cp1x, cp1y, cp2x, cp2y, x, y);
}
public void ArcTo (double x1, double y1, double x2, double y2, double radius)
{
SendCall ("arcTo", x1, y1, x2, y2, radius);
}
public void Rect (double x, double y, double w, double h)
{
SendCall ("rect", x, y, w, h);
}
public void Arc (double x, double y, double radius, double startAngle, double endAngle, bool counterclockwise)
{
SendCall ("arc", x, y, radius, startAngle, endAngle, counterclockwise);
}
public void Fill ()
{
SendCall ("fill");
}
public void Stroke ()
{
SendCall ("stroke");
}
public void Clip ()
{
SendCall ("clip");
}
public void FillText (string text, double x, double y, double? maxWidth)
{
SendCall ("fillText", text, x, y, maxWidth);
}
public void StrokeText (string text, double x, double y, double? maxWidth)
{
SendCall ("strokeText", text, x, y, maxWidth);
}
} }
public enum LineCap public enum LineCap