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;
|
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;
|
CIFErrorLayer = i;
|
||||||
if (CIFComponentPlanes[i] == NULL) continue;
|
if (CIFComponentPlanes[i] == NULL) continue;
|
||||||
(void) DBSrPaintArea((Tile *) NULL, CIFComponentPlanes[i],
|
if (CIFCurStyle->cs_layers[i]->cl_flags & CIF_TEMP)
|
||||||
&TiPlaneRect, &CIFSolidBits, cifHierCheckFunc,
|
(void) DBSrPaintArea((Tile *) NULL, CIFComponentPlanes[i],
|
||||||
(ClientData) CIFTotalPlanes[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