public void Update(LayerModel layerModel, IDataModel dataModel, bool isPreview = false)
{
// Mousemat layers are always drawn 10*10 (which is 40*40 when scaled up)
layerModel.Properties.Width = 10;
layerModel.Properties.Height = 10;
layerModel.Properties.X = 0;
layerModel.Properties.Y = 0;
layerModel.Properties.Contain = true;
layerModel.AppliedProperties = new SimplePropertiesModel(layerModel.Properties);
if (isPreview || dataModel == null)
return;
// If not previewing, apply dynamic properties according to datamodel
var props = (SimplePropertiesModel) layerModel.AppliedProperties;
foreach (var dynamicProperty in props.DynamicProperties)
dynamicProperty.ApplyProperty(dataModel, layerModel.AppliedProperties);
}