since the edit box was undefined in the code, potentially this
fixes any number of random problems that might be seen with the
"port" command. Also: Modified the cell bounding box recalculation
so that it does not continually update a parent cell on every
addition of a child cell but only once for each child cell found.
This greatly reduces the time for GDS file input in the case of
large arrays of cells.
"--enable-cairo-offscreen" from working. Because the option
does not run the full Cario initialization, the grTCairoVisualInfo
is not set, and the first attempt to create a Cairo surface
fails with a segfault.
"port" and "noport" in the cifoutput section to distinguish
between layer:purpose pairs for port text vs. other kinds of
text. This allows a closer correspondence between GDS read and
write. Note that the port writing is currently only in the GDS
write routine, not in the CIF routine.
additional functionality for ports in GDS format. This has been
tested with a techfile encoding pin types on a different purpose
than the metal layer drawing purpose. The label rectangle is
correctly written to the GDS output as geometry on the pin
purpose layer, and the same layer gets read back in from the GDS
file and translated back into the label rectangle. Port order
is maintained.
geometry attached to a label in GDS using specific layer:purpose
pairs. The additional code maintains the order of ports when
writing out text to GDS, and attempts to attach geometry to labels
when the geometry is defined on the same layer:purpose pair as
the text, and the cifinput style declares the purpose to be a
port label.
This allows text appearing on a specific GDS layer:purpose pair
to be interpreted as a port. This does not quite match the
intended behavior of such layers, since it is implied that any
layer geometry coincident with the text should form the area of
the port, which is not (yet) handled. Also, it is presumably
implied that the port order matches the order in which text
appears in the GDS stream, but magic does not preserve this
order when re-writing any GDS output.
function that was available in versions 7.1 and earlier that
allows the use of the command "erase errors" to remove DRC error
paint (only when the DRC checker is off, of course).
magic conversion for making magic contact types from contact cuts
from the CIF/GDS input rules rather than the output rules. This
generally makes more sense, plus avoids conflicts where the output
rules may be set for CIF-DRC checks and may not be appropriate for
LEF input without changing the style.
an error message when reading uses from a .mag file. Also modified
the GDS write routine to provide an error message when an abstract
view points to a GDS file but the GDS file cannot be found.
both an abstract view (i.e., comes from a LEF file or otherwise
has been marked with the LEFview property) and a GDS_FILE
property expects to insert the contents of GDS_FILE into the GDS
output stream minus header and trailer, and with all internal
cells renamed by prefixing them with the top-level cell name to
avoid naming conflicts.
less confusing. Removed leading spaces in instance path which
could cause a failure to recognize that a path was not specified
for a use in an input file.
from the rigorous method of versioning in case files are relocated
and the use paths are no longer valid. Cells are then searched
for in the search paths in the traditional manner, albeit with a
stern warning. This should avoid most backwards-compatbility
issues.