Rewrote the hierarchical check routine so that it does not report
disagreements between parent and child cells on GDS generation for templayers, as these layers are not output; any resulting differences showing up eventually on an output layer will be reported.
This commit is contained in:
parent
f934fc3cf5
commit
960be0e9b0
|
|
@ -421,6 +421,44 @@ cifHierCheckFunc(tile, plane)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
*
|
||||
* cifHierTempCheckFunc --
|
||||
*
|
||||
* This function is like cifHierCheckFunc() (see above), but is used
|
||||
* for "templayers", where any parent/child disagreement should be
|
||||
* considered a non-issue as far as output is concerned. Only the
|
||||
* actual mask layer will report any problems.
|
||||
*
|
||||
* Results:
|
||||
* Always returns 0 to keep the search alive.
|
||||
*
|
||||
* Side effects:
|
||||
* Error messages may be output.
|
||||
*
|
||||
* ----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
int
|
||||
cifHierTempCheckFunc(tile, plane)
|
||||
Tile *tile; /* Tile containing CIF. */
|
||||
Plane *plane; /* Plane to check against and modify. */
|
||||
{
|
||||
Rect area;
|
||||
|
||||
TiToRect(tile, &area);
|
||||
|
||||
if (IsSplit(tile))
|
||||
DBNMPaintPlane(plane, TiGetTypeExact(tile), &area, CIFEraseTable,
|
||||
(PaintUndoInfo *) NULL);
|
||||
else
|
||||
DBPaintPlane(plane, &area, CIFEraseTable, (PaintUndoInfo *) NULL);
|
||||
|
||||
CIFTileOps++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
*
|
||||
|
|
@ -490,9 +528,14 @@ cifCheckAndErase(style)
|
|||
{
|
||||
CIFErrorLayer = i;
|
||||
if (CIFComponentPlanes[i] == NULL) continue;
|
||||
(void) DBSrPaintArea((Tile *) NULL, CIFComponentPlanes[i],
|
||||
&TiPlaneRect, &CIFSolidBits, cifHierCheckFunc,
|
||||
(ClientData) CIFTotalPlanes[i]);
|
||||
if (CIFCurStyle->cs_layers[i]->cl_flags & CIF_TEMP)
|
||||
(void) DBSrPaintArea((Tile *) NULL, CIFComponentPlanes[i],
|
||||
&TiPlaneRect, &CIFSolidBits, cifHierTempCheckFunc,
|
||||
(ClientData) CIFTotalPlanes[i]);
|
||||
else
|
||||
(void) DBSrPaintArea((Tile *) NULL, CIFComponentPlanes[i],
|
||||
&TiPlaneRect, &CIFSolidBits, cifHierCheckFunc,
|
||||
(ClientData) CIFTotalPlanes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue