Index: bxl.h =================================================================== --- bxl.h (revision 30604) +++ bxl.h (revision 30605) @@ -28,6 +28,12 @@ pcb_poly_t *poly; double arc_start, arc_delta; pcb_bxl_just_t hjust, vjust; + unsigned flipped:1; + unsigned invis:1; + unsigned plated:1; + unsigned nopaste:1; + unsigned surface:1; + unsigned delayed_poly:1; } state; Index: bxl_gram.c =================================================================== --- bxl_gram.c (revision 30604) +++ bxl_gram.c (revision 30605) @@ -593,6 +593,10 @@ #line 125 "../../src_plugins/io_bxl/bxl_gram.y" { pcb_bxl_set_justify(ctx, yyctx->stack.l_mark[0].un.s); free(yyctx->stack.l_mark[0].un.s); } break; +case 19: +#line 127 "../../src_plugins/io_bxl/bxl_gram.y" + { ctx->state.invis = yyctx->stack.l_mark[0].un.i; } +break; case 20: #line 131 "../../src_plugins/io_bxl/bxl_gram.y" { ctx->state.origin_x = yyctx->stack.l_mark[-2].un.c; ctx->state.origin_y = yyctx->stack.l_mark[0].un.c; } @@ -605,6 +609,18 @@ #line 139 "../../src_plugins/io_bxl/bxl_gram.y" { ctx->state.width = yyctx->stack.l_mark[0].un.c; } break; +case 33: +#line 176 "../../src_plugins/io_bxl/bxl_gram.y" + { ctx->state.surface = yyctx->stack.l_mark[0].un.i; } +break; +case 34: +#line 177 "../../src_plugins/io_bxl/bxl_gram.y" + { ctx->state.plated = yyctx->stack.l_mark[0].un.i; } +break; +case 35: +#line 178 "../../src_plugins/io_bxl/bxl_gram.y" + { ctx->state.nopaste = yyctx->stack.l_mark[0].un.i; } +break; case 45: #line 204 "../../src_plugins/io_bxl/bxl_gram.y" { pcb_bxl_pattern_begin(ctx, yyctx->stack.l_mark[-1].un.s); free(yyctx->stack.l_mark[-1].un.s); } @@ -661,7 +677,11 @@ #line 334 "../../src_plugins/io_bxl/bxl_gram.y" { ctx->state.arc_delta = yyctx->stack.l_mark[0].un.d; } break; -#line 677 "../../src_plugins/io_bxl/bxl_gram.c" +case 112: +#line 352 "../../src_plugins/io_bxl/bxl_gram.y" + { ctx->state.flipped = yyctx->stack.l_mark[0].un.i; } +break; +#line 697 "../../src_plugins/io_bxl/bxl_gram.c" } yyctx->stack.s_mark -= yyctx->yym; yyctx->state = *yyctx->stack.s_mark; Index: bxl_gram.y =================================================================== --- bxl_gram.y (revision 30604) +++ bxl_gram.y (revision 30605) @@ -124,7 +124,7 @@ common_attr_text: T_JUSTIFY T_ID { pcb_bxl_set_justify(ctx, $2); free($2); } | T_TEXTSTYLE T_QSTR - | T_ISVISIBLE boolean + | T_ISVISIBLE boolean { ctx->state.invis = $2; } ; common_origin: @@ -173,9 +173,9 @@ pstk_attr: T_HOLEDIAM T_INTEGER - | T_SURFACE boolean - | T_PLATED boolean - | T_NOPASTE boolean + | T_SURFACE boolean { ctx->state.surface = $2; } + | T_PLATED boolean { ctx->state.plated = $2; } + | T_NOPASTE boolean { ctx->state.nopaste = $2; } ; pad_shapes: @@ -349,7 +349,7 @@ text_attr: T_TEXT T_QSTR - | T_ISFLIPPED boolean + | T_ISFLIPPED boolean { ctx->state.flipped = $2; } | T_ROTATE real | common_attr_text | common_origin