private INativeInstance CreateNativeInstance()
{
NativeDrawingSettings instance = new NativeDrawingSettings();
instance.BorderColor = BorderColor;
instance.FillColor = FillColor;
instance.FillRule = FillRule;
instance.Font = Font;
instance.FontFamily = FontFamily;
instance.FontPointsize = FontPointsize;
instance.FontStyle = FontStyle;
instance.FontWeight = FontWeight;
instance.StrokeAntiAlias = StrokeAntiAlias;
instance.StrokeColor = StrokeColor;
instance.StrokeDashOffset = StrokeDashOffset;
instance.StrokeLineCap = StrokeLineCap;
instance.StrokeLineJoin = StrokeLineJoin;
instance.StrokeMiterLimit = StrokeMiterLimit;
instance.StrokeWidth = StrokeWidth;
instance.TextAntiAlias = TextAntiAlias;
instance.TextDirection = TextDirection;
if (TextEncoding != null)
instance.TextEncoding = TextEncoding.WebName;
instance.TextGravity = TextGravity;
instance.TextInterlineSpacing = TextInterlineSpacing;
instance.TextInterwordSpacing = TextInterwordSpacing;
instance.TextKerning = TextKerning;
instance.TextUnderColor = TextUnderColor;
if (Affine != null)
instance.SetAffine(Affine.ScaleX, Affine.ScaleY, Affine.ShearX, Affine.ShearY, Affine.TranslateX, Affine.TranslateY);
if (FillPattern != null)
instance.SetFillPattern(FillPattern);
if (_StrokeDashArray != null)
instance.SetStrokeDashArray(_StrokeDashArray, _StrokeDashArray.Length);
if (StrokePattern != null)
instance.SetStrokePattern(StrokePattern);
if (!string.IsNullOrEmpty(Text))
instance.SetText(Text);
return instance;
}