deserialize method

  1. @override
void deserialize(
  1. XmlElement xml
)
override

Deserializes the FML template elements, attributes and children

Implementation

@override
void deserialize(XmlElement xml) {
  // deserialize
  super.deserialize(xml);

  String? textvalue = Xml.get(node: xml, tag: 'value');
  textvalue ??= Xml.get(node: xml, tag: 'label');
  textvalue ??= Xml.getText(xml);

  // properties
  value = textvalue;
  size = Xml.get(node: xml, tag: 'size');
  outlinecolor = Xml.get(node: xml, tag: 'outlinecolor');
  outline = Xml.get(node: xml, tag: 'outline');

  shadowcolor = Xml.get(node: xml, tag: 'shadowcolor');
  elevation = Xml.get(node: xml, tag: 'elevation');
  shadowx = Xml.get(node: xml, tag: 'shadowx');
  shadowy = Xml.get(node: xml, tag: 'shadowy');

  font = Xml.get(node: xml, tag: 'font');
  weight = Xml.get(node: xml, tag: 'weight');
  bold = Xml.get(node: xml, tag: 'bold');
  italic = Xml.get(node: xml, tag: 'italic');
  theme = Xml.get(node: xml, tag: 'theme');

  decoration = Xml.get(node: xml, tag: 'decoration');
  decorationcolor = Xml.get(node: xml, tag: 'decorationcolor');
  decorationstyle = Xml.get(node: xml, tag: 'decorationstyle');
  decorationweight = Xml.get(node: xml, tag: 'decorationweight');

  wordspace = Xml.get(node: xml, tag: 'wordspace');
  letterspace = Xml.get(node: xml, tag: 'letterspace');
  lineheight = Xml.get(node: xml, tag: 'lineheight');

  overflow = Xml.get(node: xml, tag: 'overflow');
  style = Xml.get(node: xml, tag: 'style');
  raw = Xml.get(node: xml, tag: 'raw');
  selectable = Xml.get(node: xml, tag: 'selectable');
}