ちょっと試してみた。
ビットマップ画像のマージン値が変更された影響でちょっとクリッカブル・
マップの範囲がズレる…。
とりあえずの対応パッチ。(gdgen.c と合わせておく)
diff -ru graphviz-1.8.8/dotneato/common/imapgen.c graphviz-1.8.8.mod/dotneato/common/imapgen.c
--- graphviz-1.8.8/dotneato/common/imapgen.c Wed Jul 3 02:45:45 2002
+++ graphviz-1.8.8.mod/dotneato/common/imapgen.c Fri Jul 12 14:27:28 2002
@@ -84,10 +84,10 @@
tmp.y = Scale * p.y;
if (Rot == 0) {
rv.x = tmp.x + Offset.x;
- rv.y = PB.UR.y - PB.LL.y - tmp.y + Offset.y;
+ rv.y = PB.UR.y - PB.LL.y - tmp.y - Offset.y;
} else {
- rv.x = PB.UR.x - PB.LL.x - tmp.y + Offset.x;
- rv.y = PB.UR.y - PB.LL.y - tmp.x + Offset.y;
+ rv.x = PB.UR.x - PB.LL.x - tmp.y - Offset.x;
+ rv.y = PB.UR.y - PB.LL.y - tmp.x - Offset.y;
}
return rv;
}
@@ -137,12 +137,11 @@
char *s;
g = g;
- PB.LL.x = bb.LL.x * SCALE;
- PB.LL.y = bb.LL.y * SCALE;
- PB.UR.x = bb.UR.x * SCALE;
- PB.UR.y = bb.UR.y * SCALE;
- Offset.x = PB.LL.x + 1;
- Offset.y = PB.LL.y + 1;
+ PB.LL.x = PB.LL.y = 0;
+ PB.UR.x = (bb.UR.x - bb.LL.x + g->u.drawing->margin.x) * SCALE;
+ PB.UR.y = (bb.UR.y - bb.LL.y + g->u.drawing->margin.y) * SCALE;
+ Offset.x = PB.LL.x + (g->u.drawing->margin.x * SCALE / 2);
+ Offset.y = PB.LL.y + (g->u.drawing->margin.y * SCALE / 2);
if (onetime) {
init_imap();
onetime = FALSE;