aligned pdf hardcopy colors to xschem light colorscheme, pdf and svg exports use the enable_layer[] array to display/hide layers as does draw().

This commit is contained in:
Stefan Schippers 2020-08-30 10:38:29 +02:00
parent 11c940aa09
commit a419b6aa63
5 changed files with 40 additions and 35 deletions

View File

@ -596,7 +596,6 @@ void draw_temp_symbol(int what, GC gc, int n,int layer,int tmp_flip, int rot,
#endif #endif
if(inst_ptr[n].ptr == -1) return; if(inst_ptr[n].ptr == -1) return;
/* if(layer != PINLAYER && !enable_layer[layer] ) return; */
if(!has_x) return; if(!has_x) return;
flip = inst_ptr[n].flip; flip = inst_ptr[n].flip;

View File

@ -259,7 +259,8 @@ static void ps_draw_symbol(int n,int layer,int tmp_flip, int rot,
xArc arc; xArc arc;
xPolygon polygon; xPolygon polygon;
if(inst_ptr[n].ptr == -1) return;
if( (layer != PINLAYER && !enable_layer[layer]) ) return;
if(layer==0) if(layer==0)
{ {
x1=X_TO_PS(inst_ptr[n].x1); x1=X_TO_PS(inst_ptr[n].x1);
@ -328,7 +329,7 @@ static void ps_draw_symbol(int n,int layer,int tmp_flip, int rot,
ROTATION(0.0,0.0,arc.x,arc.y,x1,y1); ROTATION(0.0,0.0,arc.x,arc.y,x1,y1);
ps_drawarc(layer, arc.fill, x0+x1, y0+y1, arc.r, angle, arc.b); ps_drawarc(layer, arc.fill, x0+x1, y0+y1, arc.r, angle, arc.b);
} }
for(j=0;j< (inst_ptr[n].ptr+instdef)->rects[layer];j++) if( (layer != PINLAYER || enable_layer[layer]) ) for(j=0;j< (inst_ptr[n].ptr+instdef)->rects[layer];j++)
{ {
box = ((inst_ptr[n].ptr+instdef)->boxptr[layer])[j]; box = ((inst_ptr[n].ptr+instdef)->boxptr[layer])[j];
ROTATION(0.0,0.0,box.x1,box.y1,x1,y1); ROTATION(0.0,0.0,box.x1,box.y1,x1,y1);
@ -351,11 +352,13 @@ static void ps_draw_symbol(int n,int layer,int tmp_flip, int rot,
textlayer = (inst_ptr[n].ptr+instdef)->txtptr[j].layer; textlayer = (inst_ptr[n].ptr+instdef)->txtptr[j].layer;
if(textlayer < 0 || textlayer >= cadlayers) textlayer = layer; if(textlayer < 0 || textlayer >= cadlayers) textlayer = layer;
} }
if((layer == PINLAYER && inst_ptr[n].flags & 4) || enable_layer[textlayer]) {
ps_draw_string(textlayer, text.txt_ptr, ps_draw_string(textlayer, text.txt_ptr,
(text.rot + ( (flip && (text.rot & 1) ) ? rot+2 : rot) ) & 0x3, (text.rot + ( (flip && (text.rot & 1) ) ? rot+2 : rot) ) & 0x3,
flip^text.flip, text.hcenter, text.vcenter, flip^text.flip, text.hcenter, text.vcenter,
x0+x1, y0+y1, text.xscale, text.yscale); x0+x1, y0+y1, text.xscale, text.yscale);
} }
}
restore_lw(); restore_lw();
} }
Tcl_SetResult(interp,"",TCL_STATIC); /* 26102003 */ Tcl_SetResult(interp,"",TCL_STATIC); /* 26102003 */

View File

