sim: DBCellSrArea() cb_database_cellsrarea_t SimCellTileSrFunc()

This commit is contained in:
Darryl L. Miles 2025-01-31 20:10:51 +00:00 committed by R. Timothy Edwards
parent 56bdf9ce28
commit 739f0f27fe
1 changed files with 8 additions and 6 deletions

View File

@ -675,7 +675,7 @@ SimTreeSrTiles(
int (*func)(), /* Function to apply at each qualifying tile */ int (*func)(), /* Function to apply at each qualifying tile */
ClientData cdarg) /* Client data for above function */ ClientData cdarg) /* Client data for above function */
{ {
int SimCellTileSrFunc(); int SimCellTileSrFunc(SearchContext *scx, ClientData cdata); /* cb_database_cellsrarea_t (TreeFilter *fp) */
TreeFilter filter; TreeFilter filter;
filter.tf_func = func; filter.tf_func = func;
@ -686,7 +686,7 @@ SimTreeSrTiles(
filter.tf_tpath = tpath; filter.tf_tpath = tpath;
filter.tf_dinfo = 0; filter.tf_dinfo = 0;
return SimCellTileSrFunc(scx, &filter); return SimCellTileSrFunc(scx, PTR2CD(&filter));
} }
/* /*
@ -720,7 +720,7 @@ SimTreeSrNMTiles(
int (*func)(), /* Function to apply at each qualifying tile */ int (*func)(), /* Function to apply at each qualifying tile */
ClientData cdarg) /* Client data for above function */ ClientData cdarg) /* Client data for above function */
{ {
int SimCellTileSrFunc(); int SimCellTileSrFunc(SearchContext *scx, ClientData cdata); /* cb_database_cellsrarea_t (TreeFilter *fp) */
TreeFilter filter; TreeFilter filter;
filter.tf_func = func; filter.tf_func = func;
@ -731,18 +731,20 @@ SimTreeSrNMTiles(
filter.tf_planes = DBTechTypesToPlanes(mask); filter.tf_planes = DBTechTypesToPlanes(mask);
filter.tf_tpath = tpath; filter.tf_tpath = tpath;
return SimCellTileSrFunc(scx, &filter); return SimCellTileSrFunc(scx, PTR2CD(&filter));
} }
/* /*
* Filter procedure applied to subcells by SimTreeSrTiles(). * Filter procedure applied to subcells by SimTreeSrTiles().
*/ */
/** @typedef cb_database_cellsrarea_t */
int int
SimCellTileSrFunc( SimCellTileSrFunc(
SearchContext *scx, SearchContext *scx,
TreeFilter *fp) ClientData cdata) /* (TreeFilter *fp) */
{ {
TreeFilter *fp = (TreeFilter *)CD2PTR(cdata);
TreeContext context; TreeContext context;
TerminalPath *tp; TerminalPath *tp;
CellDef *def = scx->scx_use->cu_def; CellDef *def = scx->scx_use->cu_def;
@ -811,7 +813,7 @@ SimCellTileSrFunc(
* in our tile plane. * in our tile plane.
*/ */
if (DBCellSrArea(scx, SimCellTileSrFunc, (ClientData) fp)) if (DBCellSrArea(scx, SimCellTileSrFunc, PTR2CD(fp)))
result = 1; result = 1;
cleanup: cleanup: