]> granicus.if.org Git - graphviz/commitdiff
move layer and page counters into job struct
authorellson <devnull@localhost>
Mon, 17 Jan 2005 21:47:18 +0000 (21:47 +0000)
committerellson <devnull@localhost>
Mon, 17 Jan 2005 21:47:18 +0000 (21:47 +0000)
lib/gvc/gvcint.h
lib/gvc/gvrender.c

index 8e603e025d7fdfa3b801fc6710b2fdad5328d1e0..69c1d1896459fd57e005a93ae6f6274f265c18cf 100644 (file)
@@ -99,6 +99,15 @@ extern "C" {
 
        pointf compscale;       /* composite device scale incl: scale, zoom, dpi, y_goes_down */
        
+       /* gvrender_begin_page() */
+       point page;
+       int page_number;
+       point offset;
+
+       /* gvrender_begin_layer() */
+       int layer;
+       int nLayers;
+
 #if !defined(X_DISPLAY_MISSING) && !defined(DISABLE_GVRENDER)
        Display *dpy;
        int scr;
@@ -165,15 +174,6 @@ extern "C" {
 
        /* render defaults set from graph */
        color_t bgcolor;        /* background color */
-
-       /* gvrender_begin_page() */
-       point page;
-       point offset;
-       int page_number;
-
-       /* gvrender_begin_layer() */
-       int layer;
-       int nLayers;
     };
 
 #ifdef __cplusplus
index c7ce5548962436593442ff3a38763b3ef4bc6f87..0c1fe93110dfc3371b73e37d932cb5161573c824 100644 (file)
@@ -129,6 +129,8 @@ void gvrender_begin_job(GVC_t * gvc, char **lib, point pages, double X, double Y
     gvrender_job_t *job = gvc->job;
     gvrender_engine_t *gvre = job->render_engine;
 
+    job->gvc = gvc;
+
     gvc->lib = lib;
     gvc->pages = pages;
     /* establish viewport and scaling */
@@ -152,7 +154,7 @@ void gvrender_begin_job(GVC_t * gvc, char **lib, point pages, double X, double Y
     else {
        codegen_t *cg = job->codegen;
 
-       if (cg && cg->begin_job && gvc->page_number == 0)
+       if (cg && cg->begin_job && job->page_number == 0)
            cg->begin_job(gvc->job->output_file, gvc->g, lib, gvc->user,
                          gvc->info, pages);
     }
@@ -308,11 +310,11 @@ void gvrender_begin_page(GVC_t * gvc, point page, double scale, int rot,
     gvrender_job_t *job = gvc->job;
     gvrender_engine_t *gvre = job->render_engine;
 
-    gvc->page = page;
+    job->page = page;
 //    gvc->scale = scale;
     job->rot = rot;
 //    gvc->offset = offset;
-    gvc->page_number = page.x + page.y * gvc->pages.x + 1;
+    job->page_number = page.x + page.y * gvc->pages.x + 1;
     if (gvre && gvre->begin_page)
        gvre->begin_page(job, gvc->g->name);
 #ifndef DISABLE_CODEGENS
@@ -348,8 +350,8 @@ void gvrender_begin_layer(GVC_t * gvc, char *layername, int layer,
     gvrender_job_t *job = gvc->job;
     gvrender_engine_t *gvre = job->render_engine;
 
-    gvc->layer = layer;
-    gvc->nLayers = nLayers;
+    job->layer = layer;
+    job->nLayers = nLayers;
     if (gvre && gvre->begin_layer)
        gvre->begin_layer(job, layername);
 #ifndef DISABLE_CODEGENS
@@ -377,8 +379,8 @@ void gvrender_end_layer(GVC_t * gvc)
            cg->end_layer();
     }
 #endif
-    gvc->layer = 0;
-    gvc->nLayers = 0;
+    job->layer = 0;
+    job->nLayers = 0;
 }
 
 void gvrender_begin_cluster(GVC_t * gvc, graph_t * sg)