@ -285,6 +285,8 @@ static void svg_draw_symbol(int n,int layer,int tmp_flip, int rot,
xArc arc; xArc arc;
xPolygon polygon; xPolygon polygon;
if(inst_ptr[n].ptr == -1) return;
if( (layer != PINLAYER && !enable_layer[layer]) ) return;
if(layer==0) if(layer==0)
{ {
x1=X_TO_SVG(inst_ptr[n].x1); x1=X_TO_SVG(inst_ptr[n].x1);
@ -354,7 +356,7 @@ static void svg_draw_symbol(int n,int layer,int tmp_flip, int rot,
svg_drawarc(layer, arc.fill, x0+x1, y0+y1, arc.r, angle, arc.b); svg_drawarc(layer, arc.fill, x0+x1, y0+y1, arc.r, angle, arc.b);
} }
for(j=0;j< (inst_ptr[n].ptr+instdef)->rects[layer];j++) if( (layer != PINLAYER || enable_layer[layer]) ) for(j=0;j< (inst_ptr[n].ptr+instdef)->rects[layer];j++)
{ {
box = ((inst_ptr[n].ptr+instdef)->boxptr[layer])[j]; box = ((inst_ptr[n].ptr+instdef)->boxptr[layer])[j];
ROTATION(0.0,0.0,box.x1,box.y1,x1,y1); ROTATION(0.0,0.0,box.x1,box.y1,x1,y1);
@ -377,13 +379,14 @@ static void svg_draw_symbol(int n,int layer,int tmp_flip, int rot,
textlayer = (inst_ptr[n].ptr+instdef)->txtptr[j].layer; textlayer = (inst_ptr[n].ptr+instdef)->txtptr[j].layer;
if(textlayer < 0 || textlayer >= cadlayers) textlayer = layer; if(textlayer < 0 || textlayer >= cadlayers) textlayer = layer;
} }
if((layer == PINLAYER && inst_ptr[n].flags & 4) || enable_layer[textlayer]) {
svg_draw_string(textlayer, text.txt_ptr, svg_draw_string(textlayer, text.txt_ptr,
(text.rot + ( (flip && (text.rot & 1) ) ? rot+2 : rot) ) & 0x3, (text.rot + ( (flip && (text.rot & 1) ) ? rot+2 : rot) ) & 0x3,
flip^text.flip, text.hcenter, text.vcenter, flip^text.flip, text.hcenter, text.vcenter,
x0+x1, y0+y1, text.xscale, text.yscale); x0+x1, y0+y1, text.xscale, text.yscale);
} }
} }
}
Tcl_SetResult(interp,"",TCL_STATIC); /*26102003 */ Tcl_SetResult(interp,"",TCL_STATIC); /*26102003 */
} }

View File

