Commit 4ed3eda6 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

reliable svg background colour using a dummy 'rect' element

parent 587b15fc
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ struct SVGData {
  std::stringstream buffer;
  double width;
  double height;
  Color background_color;
  std::string to_svg() const;
};

@@ -181,7 +180,6 @@ std::string SVGData::to_svg() const {
    << svg_attr("width", width)
    << svg_attr("height", height)
    << svg_attr("viewBox", StringUtil::format("0 0 $0 $1", width, height))
    << svg_attr("viewport-fill", background_color.to_hex_str())
    << ">"
    << "\n"
    << buffer.str()
@@ -199,7 +197,15 @@ ReturnCode layer_bind_svg(
    std::function<Status (const std::string&)> submit,
    LayerRef* layer) {
  auto svg = std::make_shared<SVGData>();
  svg->background_color = background_color;

  svg->buffer
      << "  "
      << "<rect"
      << svg_attr("width", width)
      << svg_attr("height", height)
      << svg_attr("fill", background_color.to_hex_str())
      << "/>"
      << "\n";

  layer->reset(new Layer{
    .width = svg->width = width,
+2 −1
Original line number Diff line number Diff line
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0" viewport-fill="#ffffff">
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0">
  <rect width="1200.000000" height="480.000000" fill="#ffffff"/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L1136.896875 44.4 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L63.103125 49.733333 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M216.502239 44.4 L216.502239 49.733333 "/>
+2 −1
Original line number Diff line number Diff line
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0" viewport-fill="#ffffff">
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0">
  <rect width="1200.000000" height="480.000000" fill="#ffffff"/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L1136.896875 44.4 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L63.103125 49.733333 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M216.502239 44.4 L216.502239 49.733333 "/>
+2 −1
Original line number Diff line number Diff line
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0" viewport-fill="#ffffff">
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0">
  <rect width="1200.000000" height="480.000000" fill="#ffffff"/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L1136.896875 44.4 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L63.103125 49.733333 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M216.502239 44.4 L216.502239 49.733333 "/>
+2 −1
Original line number Diff line number Diff line
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0" viewport-fill="#ffffff">
<svg xmlns="http://www.w3.org/2000/svg" width="1200.000000" height="480.000000" viewBox="0 0 1200.0 480.0">
  <rect width="1200.000000" height="480.000000" fill="#ffffff"/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L1136.896875 44.4 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M63.103125 44.4 L63.103125 49.733333 "/>
  <path stroke-width="1.333333" stroke="#a8a8a8" fill="none" d="M216.502239 44.4 L216.502239 49.733333 "/>
Loading