]> granicus.if.org Git - graphviz/commitdiff
add templates for display and text_layout plugins
authorellson <devnull@localhost>
Thu, 20 Jan 2005 17:47:50 +0000 (17:47 +0000)
committerellson <devnull@localhost>
Thu, 20 Jan 2005 17:47:50 +0000 (17:47 +0000)
lib/gvc/gvc.h
lib/gvc/gvtext.c

index 7f71abad6d57f467ebc824976af06ee79a1eb148..45a75558ed97a0fe4806dc7fd9358f8412061c88 100644 (file)
@@ -56,12 +56,28 @@ extern "C" {
 /* emit */
     extern void gvemit_graph(GVC_t * gvc, graph_t * g, int emit_flags);
 
+/* text_layout */
+
+    extern int gvtext_select(GVC_t * gvc, char *text_layout);
+    extern double gvtext_width(GVC_t *gvc, textline_t *textline,
+                              char *fontname, double fontsize,
+                              char *fontpath);
+
+/* display */
+
+    extern int gvdisplay_select(GVC_t * gvc, char *display);
+    extern void gvdisplay_init(GVC_t *gvc);
+    extern void gvdisplay_process(GVC_t *gvc);
+    extern void gvdisplay_deinit(GVC_t *gvc);
+
 /* render */
 
     extern int gvrender_select(GVC_t * gvc, char *lang);
     extern int gvrender_features(GVC_t * gvc);
     extern void gvrender_reset(GVC_t * gvc);
-    extern void gvrender_begin_job(GVC_t * gvc, char **lib, point pages, double X, double Y, double Z, double x, double y, int dpi);
+    extern void gvrender_begin_job(GVC_t * gvc, char **lib, point pages,
+                                  double X, double Y, double Z,
+                                  double x, double y, int dpi);
     extern void gvrender_end_job(GVC_t * gvc);
     extern void gvrender_begin_graph(GVC_t * gvc, graph_t * g, box bb,
                                     point pb);
index 86dc362fe9f03945e533adce3eeb21acba5f7204..f8ee4667c2b4c2f872430b4e5f3a71e659adee32 100644 (file)
 #include "gvplugin_text.h"
 #include "gvc.h"
 
-#if 0
-int gvlayout_select(GVC_t * gvc, char *layout)
+int gvtext_select(GVC_t * gvc, char *text_layout)
 {
     gv_plugin_t *plugin;
     gvplugin_type_t *typeptr;
 
-    plugin = gvplugin_load(gvc, API_layout, layout);
+    plugin = gvplugin_load(gvc, API_text, text_layout);
     if (plugin) {
        typeptr = plugin->typeptr;
-       gvc->layout_type = typeptr->type;
        gvc->layout_engine = (gvlayout_engine_t *) (typeptr->engine);
-       gvc->layout_id = typeptr->id;
-       return GVRENDER_PLUGIN;
+       return GVRENDER_PLUGIN;  /* FIXME - need more suitable success code */
     }
     return NO_SUPPORT;
 }
-#endif
 
 double gvtext_width(GVC_t *gvc, textline_t *textline, char *fontname, double fontsize, char *fontpath)
 {