Class: AsciidoctorDiagramLayout::Renderer::SvgRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/asciidoctor_diagram_layout/renderer/svg_renderer.rb

Constant Summary collapse

DEFAULT_WIDTH =
600
DEFAULT_HEIGHT =
300
FONT_SIZE =
14

Instance Method Summary collapse

Instance Method Details

#render(root, options = RenderOptions.new) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/asciidoctor_diagram_layout/renderer/svg_renderer.rb', line 8

def render(root, options = RenderOptions.new)
  w = parse_px(options.width,  DEFAULT_WIDTH)
  h = parse_px(options.height, DEFAULT_HEIGHT)
  defs = +""
  body = +""
  render_node(root, defs, body, options.color_scheme, 0, 0, w, h)
  sb = +""
  sb << "<svg xmlns=\"http://www.w3.org/2000/svg\""
  sb << " width=\"#{w}\""
  sb << " height=\"#{h}\""
  sb << " style=\"font-family:sans-serif;\""
  sb << ">\n"
  if defs.length > 0
    sb << "  <defs>\n" << defs << "  </defs>\n"
  end
  sb << body
  sb << "</svg>\n"
  sb
end