00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GVPLUGIN_RENDER_H
00018 #define GVPLUGIN_RENDER_H
00019
00020 #include "types.h"
00021 #include "gvplugin.h"
00022 #include "gvcjob.h"
00023
00024 extern void gvdevice_fputs(GVJ_t * job, char *s);
00025 extern void gvdevice_printf(GVJ_t * job, const char *format, ...);
00026 extern void gvdevice_printnum(GVJ_t * job, double num);
00027 extern void gvdevice_printpointf(GVJ_t * job, pointf p);
00028 extern void gvdevice_printpointflist(GVJ_t * job, pointf *p, int n);
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00034 struct gvrender_engine_s {
00035 void (*begin_job) (GVJ_t * job);
00036 void (*end_job) (GVJ_t * job);
00037 void (*begin_graph) (GVJ_t * job);
00038 void (*end_graph) (GVJ_t * job);
00039 void (*begin_layer) (GVJ_t * job, char *layername,
00040 int layerNum, int numLayers);
00041 void (*end_layer) (GVJ_t * job);
00042 void (*begin_page) (GVJ_t * job);
00043 void (*end_page) (GVJ_t * job);
00044 void (*begin_cluster) (GVJ_t * job);
00045 void (*end_cluster) (GVJ_t * job);
00046 void (*begin_nodes) (GVJ_t * job);
00047 void (*end_nodes) (GVJ_t * job);
00048 void (*begin_edges) (GVJ_t * job);
00049 void (*end_edges) (GVJ_t * job);
00050 void (*begin_node) (GVJ_t * job);
00051 void (*end_node) (GVJ_t * job);
00052 void (*begin_edge) (GVJ_t * job);
00053 void (*end_edge) (GVJ_t * job);
00054 void (*begin_anchor) (GVJ_t * job, char *href, char *tooltip,
00055 char *target);
00056 void (*end_anchor) (GVJ_t * job);
00057 void (*textpara) (GVJ_t * job, pointf p, textpara_t * str);
00058 void (*resolve_color) (GVJ_t * job, gvcolor_t * color);
00059 void (*ellipse) (GVJ_t * job, pointf * A, int filled);
00060 void (*polygon) (GVJ_t * job, pointf * A, int n, int filled);
00061 void (*beziercurve) (GVJ_t * job, pointf * A, int n,
00062 int arrow_at_start, int arrow_at_end, int);
00063 void (*polyline) (GVJ_t * job, pointf * A, int n);
00064 void (*comment) (GVJ_t * job, char *comment);
00065 void (*library_shape) (GVJ_t * job, char *name, pointf * A, int n, int filled);
00066 };
00067
00068 #ifdef __cplusplus
00069 }
00070 #endif
00071 #endif