hierarchy pdf prints have links to pdf pages of sub blocks
This commit is contained in:
parent
a36ce82161
commit
6b8807e003
|
|
@ -483,7 +483,7 @@ static void ps_drawgrid()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void ps_draw_symbol(int n,int layer, short tmp_flip, short rot, double xoffset, double yoffset)
|
static void ps_draw_symbol(int n,int layer, int what, short tmp_flip, short rot, double xoffset, double yoffset)
|
||||||
/* draws current layer only, should be called within */
|
/* draws current layer only, should be called within */
|
||||||
{ /* a "for(i=0;i<cadlayers;i++)" loop */
|
{ /* a "for(i=0;i<cadlayers;i++)" loop */
|
||||||
int j;
|
int j;
|
||||||
|
|
@ -513,8 +513,16 @@ static void ps_draw_symbol(int n,int layer, short tmp_flip, short rot, double xo
|
||||||
}
|
}
|
||||||
else xctx->inst[n].flags&=~1;
|
else xctx->inst[n].flags&=~1;
|
||||||
|
|
||||||
/* following code handles different text color for labels/pins 06112002 */
|
/* pdfmarks, only if doing hierarchy print */
|
||||||
|
if(what != 7) fprintf(fd,
|
||||||
|
"[ "
|
||||||
|
"/Rect [ %g %g %g %g ] "
|
||||||
|
"/Border [0 0 0] "
|
||||||
|
"/Dest /%s "
|
||||||
|
"/Subtype /Link "
|
||||||
|
"/ANN pdfmark\n",
|
||||||
|
x1, y1, x2, y2,
|
||||||
|
add_ext(xctx->inst[n].name, ".sch"));
|
||||||
}
|
}
|
||||||
else if(xctx->inst[n].flags&1)
|
else if(xctx->inst[n].flags&1)
|
||||||
{
|
{
|
||||||
|
|
@ -763,7 +771,14 @@ void create_ps(char **psfile, int what)
|
||||||
fprintf(fd, "%%%%EndPageSetup\n");
|
fprintf(fd, "%%%%EndPageSetup\n");
|
||||||
|
|
||||||
/* add small page title */
|
/* add small page title */
|
||||||
fprintf(fd, "/Helvetica FF 10 SCF SF NP 25 %g MT (%s) show\n", pagey - 25, xctx->current_name);
|
fprintf(fd, "/Helvetica FF 10 SCF SF NP 20 %g MT (%s) show\n", pagey - 20, xctx->current_name);
|
||||||
|
|
||||||
|
/* Add anchor for pdfmarks */
|
||||||
|
fprintf(fd,
|
||||||
|
"[ "
|
||||||
|
"/Dest /%s "
|
||||||
|
"/DEST pdfmark\n", xctx->current_name);
|
||||||
|
|
||||||
scaley = scale = (pagey-2 * margin) / dy;
|
scaley = scale = (pagey-2 * margin) / dy;
|
||||||
dbg(1, "scale=%g pagex=%g pagey=%g dx=%g dy=%g\n", scale, pagex, pagey, dx, dy);
|
dbg(1, "scale=%g pagex=%g pagey=%g dx=%g dy=%g\n", scale, pagex, pagey, dx, dy);
|
||||||
if(dx * scale > (pagex - 2 * margin)) {
|
if(dx * scale > (pagex - 2 * margin)) {
|
||||||
|
|
@ -837,7 +852,7 @@ void create_ps(char **psfile, int what)
|
||||||
xctx->poly[c][i].fill, xctx->poly[c][i].dash);
|
xctx->poly[c][i].fill, xctx->poly[c][i].dash);
|
||||||
}
|
}
|
||||||
for(i=0;i<xctx->instances;i++)
|
for(i=0;i<xctx->instances;i++)
|
||||||
ps_draw_symbol(i,c,0,0,0.0,0.0);
|
ps_draw_symbol(i,c,what,0,0,0.0,0.0);
|
||||||
}
|
}
|
||||||
set_ps_colors(WIRELAYER);
|
set_ps_colors(WIRELAYER);
|
||||||
for(i=0;i<xctx->wires;i++)
|
for(i=0;i<xctx->wires;i++)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue