From c8a60b4ee4cb9c44116b9384993ad841924ca604 Mon Sep 17 00:00:00 2001 From: stefan schippers Date: Fri, 20 Jan 2023 13:25:23 +0100 Subject: [PATCH] better image bbox calculation for svg and ps --- src/draw.c | 4 ++-- src/psprint.c | 4 ++-- xschem_library/ngspice/solar_panel.sch | 15 ++++++++++----- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/draw.c b/src/draw.c index 24cb5e06..2c4b1273 100644 --- a/src/draw.c +++ b/src/draw.c @@ -3299,8 +3299,8 @@ void svg_embedded_graph(FILE *fd, xRect *r, double rx1, double ry1, double rx2, rwi = (int) (rw * scale + 1.0); rhi = (int) (rh * scale + 1.0); save_restore_zoom(1); - set_viewport_size(rwi, rhi, 1.0); - zoom_box(rx1, ry1, rx2, ry2, 1.0); + set_viewport_size(rwi, rhi, xctx->lw); + zoom_box(rx1 - xctx->lw, ry1 - xctx->lw, rx2 + xctx->lw, ry2 + xctx->lw, 1.0); resetwin(1, 1, 1, rwi, rhi); save_draw_grid = tclgetboolvar("draw_grid"); tclsetvar("draw_grid", "0"); diff --git a/src/psprint.c b/src/psprint.c index 692a554e..23c59eb6 100644 --- a/src/psprint.c +++ b/src/psprint.c @@ -288,8 +288,8 @@ void ps_embedded_graph(xRect* r, double rx1, double ry1, double rx2, double ry2) rwi = (int)(rw * scale + 1.0); rhi = (int)(rh * scale + 1.0); save_restore_zoom(1); - set_viewport_size(rwi, rhi, 1.0); - zoom_box(rx1-2, ry1-2, rx2+2, ry2+2, 1.0); + set_viewport_size(rwi, rhi, xctx->lw); + zoom_box(rx1 - xctx->lw, ry1 - xctx->lw, rx2 + xctx->lw, ry2 + xctx->lw, 1.0); resetwin(1, 1, 1, rwi, rhi); save_draw_grid = tclgetboolvar("draw_grid"); tclsetvar("draw_grid", "0"); diff --git a/xschem_library/ngspice/solar_panel.sch b/xschem_library/ngspice/solar_panel.sch index 7d701fb3..d415337d 100644 --- a/xschem_library/ngspice/solar_panel.sch +++ b/xschem_library/ngspice/solar_panel.sch @@ -64,7 +64,8 @@ x2=0.001 divx=8 node="panel led" unitx=m -color="7 4"} +color="7 4" +jpeg_quality=20} B 2 1260 -390 1680 -220 {flags=graph y1 = 0 y2 = 6.7 @@ -77,7 +78,8 @@ divx=8 color="7 4 6" node="i(vpanel) i(vled) -\\"R.Avg. I(vpanel); i(vpanel) 20u ravg()\\""} +\\"R.Avg. I(vpanel); i(vpanel) 20u ravg()\\"" +jpeg_quality=20} B 2 1260 -750 1680 -560 {flags=graph y1 = -8.9e-05 y2 = 100 @@ -93,7 +95,8 @@ node="\\"Panel power; i(vpanel) v(panel) *\\" \\"Led power; i(vled) v(led) *\\" \\"Avg.Pan. Pwr; i(vpanel) v(panel) * 20u ravg()\\" \\"SUN %; sun 100 *\\"" -hilight_wave=-1} +hilight_wave=-1 +jpeg_quality=20} B 2 1260 -940 1680 -750 {flags=graph y1 = 0 y2 = 1 @@ -110,7 +113,8 @@ level" hilight_wave=-1 digital=0 ypos1=0.00261891 -ypos2=0.51596} +ypos2=0.51596 +jpeg_quality=20} B 2 1260 -1140 1680 -950 {flags=graph y1 = 0 y2 = 1 @@ -128,7 +132,8 @@ digital=0 ypos1=0.00261891 ypos2=0.51596 color=8 -node="\\"CTRL1 Duty cycle; ctrl1 20u ravg()\\""} +node="\\"CTRL1 Duty cycle; ctrl1 20u ravg()\\"" +jpeg_quality=20} B 18 85 -840 340 -655 {} A 5 340 -840 5.590169943749475 243.434948822922 360 {fill=true} P 7 6 415 -655 360 -811.25 355 -825 342.5 -840 330 -845 85 -855 {}