makeTextStyleBuildFragment function

XmlDocumentFragment makeTextStyleBuildFragment(
  1. TextStyle style
)

Implementation

xml.XmlDocumentFragment makeTextStyleBuildFragment(TextStyle style) {
  xml.XmlBuilder builder = xml.XmlBuilder();
  builder.namespace(uriSld, SLD_NSP);
  builder.namespace(uriOgc, OGC_NSP);
  builder.element(TEXTSYMBOLIZER, namespace: uriSld, nest: () {
    // label
    builder.element(LABEL, namespace: uriSld, nest: () {
      builder.element(PROPERTY_NAME, namespace: uriOgc, nest: () {
        builder.text(style.labelName);
      });
    });

    // font
    builder.element(FONT, namespace: uriSld, nest: () {
      builder.element(CSS_PARAMETER, namespace: uriSld, nest: () {
        builder.attribute(ATTRIBUTE_NAME, ATTRIBUTE_FONT_SIZE);
        builder.text(style.size);
      });
    });

    // color
    builder.element(FILL, namespace: uriSld, nest: () {
      builder.element(CSS_PARAMETER, namespace: uriSld, nest: () {
        builder.attribute(ATTRIBUTE_NAME, ATTRIBUTE_FILL);
        builder.text(style.textColor);
      });
    });

    // halo
    builder.element(HALO, namespace: uriSld, nest: () {
      builder.element(RADIUS, namespace: uriSld, nest: () {
        builder.text(style.haloSize);
      });
      builder.element(FILL, namespace: uriSld, nest: () {
        builder.element(CSS_PARAMETER, namespace: uriSld, nest: () {
          builder.attribute(ATTRIBUTE_NAME, ATTRIBUTE_FILL);
          builder.text(style.haloColor);
        });
      });
    });
  });
  var build = builder.buildFragment();
  return build;
}