Index: trunk/doc/TODO
===================================================================
--- trunk/doc/TODO (revision 8604)
+++ trunk/doc/TODO (revision 8605)
@@ -16,6 +16,9 @@
- layer rewrite:
- gtk layersel bugs:
- double click should be ignored and handled as two single clicks [reprot: miloh]
+ - png export: check mask/paste drawing, make new options? mask on in photo more?
+ - svg export: check mask/paste drawing, make new options? mask on in photo more?
+
- lesstif: layer selector should show all layers, probably in the order of the stackup
- gtk: "can't remove silk layer" when logical silk is being removed with right-click in layer selector [report: miloh]
- check why thin draw crashes
Index: trunk/doc/conf/tree/editor.html
===================================================================
--- trunk/doc/conf/tree/editor.html (revision 8604)
+++ trunk/doc/conf/tree/editor.html (revision 8605)
@@ -37,7 +37,6 @@
description | boolean | 0 | display element description as element name, instead of value
Index: trunk/src/change.c
===================================================================
--- trunk/src/change.c (revision 8604)
+++ trunk/src/change.c (revision 8605)
@@ -424,7 +424,7 @@
ctx.chgsize.absolute = (fixIt) ? Difference : 0;
ctx.chgsize.delta = Difference;
- if (conf_core.editor.show_mask)
+ if (pcb_mask_on(PCB))
change = pcb_selected_operation(PCB, &ChangeMaskSizeFunctions, &ctx, pcb_false, types);
else
change = pcb_selected_operation(PCB, &ChangeClearSizeFunctions, &ctx, pcb_false, types);
@@ -879,7 +879,7 @@
ctx.chgsize.absolute = (fixIt) ? Difference : 0;
ctx.chgsize.delta = Difference;
- if (conf_core.editor.show_mask)
+ if (pcb_mask_on(PCB))
change = (pcb_object_operation(&ChangeMaskSizeFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL);
else
change = (pcb_object_operation(&ChangeClearSizeFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL);
Index: trunk/src/conf_core.h
===================================================================
--- trunk/src/conf_core.h (revision 8604)
+++ trunk/src/conf_core.h (revision 8605)
@@ -50,7 +50,6 @@
CFT_BOOLEAN thin_draw_poly; /* if set, polygons on the screen are drawn as outlines. */
CFT_BOOLEAN local_ref; /* use local reference for moves, by setting the mark at the beginning of each move. */
CFT_BOOLEAN check_planes; /* when set, only polygons and their clearances are drawn, to see if polygons have isolated regions. */
- CFT_BOOLEAN show_mask; /* show the solder mask layer */
CFT_BOOLEAN show_paste; /* show the solder paste layer */
CFT_BOOLEAN hide_names; /* when set, element names are not drawn. */
CFT_BOOLEAN description; /* display element description as element name, instead of value */
Index: trunk/src/gui_act.c
===================================================================
--- trunk/src/gui_act.c (revision 8604)
+++ trunk/src/gui_act.c (revision 8605)
@@ -408,11 +408,6 @@
pcb_redraw();
break;
- case F_ToggleMask:
- conf_toggle_editor(show_mask);
- pcb_redraw();
- break;
-
case F_TogglePaste:
conf_toggle_editor(show_paste);
pcb_redraw();
Index: trunk/src/layer_grp.c
===================================================================
--- trunk/src/layer_grp.c (revision 8604)
+++ trunk/src/layer_grp.c (revision 8605)
@@ -650,7 +650,7 @@
return pcb_layergrp_get_cached(PCB, &cache, PCB_LYT_TOP, PCB_LYT_SILK);
}
-/* Note: this function is in this file mainly to access the static inlines */
+/* Note: these function is in this file mainly to access the static inlines */
int pcb_silk_on(pcb_board_t *pcb)
{
static pcb_layer_id_t ts = -1, bs = -1;
@@ -663,3 +663,15 @@
return 0;
}
+int pcb_mask_on(pcb_board_t *pcb)
+{
+ static pcb_layer_id_t tm = -1, bm = -1;
+ pcb_layergrp_get_cached(pcb, &tm, PCB_LYT_TOP, PCB_LYT_MASK);
+ if ((tm >= 0) && (pcb->LayerGroups.grp[tm].vis))
+ return 1;
+ pcb_layergrp_get_cached(pcb, &bm, PCB_LYT_BOTTOM, PCB_LYT_MASK);
+ if ((bm >= 0) && (pcb->LayerGroups.grp[bm].vis))
+ return 1;
+ return 0;
+}
+
Index: trunk/src/layer_grp.h
===================================================================
--- trunk/src/layer_grp.h (revision 8604)
+++ trunk/src/layer_grp.h (revision 8605)
@@ -155,7 +155,7 @@
pcb_layergrp_id_t pcb_layergrp_get_bottom_silk();
pcb_layergrp_id_t pcb_layergrp_get_top_silk();
-/* return whether any silk layer group is visible */
+/* return whether any silk or mask layer group is visible */
int pcb_silk_on(pcb_board_t *pcb);
-
+int pcb_mask_on(pcb_board_t *pcb);
#endif
Index: trunk/src/layer_vis.c
===================================================================
--- trunk/src/layer_vis.c (revision 8604)
+++ trunk/src/layer_vis.c (revision 8605)
@@ -100,8 +100,6 @@
/* special case: some layer groups are controlled by a config setting */
flg = pcb_layer_flags(PCB, Layer);
- if (flg & PCB_LYT_MASK)
- conf_set_editor(show_mask, On);
if (flg & PCB_LYT_PASTE)
conf_set_editor(show_paste, On);
@@ -242,15 +240,8 @@
in = 0;
}
-void layer_vis_sync(void)
-{
- conf_native_t *n_mask = conf_get_field("editor/show_mask");
- layer_vis_chg_mask(n_mask);
-}
-
static void layer_vis_sync_ev(void *user_data, int argc, pcb_event_arg_t argv[])
{
- layer_vis_sync();
}
static void layer_vis_grp_defaults(void *user_data, int argc, pcb_event_arg_t argv[])
@@ -291,9 +282,7 @@
conf_hid_set_cb(n_mask, layer_vis_conf_id, &cbs_mask);
}
- pcb_event_bind(PCB_EVENT_BOARD_CHANGED, layer_vis_sync_ev, NULL, layer_vis_cookie);
pcb_event_bind(PCB_EVENT_BOARD_CHANGED, layer_vis_grp_defaults, NULL, layer_vis_cookie);
- pcb_event_bind(PCB_EVENT_LAYERS_CHANGED, layer_vis_sync_ev, NULL, layer_vis_cookie);
}
void layer_vis_uninit(void)
Index: trunk/src_plugins/export_png/png.c
===================================================================
--- trunk/src_plugins/export_png/png.c (revision 8604)
+++ trunk/src_plugins/export_png/png.c (revision 8605)
@@ -458,7 +458,6 @@
conf_force_set_bool(conf_core.editor.thin_draw_poly, 0);
/* conf_force_set_bool(conf_core.editor.check_planes, 0);*/
conf_force_set_bool(conf_core.editor.show_solder_side, 0);
- conf_force_set_bool(conf_core.editor.show_mask, 0);
qsort(pcb_layer_stack, pcb_max_layer, sizeof(pcb_layer_stack[0]), layer_sort);
@@ -471,7 +470,6 @@
assert(solder_layer >= 0);
assert(comp_layer >= 0);
- conf_force_set_bool(conf_core.editor.show_mask, 1);
photo_has_inners = 0;
if (comp_layer < solder_layer)
for (i = comp_layer; i <= solder_layer; i++) {
@@ -1041,7 +1039,7 @@
}
if ((flags & PCB_LYT_ANYTHING) == PCB_LYT_MASK)
- return conf_core.editor.show_mask && PCB_LAYERFLG_ON_VISIBLE_SIDE(flags);
+ return PCB_LAYERFLG_ON_VISIBLE_SIDE(flags);
}
else {
if (is_mask)
Index: trunk/src_plugins/export_svg/svg.c
===================================================================
--- trunk/src_plugins/export_svg/svg.c (revision 8604)
+++ trunk/src_plugins/export_svg/svg.c (revision 8605)
@@ -211,11 +211,9 @@
conf_force_set_bool(conf_core.editor.thin_draw_poly, 0);
/* conf_force_set_bool(conf_core.editor.check_planes, 0);*/
conf_force_set_bool(conf_core.editor.show_solder_side, 0);
- conf_force_set_bool(conf_core.editor.show_mask, 0);
if (options[HA_photo_mode].int_value) {
photo_mode = 1;
- conf_force_set_bool(conf_core.editor.show_mask, 1);
}
else
photo_mode = 0;
Index: trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c
===================================================================
--- trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 8604)
+++ trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 8605)
@@ -107,7 +107,7 @@
switch (flags & PCB_LYT_ANYTHING) {
case PCB_LYT_MASK:
if (PCB_LAYERFLG_ON_VISIBLE_SIDE(flags) /*&& !pinout */ )
- return conf_core.editor.show_mask;
+ return pcb_mask_on(PCB);
return 0;
case PCB_LYT_PASTE: /* Never draw the paste layer */
if (PCB_LAYERFLG_ON_VISIBLE_SIDE(flags))
Index: trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c
===================================================================
--- trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 8604)
+++ trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 8605)
@@ -161,7 +161,7 @@
switch (flags & PCB_LYT_ANYTHING) {
case PCB_LYT_MASK:
if (PCB_LAYERFLG_ON_VISIBLE_SIDE(flags))
- return conf_core.editor.show_mask;
+ return pcb_mask_on(PCB);
return 0;
case PCB_LYT_SILK:
if (PCB_LAYERFLG_ON_VISIBLE_SIDE(flags))
Index: trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c
===================================================================
--- trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 8604)
+++ trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 8605)
@@ -145,7 +145,7 @@
switch (flags & PCB_LYT_ANYTHING) {
case PCB_LYT_MASK:
if (PCB_LAYERFLG_ON_VISIBLE_SIDE(flags) /*&& !pinout */ )
- return conf_core.editor.show_mask;
+ return pcb_mask_on(PCB);
return 0;
case PCB_LYT_PASTE: /* Never draw the paste layer */
return 0;
Index: trunk/src_plugins/hid_lesstif/main.c
===================================================================
--- trunk/src_plugins/hid_lesstif/main.c (revision 8604)
+++ trunk/src_plugins/hid_lesstif/main.c (revision 8605)
@@ -2758,7 +2758,7 @@
switch (flags & PCB_LYT_ANYTHING) {
case PCB_LYT_MASK:
if (PCB_LAYERFLG_ON_VISIBLE_SIDE(flags) && !pinout)
- return conf_core.editor.show_mask;
+ return pcb_mask_on(PCB);
return 0;
case PCB_LYT_PASTE:
if (PCB_LAYERFLG_ON_VISIBLE_SIDE(flags) && !pinout)
Index: trunk/src_plugins/hid_lesstif/menu.c
===================================================================
--- trunk/src_plugins/hid_lesstif/menu.c (revision 8604)
+++ trunk/src_plugins/hid_lesstif/menu.c (revision 8605)
@@ -140,7 +140,7 @@
set = PCB->InvisibleObjectsOn;
break;
case LB_MASK:
- set = conf_core.editor.show_mask;
+ set = pcb_mask_on(PCB);
break;
case LB_PASTE:
set = conf_core.editor.show_paste;
@@ -247,8 +247,9 @@
set = PCB->InvisibleObjectsOn = !PCB->InvisibleObjectsOn;
break;
case LB_MASK:
- conf_toggle_editor(show_mask);
- set = conf_core.editor.show_mask;
+#warning layersel TODO
+/* conf_toggle_editor(show_mask);*/
+ set = pcb_mask_on(PCB);
break;
case LB_PASTE:
conf_toggle_editor(show_paste);
@@ -436,8 +437,10 @@
XtAddCallback(btn, XmNvalueChangedCallback, (XtCallbackProc) layer_button_callback, (XtPointer) (size_t) i);
lb->w[i] = btn;
- if (i == LB_MASK)
- note_widget_flag(btn, XmNset, "editor/show_mask");
+ if (i == LB_MASK) {
+#warning layersel TODO
+/* note_widget_flag(btn, XmNset, "editor/show_mask");*/
+ }
else if (i == LB_PASTE)
note_widget_flag(btn, XmNset, "editor/show_paste");
}
Index: trunk/src_plugins/io_pcb/file.c
===================================================================
--- trunk/src_plugins/io_pcb/file.c (revision 8604)
+++ trunk/src_plugins/io_pcb/file.c (revision 8605)
@@ -275,7 +275,6 @@
conf_update_pcb_flag(&pcb_flags, "editor/check_planes",PCB_CHECKPLANESFLAG);
conf_update_pcb_flag(&pcb_flags, "editor/description", PCB_DESCRIPTIONFLAG);
conf_update_pcb_flag(&pcb_flags, "editor/name_on_pcb", PCB_NAMEONPCBFLAG);
- conf_update_pcb_flag(&pcb_flags, "editor/show_mask", PCB_SHOWMASKFLAG);
fprintf(FP, "\n# To read pcb files, the pcb version (or the git source date) must be >= the file version\n");
fprintf(FP, "FileVersion[%i]\n", PCBFileVersionNeeded());
Index: trunk/src_plugins/io_pcb/parse_l.c
===================================================================
--- trunk/src_plugins/io_pcb/parse_l.c (revision 8604)
+++ trunk/src_plugins/io_pcb/parse_l.c (revision 8605)
@@ -2546,7 +2546,6 @@
CONF_SET(settings_dest, "editor/check_planes", -1, CONF_BOOL_FLAG(PCB_CHECKPLANESFLAG, yy_pcb_flags), POL_OVERWRITE);
CONF_SET(settings_dest, "editor/description", -1, CONF_BOOL_FLAG(PCB_DESCRIPTIONFLAG, yy_pcb_flags), POL_OVERWRITE);
CONF_SET(settings_dest, "editor/name_on_pcb", -1, CONF_BOOL_FLAG(PCB_NAMEONPCBFLAG, yy_pcb_flags), POL_OVERWRITE);
- CONF_SET(settings_dest, "editor/show_mask", -1, CONF_BOOL_FLAG(PCB_SHOWMASKFLAG, yy_pcb_flags), POL_OVERWRITE);
/* don't save this because it is saved manually as PCB::grid::unit */
CONF_NO_ATTRIB("editor/grid_unit");
Index: trunk/src_plugins/io_pcb/parse_l.l
===================================================================
--- trunk/src_plugins/io_pcb/parse_l.l (revision 8604)
+++ trunk/src_plugins/io_pcb/parse_l.l (revision 8605)
@@ -405,7 +405,6 @@
CONF_SET(settings_dest, "editor/check_planes", -1, CONF_BOOL_FLAG(PCB_CHECKPLANESFLAG, yy_pcb_flags), POL_OVERWRITE);
CONF_SET(settings_dest, "editor/description", -1, CONF_BOOL_FLAG(PCB_DESCRIPTIONFLAG, yy_pcb_flags), POL_OVERWRITE);
CONF_SET(settings_dest, "editor/name_on_pcb", -1, CONF_BOOL_FLAG(PCB_NAMEONPCBFLAG, yy_pcb_flags), POL_OVERWRITE);
- CONF_SET(settings_dest, "editor/show_mask", -1, CONF_BOOL_FLAG(PCB_SHOWMASKFLAG, yy_pcb_flags), POL_OVERWRITE);
/* don't save this because it is saved manually as PCB::grid::unit */
CONF_NO_ATTRIB("editor/grid_unit");
|