Index: trunk/src/board.c =================================================================== --- trunk/src/board.c (revision 16212) +++ trunk/src/board.c (revision 16213) @@ -81,7 +81,8 @@ ptr->Data = pcb_buffer_new(ptr); ptr->ThermStyle = 4; - ptr->IsleArea = 2.e8; + conf_set(CFR_INTERNAL, "design/poly_isle_area", -1, "200000000", POL_OVERWRITE); + ptr->RatDraw = pcb_false; /* NOTE: we used to set all the pcb flags on ptr here, but we don't need to do that anymore due to the new conf system */ Index: trunk/src/board.h =================================================================== --- trunk/src/board.h (revision 16212) +++ trunk/src/board.h (revision 16213) @@ -82,7 +82,6 @@ pcb_coord_t Grid; /* used grid with offsets */ double Zoom, /* zoom factor */ - IsleArea, /* minimum poly island to retain */ ThermScale; /* scale factor used with thermals */ pcb_fontkit_t fontkit; pcb_layer_stack_t LayerGroups; Index: trunk/src/polygon.c =================================================================== --- trunk/src/polygon.c (revision 16212) +++ trunk/src/polygon.c (revision 16213) @@ -168,7 +168,7 @@ n = p; do { #if 0 - if (n->contours->area < PCB->IsleArea) { + if (n->contours->area < conf_core.design.poly_isle_area) { n->b->f = n->f; n->f->b = n->b; pcb_poly_contour_del(&n->contours); @@ -1895,7 +1895,7 @@ pcb_vnode_t *v; pcb_poly_t *newone; - if (p->contours->area > PCB->IsleArea) { + if (p->contours->area > conf_core.design.poly_isle_area) { newone = pcb_poly_new(layer, poly->Clearance, flags); if (!newone) return pcb_false; Index: trunk/src_plugins/io_lihata/read.c =================================================================== --- trunk/src_plugins/io_lihata/read.c (revision 16212) +++ trunk/src_plugins/io_lihata/read.c (revision 16213) @@ -359,7 +359,7 @@ if ((grp != NULL) && (grp->type == LHT_HASH)) { parse_coord(&pcb->MaxWidth, lht_dom_hash_get(grp, "x")); parse_coord(&pcb->MaxHeight, lht_dom_hash_get(grp, "y")); - parse_double(&pcb->IsleArea, lht_dom_hash_get(grp, "isle_area_nm2")); + parse_coord_conf("design/poly_isle_area", lht_dom_hash_get(grp, "isle_area_nm2")); parse_double(&pcb->ThermScale, lht_dom_hash_get(grp, "thermal_scale")); } Index: trunk/src_plugins/io_lihata/write.c =================================================================== --- trunk/src_plugins/io_lihata/write.c (revision 16212) +++ trunk/src_plugins/io_lihata/write.c (revision 16213) @@ -145,7 +145,9 @@ lht_dom_hash_put(meta, grp); lht_dom_hash_put(grp, build_textf("x", CFMT, pcb->MaxWidth)); lht_dom_hash_put(grp, build_textf("y", CFMT, pcb->MaxHeight)); - lht_dom_hash_put(grp, build_textf("isle_area_nm2", "%f", pcb->IsleArea)); + if (wrver < 5) { + lht_dom_hash_put(grp, build_textf("isle_area_nm2", "%f", conf_core.design.poly_isle_area)); + } lht_dom_hash_put(grp, build_textf("thermal_scale", "%f", pcb->ThermScale)); if (wrver < 5) { Index: trunk/src_plugins/io_pcb/file.c =================================================================== --- trunk/src_plugins/io_pcb/file.c (revision 16212) +++ trunk/src_plugins/io_pcb/file.c (revision 16213) @@ -295,7 +295,7 @@ pcb_fprintf(FP, "Grid[%[0] %[0] %[0] %d]\n", PCB->Grid, PCB->GridOffsetX, PCB->GridOffsetY, conf_core.editor.draw_grid); pcb_fprintf(FP, "Cursor[%[0] %[0] %s]\n", pcb_crosshair.X, pcb_crosshair.Y, c_dtostr(PCB->Zoom)); /* PolyArea should be output in square cmils, no suffix */ - fprintf(FP, "PolyArea[%s]\n", c_dtostr(PCB_COORD_TO_MIL(PCB_COORD_TO_MIL(PCB->IsleArea) * 100) * 100)); + fprintf(FP, "PolyArea[%s]\n", c_dtostr(PCB_COORD_TO_MIL(PCB_COORD_TO_MIL(conf_core.design.poly_isle_area) * 100) * 100)); pcb_fprintf(FP, "Thermal[%s]\n", c_dtostr(PCB->ThermScale)); pcb_fprintf(FP, "DRC[%[0] %[0] %[0] %[0] %[0] %[0]]\n", conf_core.design.bloat, conf_core.design.shrink, conf_core.design.min_wid, conf_core.design.min_slk, conf_core.design.min_drill, conf_core.design.min_ring); Index: trunk/src_plugins/io_pcb/parse_y.c =================================================================== --- trunk/src_plugins/io_pcb/parse_y.c (revision 16212) +++ trunk/src_plugins/io_pcb/parse_y.c (revision 16213) @@ -2038,7 +2038,7 @@ #line 494 "parse_y.y" /* yacc.c:1646 */ { /* Read in cmil^2 for now; in future this should be a noop. */ - yyPCB->IsleArea = PCB_MIL_TO_COORD (PCB_MIL_TO_COORD ((yyvsp[-1].number)) / 100.0) / 100.0; + load_meta_coord("design/poly_isle_area", PCB_MIL_TO_COORD(PCB_MIL_TO_COORD ((yyvsp[-1].number)) / 100.0) / 100.0); } #line 2044 "parse_y.c" /* yacc.c:1646 */ break; Index: trunk/src_plugins/io_pcb/parse_y.y =================================================================== --- trunk/src_plugins/io_pcb/parse_y.y (revision 16212) +++ trunk/src_plugins/io_pcb/parse_y.y (revision 16213) @@ -493,7 +493,7 @@ | T_AREA '[' number ']' { /* Read in cmil^2 for now; in future this should be a noop. */ - yyPCB->IsleArea = PCB_MIL_TO_COORD (PCB_MIL_TO_COORD ($3) / 100.0) / 100.0; + load_meta_coord("design/poly_isle_area", PCB_MIL_TO_COORD(PCB_MIL_TO_COORD ($3) / 100.0) / 100.0); } ; Index: trunk/src_plugins/lib_gtk_config/gui-config.c =================================================================== --- trunk/src_plugins/lib_gtk_config/gui-config.c (revision 16212) +++ trunk/src_plugins/lib_gtk_config/gui-config.c (revision 16213) @@ -565,7 +565,6 @@ conf_set_design("design/shrink", "%$mS", new_Shrink); conf_set_design("design/min_wid", "%$mS", new_minWid); conf_set_design("design/min_slk", "%$mS", new_minSlk); - conf_set_design("design/poly_isle_area", "%f", PCB->IsleArea); conf_set_design("design/min_drill", "%$mS", new_minDrill); conf_set_design("design/min_ring", "%$mS", new_minRing);