Method: HDLRuby::Viz::Node#assign_svg
- Defined in:
- lib/HDLRuby/hruby_viz.rb
#assign_svg(n) ⇒ Object
Generate an assign description SVG text for node +n+
3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 |
# File 'lib/HDLRuby/hruby_viz.rb', line 3550 def assign_svg(n) # The shape representing the instance. res = "<path fill=\"#B0E2FF\" stroke=\"#000\" " + "stroke-width=\"#{@scale/12.0}\" " + # "d=\"M #{n.xpos*@scale} #{(n.ypos + n.height/2.0)*@scale} " + # "L #{(n.xpos + 1.0)*@scale} #{n.ypos*@scale} " + # "L #{(n.xpos + n.width-n.height/2.0)*@scale} #{n.ypos*@scale} " + # "A #{n.height/2.0*@scale} #{n.height/2.0*@scale} 0 0 1 " + # "#{(n.xpos + n.width-n.height/2.0)*@scale} #{(n.ypos+n.height)*@scale} " + # "L #{(n.xpos + 1.0)*@scale} #{(n.ypos+n.height)*@scale} " + "d=\"M #{n.xpos*@scale} #{(n.ypos + n.height)*@scale} " + "L #{(n.xpos + 1.0)*@scale} #{n.ypos*@scale} " + "L #{(n.xpos + n.width)*@scale} #{n.ypos*@scale} " + "L #{(n.xpos + n.width-1.0)*@scale} #{(n.ypos+n.height)*@scale} " + "Z \" />\n" # Its text. res += "<text id=\"text#{n.name}\" " + "style=\"text-anchor: middle; dominant-baseline: middle;\" " + "font-family=\"monospace\" font-size=\"1px\" " + "x=\"#{(n.xpos + n.width/2.0)*@scale}\" "+ "y=\"#{(n.ypos + n.height/2.0)*@scale}\">" + n.to_s + "</text>\n" # Its text resizing. res += Viz.svg_text_fit("text#{n.name}",(n.width-2)*@scale, 0.6*@scale) return res end |