Deep-Symmetry / bytefield-svg

Node module that generates byte field diagrams in SVG format
Eclipse Public License 2.0
126 stars 20 forks source link

draw-box should auto advance rows #6

Closed brunchboy closed 4 years ago

brunchboy commented 4 years ago

When drawing a box would start at just past the end of the current row, an automatic next-row operation should occur. (If the previous box extended past the last column, an error should be thrown, the document author will have to decide how to represent that themselves.)

Right before auto-advancing, the row header should be auto-generated. (If we are currently on the first row, generate the first row header and then the next row header, because we don’t want the headers to be there if there is just one row.) We will provide a default header function, which renders the current byte address as a two-digit (or more) hex value, although if a gap has been generated before this row, this will be prefixed with “i+” to indicate that the address is relative to the end of the gap. This can be overridden by passing a :header-fn attribute.