Compare commits
2 Commits
92fc6e06cb
...
a547cf4e75
| Author | SHA1 | Date |
|---|---|---|
|
|
a547cf4e75 | |
|
|
18afca425e |
|
|
@ -5224,6 +5224,7 @@ void svg_embedded_graph(FILE *fd, int i, double rx1, double ry1, double rx2, dou
|
|||
rwi = (int) (rw * scale + 1.0);
|
||||
rhi = (int) (rh * scale + 1.0);
|
||||
save_restore_zoom(1, &zi);
|
||||
xctx->lw *= scale;
|
||||
set_viewport_size(rwi, rhi, xctx->lw);
|
||||
|
||||
/* zoom_box(rx1 - xctx->lw, ry1 - xctx->lw, rx2 + xctx->lw, ry2 + xctx->lw, 1.0); */
|
||||
|
|
@ -5273,7 +5274,7 @@ void svg_embedded_graph(FILE *fd, int i, double rx1, double ry1, double rx2, dou
|
|||
xctx->do_copy_area=save;
|
||||
tclsetboolvar("draw_grid", save_draw_grid);
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, 0, 0);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
|
||||
h = fabs(y2 - y1);
|
||||
w = fabs(x2 - x1);
|
||||
|
|
|
|||
|
|
@ -84,6 +84,8 @@ symrec *tptr; /* For returning symbol-table pointers */
|
|||
%token <val> NUM /* Simple double precision number */
|
||||
%token <tptr> FNCT /* Variable and Function */
|
||||
%type <val> exp
|
||||
%right ':'
|
||||
%right '?'
|
||||
%right '='
|
||||
%left '-' '+'
|
||||
%left '*' '/' '%'
|
||||
|
|
@ -113,6 +115,7 @@ exp: NUM {$$ = $1;}
|
|||
| exp '/' exp {$$ = $1 / $3;}
|
||||
| '-' exp %prec NEG {$$ = -$2;}
|
||||
| exp '^' exp {$$ = pow ($1, $3);}
|
||||
| exp '?' exp ':' exp {$$ = $1 ? $3 : $5;}
|
||||
| '(' exp ')' {$$ = $2;}
|
||||
;
|
||||
/* End of grammar */
|
||||
|
|
|
|||
|
|
@ -303,6 +303,7 @@ static int ps_embedded_graph(int i, double rx1, double ry1, double rx2, double r
|
|||
rhi = (int)(rh * scale + 1.0);
|
||||
dbg(1, "graph size, saving zoom : %dx%d\n", rwi, rhi);
|
||||
save_restore_zoom(1, &zi);
|
||||
xctx->lw *= scale;
|
||||
set_viewport_size(rwi, rhi, xctx->lw);
|
||||
|
||||
/* zoom_box(rx1 - xctx->lw, ry1 - xctx->lw, rx2 + xctx->lw, ry2 + xctx->lw, 1.0); */
|
||||
|
|
@ -1651,7 +1652,7 @@ void create_ps(char **psfile, int what, int fullzoom, int eps)
|
|||
/* restore original size and zoom factor */
|
||||
if(fullzoom == 1) {
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, 0, 0);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
change_linewidth(xctx->lw);
|
||||
zoom_full(1, 0, 0 + 2 * tclgetboolvar("zoom_full_center"), 0.97);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4009,7 +4009,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
resetwin(1, 1, 1, w, h);
|
||||
ps_draw(7, fullzoom, eps);
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, 0, 0);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
change_linewidth(save_lw);
|
||||
} else if(argc == 10 || xctx->lastsel) {
|
||||
if(xctx->lastsel) {
|
||||
|
|
@ -4039,7 +4039,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
resetwin(1, 1, 1, w, h);
|
||||
ps_draw(7, fullzoom, eps);
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, 0, 0);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
change_linewidth(save_lw);
|
||||
} else {
|
||||
fullzoom = 0;
|
||||
|
|
@ -4077,7 +4077,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
resetwin(1, 1, 1, w, h);
|
||||
print_image();
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, 0, 0);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
change_linewidth(save_lw);
|
||||
} else if(argc == 10 || xctx->lastsel) {
|
||||
if(xctx->lastsel) {
|
||||
|
|
@ -4107,7 +4107,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
resetwin(1, 1, 1, w, h);
|
||||
print_image();
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, 0, 0);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
change_linewidth(save_lw);
|
||||
} else {
|
||||
print_image();
|
||||
|
|
@ -4137,8 +4137,11 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
unselect_all(0);
|
||||
}
|
||||
else zoom_full(0, 0, 2 * tclgetboolvar("zoom_full_center"), 0.97);
|
||||
resetwin(1, 1, 1, w, h);
|
||||
svg_draw();
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
change_linewidth(save_lw);
|
||||
} else if(argc == 10 || xctx->lastsel) {
|
||||
if(xctx->lastsel) {
|
||||
xRect boundbox;
|
||||
|
|
@ -4164,13 +4167,14 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
save_restore_zoom(1, &zi);
|
||||
set_viewport_size(w, h, xctx->lw);
|
||||
zoom_box(x1, y1, x2, y2, 1.0);
|
||||
resetwin(1, 1, 1, w, h);
|
||||
svg_draw();
|
||||
save_restore_zoom(0, &zi);
|
||||
resetwin(1, 1, 1, xctx->xrect[0].width, xctx->xrect[0].height);
|
||||
change_linewidth(save_lw);
|
||||
} else {
|
||||
svg_draw();
|
||||
}
|
||||
resetwin(1, 1, 1, 0, 0);
|
||||
change_linewidth(save_lw);
|
||||
}
|
||||
draw();
|
||||
Tcl_ResetResult(interp);
|
||||
|
|
|
|||
|
|
@ -4567,6 +4567,12 @@ const char *translate(int inst, const char* s)
|
|||
STR_ALLOC(&result, tmp + result_pos, &size);
|
||||
memcpy(result+result_pos,tmp_sym_name, tmp+1);
|
||||
result_pos+=tmp;
|
||||
} else if(inst >= 0 && strcmp(token,"@lvs_ignore")==0) {
|
||||
char *lvs = tclgetboolvar("lvs_ignore") ? "1" : "0";
|
||||
tmp = strlen(lvs);
|
||||
STR_ALLOC(&result, tmp + result_pos, &size);
|
||||
memcpy(result+result_pos, lvs, tmp+1);
|
||||
result_pos+=tmp;
|
||||
} else if(inst >= 0 && strcmp(token,"@symname")==0) {
|
||||
tmp_sym_name = get_sym_name(inst, 0, 0, 0);
|
||||
tmp_sym_name=tmp_sym_name ? tmp_sym_name : "";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
v {xschem version=3.4.6 file_version=1.2
|
||||
v {xschem version=3.4.8RC file_version=1.3
|
||||
*
|
||||
* This file is part of XSCHEM,
|
||||
* a schematic capture and Spice/Vhdl/Verilog netlisting tool for circuit
|
||||
|
|
@ -23,6 +23,7 @@ G {}
|
|||
K {}
|
||||
V {}
|
||||
S {}
|
||||
F {}
|
||||
E {}
|
||||
B 2 1690 -960 2250 -630 {flags=graph,unlocked
|
||||
|
||||
|
|
@ -183,7 +184,7 @@ autoload=1}
|
|||
T {CMOS DIFFERENTIAL AMPLIFIER
|
||||
EXAMPLE. DC simulation} 30 -680 0 0 0.4 0.4 {}
|
||||
T {tcleval([xschem raw info])} 20 -960 0 0 0.4 0.4 {floater=true layer=16}
|
||||
T {AC Analysis} 1060 -1010 0 0 0.6 0.6 { layer=6}
|
||||
T {AC Analysis} 1060 -1000 0 0 0.6 0.6 { layer=6}
|
||||
T {Transient Analysis} 1060 -510 0 0 0.6 0.6 { layer=6}
|
||||
T {DC Analysis} 1690 -1000 0 0 0.6 0.6 { layer=6}
|
||||
T {Loaded Raw files:} 20 -1010 0 0 0.6 0.6 {}
|
||||
|
|
|
|||
Loading…
Reference in New Issue