private void registerFont(IJSValueConverterService converter) { converter.RegisterStructConverter <Font>( (jsvalue, obj) => { jsvalue.WriteProperty <string>(nameof(obj.Name), obj.Name); jsvalue.WriteProperty <float>(nameof(obj.Size), obj.Size); }, (jsvalue) => { return(new Font() { Name = jsvalue.ReadProperty <string>(nameof(Font.Name)), Size = jsvalue.ReadProperty <float>(nameof(Font.Size)) }); }); }
private void registerBasicTypes(IJSValueConverterService converter) { converter.RegisterStructConverter <PointF>( (jsvalue, value) => { jsvalue.WriteProperty("X", value.X); jsvalue.WriteProperty("Y", value.Y); }, (jsvalue) => { return(new PointF( jsvalue.ReadProperty <float>("X") , jsvalue.ReadProperty <float>("Y"))); }); converter.RegisterStructConverter <SizeF>( (jsvalue, value) => { jsvalue.WriteProperty("Width", value.Width); jsvalue.WriteProperty("Height", value.Height); }, (jsvalue) => { return(new SizeF( jsvalue.ReadProperty <float>("Width") , jsvalue.ReadProperty <float>("Height"))); }); converter.RegisterStructConverter <RectangleF>( (jsvalue, value) => { jsvalue.WriteProperty("X", value.X); jsvalue.WriteProperty("Y", value.Y); jsvalue.WriteProperty("Width", value.Width); jsvalue.WriteProperty("Height", value.Height); }, (jsvalue) => { return(new RectangleF( jsvalue.ReadProperty <float>("X") , jsvalue.ReadProperty <float>("Y") , jsvalue.ReadProperty <float>("Width") , jsvalue.ReadProperty <float>("Height"))); }); converter.RegisterArrayConverter <PointF>(); converter.RegisterConverter <BlendModeEnum>( (node, value) => { return(node.GetService <IContextSwitchService>().With(() => { return API.JavaScriptValue.FromInt32((int)value); })); }, (node, jsvalue) => { return(node.GetService <IContextSwitchService>().With(() => { return (BlendModeEnum)jsvalue.ToInt32(); })); } ); converter.RegisterStructConverter <Effect>( (jsvalue, value) => { jsvalue.WriteProperty <string>(nameof(value.Name), value.Name); jsvalue.WriteProperty <string>(nameof(value.ConfigJson), value.ConfigJson); }, (jsvalue) => { return(new Effect() { Name = jsvalue.ReadProperty <string>(nameof(Effect.Name)), ConfigJson = jsvalue.ReadProperty <string>(nameof(Effect.ConfigJson)) }); } ); }