]> granicus.if.org Git - graphviz/commitdiff
Rename flag from GVRENDER_X11_EVENTS to a more generic GVDEVICE_EVENTS
authorellson <devnull@localhost>
Wed, 29 Aug 2007 21:07:26 +0000 (21:07 +0000)
committerellson <devnull@localhost>
Wed, 29 Aug 2007 21:07:26 +0000 (21:07 +0000)
Provide flag from plugin device.
Eliminate cairox renderer variant.

lib/common/emit.c
lib/gvc/gvcjob.h
plugin/core/gvrender_core_ps.c
plugin/gdk_pixbuf/gvdevice_gdk_pixbuf.c
plugin/gtk/gvdevice_gtk.c
plugin/ming/gvrender_ming.c
plugin/pango/gvrender_pango.c
plugin/xlib/gvdevice_xlib.c

index 58df507b3431fa720e4ccfb7cfbb7eb2f6eeef69..1a9c043adbb8a29acc0d3578013e747c8d7e15fa 100644 (file)
@@ -540,7 +540,9 @@ static void init_job_flags(GVJ_t * job, graph_t * g)
 {
     switch (job->output_lang) {
     case GVRENDER_PLUGIN:
-        job->flags |= chkOrder(g) | job->render.features->flags;
+        job->flags |= chkOrder(g)
+                     | job->render.features->flags
+                     | job->device.features->flags;
         break;
     case VTX:
         /* output sorted, i.e. all nodes then all edges */
@@ -2778,7 +2780,7 @@ int gvRenderJobs (GVC_t * gvc, graph_t * g)
        /* if we already have an active job list and the device doesn't support mutiple output files, or we are about to write to a different output device */
         firstjob = gvc->active_jobs;
         if (firstjob
-           && (!(firstjob->flags & GVRENDER_DOES_MULTIGRAPH_OUTPUT_FILES)
+           && (!(firstjob->flags & GVRENDER_DOES_MULTIGRAPHS)
              || (strcmp(job->output_langname,firstjob->output_langname)))) {
 
            gvrender_end_job(firstjob);
@@ -2819,7 +2821,7 @@ int gvRenderJobs (GVC_t * gvc, graph_t * g)
            gvrender_begin_job(job); /* FIXME? - semantics are unclear */
         }
 
-       if (! (job->flags & GVRENDER_X11_EVENTS)) {
+       if (! (job->flags & GVDEVICE_EVENTS)) {
                /* Show_boxes is not defined, if at all, 
                  * until splines are generated in dot 
                  */
index ad3be968131862332a847dc35a07fa6e93aa5ce2..bf501086e8096cad90c2721eeeb04c2754466366 100644 (file)
@@ -49,10 +49,10 @@ extern "C" {
 #define EMIT_EDGE_SORTED (1<<4)
 #define GVRENDER_DOES_ARROWS (1<<5)
 #define GVRENDER_DOES_LAYERS (1<<6)
-#define GVRENDER_DOES_MULTIGRAPH_OUTPUT_FILES (1<<7)
+#define GVRENDER_DOES_MULTIGRAPHS (1<<7)
 #define GVRENDER_DOES_TRUECOLOR (1<<8)
 #define GVRENDER_Y_GOES_DOWN (1<<9)
-#define GVRENDER_X11_EVENTS (1<<10)
+#define GVDEVICE_EVENTS (1<<10)
 #define GVRENDER_DOES_TRANSFORM (1<<11)
 #define GVRENDER_DOES_LABELS (1<<12)
 #define GVRENDER_DOES_MAPS (1<<13)
@@ -84,19 +84,8 @@ extern "C" {
        int flags;
     } gvdevice_features_t;
 
-    typedef struct {
-       int flags;
-    } gvformatter_features_t;
-
 #define LAYOUT_USES_RANKDIR (1<<0)
 
-    /* active plugin headers */
-    typedef struct gvplugin_active_formatter_s {
-        gvformatter_engine_t *engine;
-        int id;
-        gvformatter_features_t *features;
-    } gvplugin_active_formatter_t;
-
     typedef struct gvplugin_active_device_s {
         gvdevice_engine_t *engine;
         int id;
@@ -255,7 +244,6 @@ typedef enum {COMPRESSION_NONE, COMPRESSION_ZLIB} compression_t;
 
        gvplugin_active_render_t render;
        gvplugin_active_device_t device;
-       gvplugin_active_formatter_t formatter;
        gvplugin_active_loadimage_t loadimage;
        gvdevice_callbacks_t *callbacks;
        pointf device_dpi;
index 77b8d2cbcdbe951ea4ec1d9371072c87909233c2..1c6eae197b5e6f848c13295fdf4f1815da97b579 100644 (file)
@@ -456,7 +456,7 @@ static gvrender_engine_t psgen_engine = {
 };
 
 static gvrender_features_t psgen_features = {
-    GVRENDER_DOES_MULTIGRAPH_OUTPUT_FILES
+    GVRENDER_DOES_MULTIGRAPHS
        | GVRENDER_DOES_LAYERS
        | GVRENDER_DOES_TRANSFORM
        | GVRENDER_DOES_MAPS
index 10748d3345bbe84e8331638733034d3270ef5fa5..6d75b2fb195c34735795031a3dd6eabf88994557 100644 (file)
@@ -78,7 +78,7 @@ writer ( const gchar *buf, gsize count, GError **error, gpointer data)
     return FALSE;
 }
 
-static void gdk_pixbuf_formatter(GVJ_t * job, unsigned int width, unsigned int height, unsigned char *data)
+static void gdk_pixbuf_format(GVJ_t * job, unsigned int width, unsigned int height, unsigned char *data)
 {
     char *format_str = "";
     GdkPixbuf *pixbuf;
@@ -131,11 +131,11 @@ static void gdk_pixbuf_formatter(GVJ_t * job, unsigned int width, unsigned int h
 
 static gvdevice_engine_t gdk_pixbuf_engine = {
     NULL,
-    gdk_pixbuf_formatter,
+    gdk_pixbuf_format,
     NULL,
 };
 
-static gvformatter_features_t gdk_pixbuf_features = {
+static gvdevice_features_t gdk_pixbuf_features = {
     0,  /* flags */
 };
 
index 2d97eb52df3fca803bd10231102ef8da2c10d999..d27cf14e6121816fc570c75866c40e0836e74439 100644 (file)
@@ -149,6 +149,10 @@ static void finalize_gtk(GVJ_t *firstjob)
     gtk_main();
 }
 
+static gvdevice_features_t device_features_gtk = {
+    GVDEVICE_EVENTS,    
+};
+
 static gvdevice_engine_t device_engine_gtk = {
     initialize_gtk,
     NULL,
@@ -160,9 +164,8 @@ static gvdevice_engine_t device_engine_gtk = {
 gvplugin_installed_t gvdevice_types_gtk[] = {
 #ifdef HAVE_GTK
 #ifdef CAIRO_HAS_XLIB_SURFACE
-    {0, "gtk:cairox", 0, &device_engine_gtk, NULL},
+    {0, "gtk:cairox", 0, &device_engine_gtk, &device_features_gtk},
 #endif
 #endif
     {0, NULL, 0, NULL, NULL}
 };
-
index fb42cf5f34004176f2dd45f60a0e11281b9853f9..20aaa152b9e06e911e92c74241b4d911c8f87b50 100644 (file)
@@ -279,7 +279,7 @@ static gvrender_engine_t ming_engine = {
 };
 
 static gvrender_features_t ming_features = {
-    (  GVRENDER_DOES_MULTIGRAPH_OUTPUT_FILES
+    (  GVRENDER_DOES_MULTIGRAPHS
        | GVRENDER_DOES_TRUECOLOR
        | GVRENDER_Y_GOES_DOWN
 //     | GVRENDER_DOES_TRANSFORM
index 8f3d8e7cadcdb7d39a0ead606a788db6c0f2ca22..6b1dbc0d1ce9f7856618b4b5392baf6adf0860b7 100644 (file)
@@ -443,27 +443,11 @@ static gvrender_features_t cairogen_features_svg = {
     RGBA_DOUBLE,               /* color_type */
     "cairo",                   /* imageloader for usershapes */
 };
-
-static gvrender_features_t cairogen_features_x = {
-    GVRENDER_DOES_TRUECOLOR
-       | GVRENDER_Y_GOES_DOWN
-       | GVRENDER_DOES_TRANSFORM
-       | GVRENDER_X11_EVENTS,  /* flags */
-    0,                         /* default margin - points */
-    4.,                         /* default pad - graph units */
-    {0.,0.},                    /* default page width, height - points */
-    {72.,72.},                 /* default dpi */
-    0,                         /* knowncolors */
-    0,                         /* sizeof knowncolors */
-    RGBA_DOUBLE,               /* color_type */
-    "cairo",                   /* imageloader for usershapes */
-};
 #endif
 
 gvplugin_installed_t gvrender_pango_types[] = {
 #ifdef HAVE_PANGOCAIRO
     {FORMAT_CAIRO, "cairo", 10, &cairogen_engine, &cairogen_features},
-    {FORMAT_CAIRO, "cairox", 10, &cairogen_engine, &cairogen_features_x},
 #endif
     {0, NULL, 0, NULL, NULL}
 };
@@ -483,19 +467,19 @@ gvplugin_installed_t gvdevice_pango_types[] = {
     {FORMAT_SVG, "svg:cairo", -10, NULL, &cairogen_features_svg},
 #endif
 //#ifdef CAIRO_HAS_XCB_SURFACE
-//    {FORMAT_XCB, "xcb:cairo", 0, NULL, &cairogen_features_x},
+//    {FORMAT_XCB, "xcb:cairo", 0, NULL, &cairogen_features},
 //#endif
 //#ifdef CAIRO_HAS_SDL_SURFACE
-//    {FORMAT_SDL, "sdl:cairo", 0, NULL, &cairogen_features_x},
+//    {FORMAT_SDL, "sdl:cairo", 0, NULL, &cairogen_features},
 //#endif
 //#ifdef CAIRO_HAS_GLITZ_SURFACE
-//    {FORMAT_GLITZ, "glitz:cairo", 0, NULL, &cairogen_features_x},
+//    {FORMAT_GLITZ, "glitz:cairo", 0, NULL, &cairogen_features},
 //#endif
 //#ifdef CAIRO_HAS_QUARTZ_SURFACE
-//    {FORMAT_QUARTZ, "quartz:cairo", 0, NULL, &cairogen_features_x},
+//    {FORMAT_QUARTZ, "quartz:cairo", 0, NULL, &cairogen_features},
 //#endif
 //#ifdef CAIRO_HAS_WIN32_SURFACE
-//    {FORMAT_WIN32, "win32:cairo", 0, NULL, &cairogen_features_x},
+//    {FORMAT_WIN32, "win32:cairo", 0, NULL, &cairogen_features},
 //#endif
 #endif
     {0, NULL, 0, NULL, NULL}
index 0c753beeaf3139c157a627340dd2191de9397377..0d5771c2884351980f6f6fb3262fb1da4d4c37cc 100644 (file)
@@ -577,6 +577,10 @@ static void finalize_xlib(GVJ_t *firstjob)
     firstjob->keycodes = NULL;
 }
 
+static gvdevice_features_t device_features_xlib = {
+    GVDEVICE_EVENTS,
+};
+
 static gvdevice_engine_t device_engine_xlib = {
     initialize_xlib,
     NULL,
@@ -586,7 +590,7 @@ static gvdevice_engine_t device_engine_xlib = {
 
 gvplugin_installed_t gvdevice_types_xlib[] = {
 #ifdef CAIRO_HAS_XLIB_SURFACE
-    {0, "xlib:cairox", 0, &device_engine_xlib, NULL},
+    {0, "xlib:cairox", 0, &device_engine_xlib, &device_features_xlib},
 #endif
     {0, NULL, 0, NULL, NULL}
 };