gvplugin_render.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /// @file
  2. /// @ingroup plugin_api
  3. /*************************************************************************
  4. * Copyright (c) 2011 AT&T Intellectual Property
  5. * All rights reserved. This program and the accompanying materials
  6. * are made available under the terms of the Eclipse Public License v1.0
  7. * which accompanies this distribution, and is available at
  8. * https://www.eclipse.org/legal/epl-v10.html
  9. *
  10. * Contributors: Details at https://graphviz.org
  11. *************************************************************************/
  12. #pragma once
  13. #include "types.h"
  14. #include "gvplugin.h"
  15. #include "gvcjob.h"
  16. #include <stddef.h>
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /// @ingroup plugin_api
  21. struct gvrender_engine_s {
  22. void (*begin_job) (GVJ_t * job);
  23. void (*end_job) (GVJ_t * job);
  24. void (*begin_graph) (GVJ_t * job);
  25. void (*end_graph) (GVJ_t * job);
  26. void (*begin_layer) (GVJ_t * job, char *layername,
  27. int layerNum, int numLayers);
  28. void (*end_layer) (GVJ_t * job);
  29. void (*begin_page) (GVJ_t * job);
  30. void (*end_page) (GVJ_t * job);
  31. void (*begin_cluster) (GVJ_t * job);
  32. void (*end_cluster) (GVJ_t * job);
  33. void (*begin_nodes) (GVJ_t * job);
  34. void (*end_nodes) (GVJ_t * job);
  35. void (*begin_edges) (GVJ_t * job);
  36. void (*end_edges) (GVJ_t * job);
  37. void (*begin_node) (GVJ_t * job);
  38. void (*end_node) (GVJ_t * job);
  39. void (*begin_edge) (GVJ_t * job);
  40. void (*end_edge) (GVJ_t * job);
  41. void (*begin_anchor) (GVJ_t * job,
  42. char *href, char *tooltip, char *target, char *id);
  43. void (*end_anchor) (GVJ_t * job);
  44. void (*begin_label) (GVJ_t * job, label_type type);
  45. void (*end_label) (GVJ_t * job);
  46. void (*textspan) (GVJ_t * job, pointf p, textspan_t * span);
  47. void (*resolve_color) (GVJ_t * job, gvcolor_t * color);
  48. void (*ellipse) (GVJ_t * job, pointf * A, int filled);
  49. void (*polygon)(GVJ_t *job, pointf *A, size_t n, int filled);
  50. void (*beziercurve)(GVJ_t *job, pointf *A, size_t n, int);
  51. void (*polyline)(GVJ_t *job, pointf *A, size_t n);
  52. void (*comment) (GVJ_t * job, char *comment);
  53. void (*library_shape)(GVJ_t *job, char *name, pointf *A, size_t n, int filled);
  54. };
  55. #ifdef __cplusplus
  56. }
  57. #endif