@ -1,4 +1,4 @@
v {xschem version=2.9.5_RC6 file_version=1.1} v {xschem version=2.9.7 file_version=1.2}
G {font file} G {font file}
V {} V {}
S {} S {}
@ -457,7 +457,6 @@ L 3 2120 5 2133.75 5 {}
L 3 2180 -10 2180 0 {} L 3 2180 -10 2180 0 {}
L 3 2200 -35 2220 -35 {} L 3 2200 -35 2220 -35 {}
L 3 2210 5 2220 -35 {} L 3 2210 5 2220 -35 {}
L 3 2285 5 2292.5 5 {}
L 3 2400 -15 2420 -25 {} L 3 2400 -15 2420 -25 {}
L 3 2400 -15 2420 -5 {} L 3 2400 -15 2420 -5 {}
L 3 2440 -20 2460 -20 {} L 3 2440 -20 2460 -20 {}
@ -465,7 +464,6 @@ L 3 2440 -10 2460 -10 {}
L 3 2120 -17.5 2133.75 -17.5 {} L 3 2120 -17.5 2133.75 -17.5 {}
L 3 2120 -35 2120 -17.5 {} L 3 2120 -35 2120 -17.5 {}
L 3 2140 -12.5 2140 0 {} L 3 2140 -12.5 2140 0 {}
L 3 2300 -30 2300 -1.25 {}
L 3 2327.5 -30 2327.5 -25 {} L 3 2327.5 -30 2327.5 -25 {}
L 3 2327.5 -30 2332.5 -30 {} L 3 2327.5 -30 2332.5 -30 {}
L 3 2332.5 -30 2332.5 -25 {} L 3 2332.5 -30 2332.5 -25 {}
@ -483,7 +481,6 @@ L 3 2367.5 -5 2372.5 -5 {}
L 3 2372.5 -5 2372.5 0 {} L 3 2372.5 -5 2372.5 0 {}
L 3 2040 -32.5 2045 -35 {} L 3 2040 -32.5 2045 -35 {}
L 3 2040 2.5 2045 5 {} L 3 2040 2.5 2045 5 {}
L 3 2280 2.5 2285 5 {}
L 3 2160 -22.5 2160 0 {} L 3 2160 -22.5 2160 0 {}
L 3 2166.25 -15 2173.75 -15 {} L 3 2166.25 -15 2173.75 -15 {}
L 3 2160 -22.5 2163.75 -30 {} L 3 2160 -22.5 2163.75 -30 {}
@ -537,19 +534,6 @@ L 3 2245 -16.25 2248.75 -15 {}
L 3 2258.75 -21.25 2260 -28.75 {} L 3 2258.75 -21.25 2260 -28.75 {}
L 3 2240 -28.75 2241.25 -21.25 {} L 3 2240 -28.75 2241.25 -21.25 {}
L 3 2247.5 -35 2252.5 -35 {} L 3 2247.5 -35 2252.5 -35 {}
L 3 2298.75 1.25 2300 -1.25 {}
L 3 2296.25 3.75 2298.75 1.25 {}
L 3 2292.5 5 2296.25 3.75 {}
L 3 2280 -30 2281.25 -32.5 {}
L 3 2281.25 -32.5 2285 -35 {}
L 3 2280 -20 2281.25 -17.5 {}
L 3 2281.25 -17.5 2285 -15 {}
L 3 2298.75 -32.5 2300 -30 {}
L 3 2295 -35 2298.75 -32.5 {}
L 3 2285 -35 2295 -35 {}
L 3 2285 -15 2297.5 -15 {}
L 3 2297.5 -15 2300 -16.25 {}
L 3 2280 -30 2280 -20 {}
L 3 2176.25 -35 2177.5 -35 {} L 3 2176.25 -35 2177.5 -35 {}
L 3 1940 -30 1940 0 {} L 3 1940 -30 1940 0 {}
L 3 1920 -30 1921.25 -32.5 {} L 3 1920 -30 1921.25 -32.5 {}
@ -698,3 +682,19 @@ L 3 2656.25 -13.75 2658.75 -11.25 {}
L 3 2660 -30 2660 -22.5 {} L 3 2660 -30 2660 -22.5 {}
L 3 2658.75 -18.75 2660 -22.5 {} L 3 2658.75 -18.75 2660 -22.5 {}
L 3 2656.25 -16.25 2658.75 -18.75 {} L 3 2656.25 -16.25 2658.75 -18.75 {}
L 3 2280 -30 2280 -20 {}
L 3 2300 -30 2300 -7.5 {}
L 3 2286.25 -15 2293.75 -15 {}
L 3 2296.25 0 2300 -7.5 {}
L 3 2283.75 5 2290 3.75 {}
L 3 2290 3.75 2296.25 0 {}
L 3 2280 -20 2281.25 -17.5 {}
L 3 2281.25 -17.5 2286.25 -15 {}
L 3 2298.75 -17.5 2300 -20 {}
L 3 2293.75 -15 2298.75 -17.5 {}
L 3 2282.5 5 2283.75 5 {}
L 3 2280 -30 2281.25 -32.5 {}
L 3 2281.25 -32.5 2286.25 -35 {}
L 3 2298.75 -32.5 2300 -30 {}
L 3 2293.75 -35 2298.75 -32.5 {}
L 3 2286.25 -35 2293.75 -35 {}

View File

@ -3026,10 +3026,10 @@ if {!$rainbow_colors} {
"#ef6158" "#fdb200"} "#ef6158" "#fdb200"}
set_ne ps_colors { set_ne ps_colors {
0x000000 0x0000ee 0x7f7f7f 0x000000 0x338800 0xffffff 0x0044ee 0xaaaaaa 0x222222 0x229900
0xbb2200 0x0000ee 0xff0000 0xffff00 0x000000 0xbb2200 0x00ccee 0xff0000 0x888800 0x00aaaa
0xff00ff 0x00ff00 0x0000cc 0xaaaa00 0xaaccaa 0x880088 0x00ff00 0x0000cc 0x666600 0x557755
0xff7777 0xbfff81 0x00ffcc 0xce0097 0xd2d46b 0xaa2222 0x7ccc40 0x00ffcc 0xce0097 0xd2d46b
0xef6158 0xfdb200} 0xef6158 0xfdb200}
} else { } else {
# rainbow colors for bitmapping # rainbow colors for bitmapping