using System;
using System.Drawing;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace SBRL.Utilities.JsonConverters
{
///
/// Deserialises objects into rectangles from the System.Drawing namespace.
///
public class RectangleJsonConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
JObject jsonObject = JObject.Load(reader);
return new Rectangle(
jsonObject.Value("X"),
jsonObject.Value("Y"),
jsonObject.Value("Width"),
jsonObject.Value("Height")
);
}
public override bool CanConvert(Type objectType)
{
if (objectType != typeof(Rectangle))
return false;
return true;
}
}
}