Ejemplo n.º 1
0
 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))
         });
     });
 }
Ejemplo n.º 2
0
        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))
                });
            }

                );
        }