From: ellson Date: Tue, 8 Aug 2006 17:24:36 +0000 (+0000) Subject: Allow renderers to specificy padding around graph. Use 0. for -Txdot X-Git-Tag: LAST_LIBGRAPH~32^2~5995 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=44447ab480e34f70ab964e1f8f0cf96cea898271;p=graphviz Allow renderers to specificy padding around graph. Use 0. for -Txdot --- diff --git a/lib/common/emit.c b/lib/common/emit.c index 0a9a6fd99..be5afd36c 100644 --- a/lib/common/emit.c +++ b/lib/common/emit.c @@ -1798,6 +1798,18 @@ static void init_gvc(GVC_t * gvc, graph_t * g) gvc->graphname = g->name; } +static void init_job_pad(GVJ_t *job) +{ + switch (job->output_lang) { + case GVRENDER_PLUGIN: + job->pad.x = job->pad.y = job->render.features->default_pad; + break; + default: + job->pad.x = job->pad.y = DEFAULT_GRAPH_PAD; + break; + } +} + static void init_job_margin(GVJ_t *job) { GVC_t *gvc = job->gvc; @@ -1819,6 +1831,7 @@ static void init_job_margin(GVJ_t *job) break; } } + } static void init_job_dpi(GVJ_t *job, graph_t *g) @@ -1855,9 +1868,6 @@ static void init_job_viewport(GVJ_t * job, graph_t * g) assert((gvc->bb.LL.x == 0) && (gvc->bb.LL.y == 0)); P2PF(gvc->bb.UR, UR); - /* may want to take this from an attribute someday */ - job->pad.x = job->pad.y = DEFAULT_GRAPH_PAD; - job->bb.LL.x = -job->pad.x; /* job->bb is bb of graph and padding - graph units */ job->bb.LL.y = -job->pad.y; job->bb.UR.x = UR.x + job->pad.x; @@ -2516,6 +2526,7 @@ static void emit_job(GVJ_t * job, graph_t * g) #endif init_job_flags(job, g); + init_job_pad(job); init_job_margin(job); init_job_dpi(job, g); init_job_viewport(job, g); diff --git a/lib/gvc/gvcjob.h b/lib/gvc/gvcjob.h index 3e129c044..1cd30963a 100644 --- a/lib/gvc/gvcjob.h +++ b/lib/gvc/gvcjob.h @@ -66,7 +66,9 @@ extern "C" { typedef struct { int flags; - double default_margin; /* graph units */ + double default_margin; /* points */ + double default_pad; /* graph units */ + point default_size; /* default height, width - device units */ pointf default_dpi; char **knowncolors; int sz_knowncolors; diff --git a/plugin/core/gvrender_core_dot.c b/plugin/core/gvrender_core_dot.c index 73a9f6130..f96395b7a 100644 --- a/plugin/core/gvrender_core_dot.c +++ b/plugin/core/gvrender_core_dot.c @@ -314,6 +314,8 @@ gvrender_engine_t xdot_engine = { gvrender_features_t canon_features = { LAYOUT_NOT_REQUIRED, /* flags */ 0., /* default margin - points */ + 0., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {72.,72.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ @@ -325,6 +327,8 @@ gvrender_features_t canon_features = { gvrender_features_t dot_features = { 0, /* flags */ 0., /* default margin - points */ + 0., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {72.,72.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ diff --git a/plugin/core/gvrender_core_fig.c b/plugin/core/gvrender_core_fig.c index 4cd89c840..aa9e2a408 100644 --- a/plugin/core/gvrender_core_fig.c +++ b/plugin/core/gvrender_core_fig.c @@ -515,6 +515,8 @@ gvrender_features_t fig_features = { EMIT_COLORS | GVRENDER_Y_GOES_DOWN, /* flags */ DEFAULT_EMBED_MARGIN, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {1440.,1440.}, /* default dpi */ /* FIXME - this default dpi is a very strange number!!! * It was picked to make .png usershapes the right size on my screen. diff --git a/plugin/core/gvrender_core_map.c b/plugin/core/gvrender_core_map.c index 3e68058a4..b496a61aa 100644 --- a/plugin/core/gvrender_core_map.c +++ b/plugin/core/gvrender_core_map.c @@ -285,6 +285,8 @@ static gvrender_features_t map_features = { | GVRENDER_DOES_MAP_CIRCLE | GVRENDER_DOES_MAP_POLYGON, 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {96.,96.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ @@ -301,6 +303,8 @@ static gvrender_features_t map_features_nopoly = { | GVRENDER_DOES_TOOLTIPS | GVRENDER_DOES_MAP_RECTANGLE, 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {96.,96.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ diff --git a/plugin/core/gvrender_core_ps.c b/plugin/core/gvrender_core_ps.c index 4b525a612..38a9ddb5a 100644 --- a/plugin/core/gvrender_core_ps.c +++ b/plugin/core/gvrender_core_ps.c @@ -496,6 +496,8 @@ static gvrender_features_t psgen_features = { | GVRENDER_DOES_MAPS | GVRENDER_DOES_MAP_RECTANGLE, 36, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {72.,72.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ diff --git a/plugin/core/gvrender_core_svg.c b/plugin/core/gvrender_core_svg.c index f23ee57dd..5cd584499 100644 --- a/plugin/core/gvrender_core_svg.c +++ b/plugin/core/gvrender_core_svg.c @@ -446,6 +446,8 @@ gvrender_features_t svg_features = { | GVRENDER_DOES_TARGETS | GVRENDER_DOES_TOOLTIPS, /* flags */ DEFAULT_EMBED_MARGIN, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {96.,96.}, /* default dpi */ svg_knowncolors, /* knowncolors */ sizeof(svg_knowncolors) / sizeof(char *), /* sizeof knowncolors */ diff --git a/plugin/gd/gvrender_gd.c b/plugin/gd/gvrender_gd.c index 52c5550d5..0bd05afb7 100644 --- a/plugin/gd/gvrender_gd.c +++ b/plugin/gd/gvrender_gd.c @@ -570,6 +570,8 @@ static gvrender_features_t gdgen_features_tc = { GVRENDER_DOES_TRUECOLOR | GVRENDER_Y_GOES_DOWN, /* flags */ 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {96.,96.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ @@ -581,6 +583,8 @@ static gvrender_features_t gdgen_features_tc = { static gvrender_features_t gdgen_features = { GVRENDER_Y_GOES_DOWN, /* flags */ 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {96.,96.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ diff --git a/plugin/gd/gvrender_gd_vrml.c b/plugin/gd/gvrender_gd_vrml.c index cc9f050b2..6977c3a7a 100644 --- a/plugin/gd/gvrender_gd_vrml.c +++ b/plugin/gd/gvrender_gd_vrml.c @@ -833,6 +833,8 @@ static gvrender_engine_t vrml_engine = { static gvrender_features_t vrml_features = { GVRENDER_DOES_Z, /* flags */ 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {72.,72.}, /* default dpi */ NULL, /* knowncolors */ 0, /* sizeof knowncolors */ diff --git a/plugin/pango/gvrender_pango.c b/plugin/pango/gvrender_pango.c index 461f28e0c..18bbdb2cf 100644 --- a/plugin/pango/gvrender_pango.c +++ b/plugin/pango/gvrender_pango.c @@ -407,6 +407,8 @@ static gvrender_features_t cairogen_features = { | GVRENDER_Y_GOES_DOWN | GVRENDER_DOES_TRANSFORM, /* flags */ 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {96.,96.}, /* default dpi */ 0, /* knowncolors */ 0, /* sizeof knowncolors */ @@ -420,6 +422,8 @@ static gvrender_features_t cairogen_features_ps = { | GVRENDER_Y_GOES_DOWN | GVRENDER_DOES_TRANSFORM, /* flags */ 36, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {72.,72.}, /* postscript 72 dpi */ 0, /* knowncolors */ 0, /* sizeof knowncolors */ @@ -434,6 +438,8 @@ static gvrender_features_t cairogen_features_x = { | GVRENDER_DOES_TRANSFORM | GVRENDER_X11_EVENTS, /* flags */ 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {72.,72.}, /* default dpi */ 0, /* knowncolors */ 0, /* sizeof knowncolors */ @@ -448,6 +454,8 @@ static gvrender_features_t cairogen_features_gtk = { | GVRENDER_DOES_TRANSFORM | GVRENDER_X11_EVENTS, /* flags */ 0, /* default margin - points */ + 4., /* default pad - graph units */ + {0,0}, /* default height, width - device units */ {72.,72.}, /* default dpi */ 0, /* knowncolors */ 0, /* sizeof knowncolors */