Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
gvrender_core_tk.c File Reference
#include "config.h"
#include <inttypes.h>
#include <math.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <cgraph/unreachable.h>
#include <common/macros.h>
#include <common/const.h>
#include <gvc/gvplugin_render.h>
#include <gvc/gvplugin_device.h>
#include <gvc/gvio.h>
#include <gvc/gvcint.h>
#include "tcl_context.h"
Include dependency graph for gvrender_core_tk.c:

Go to the source code of this file.

Enumerations

enum  format_type { FORMAT_TK }
 

Functions

static void tkgen_print_color (GVJ_t *job, gvcolor_t color)
 
static void tkgen_print_tags (GVJ_t *job)
 
static void tkgen_canvas (GVJ_t *job)
 
static void tkgen_comment (GVJ_t *job, char *str)
 
static void tkgen_begin_job (GVJ_t *job)
 
static void tkgen_begin_graph (GVJ_t *job)
 
static void tkgen_begin_node (GVJ_t *job)
 
static void tkgen_begin_edge (GVJ_t *job)
 
static void tkgen_textspan (GVJ_t *job, pointf p, textspan_t *span)
 
static void tkgen_ellipse (GVJ_t *job, pointf *A, int filled)
 
static void tkgen_bezier (GVJ_t *job, pointf *A, size_t n, int filled)
 
static void tkgen_polygon (GVJ_t *job, pointf *A, size_t n, int filled)
 
static void tkgen_polyline (GVJ_t *job, pointf *A, size_t n)
 

Variables

static int first_periphery
 
gvrender_engine_t tkgen_engine
 
gvrender_features_t render_features_tk
 
gvdevice_features_t device_features_tk
 
gvplugin_installed_t gvrender_tk_types []
 
gvplugin_installed_t gvdevice_tk_types []
 

Enumeration Type Documentation

◆ format_type

Enumerator
FORMAT_TK 

Definition at line 29 of file gvrender_core_tk.c.

Function Documentation

◆ tkgen_begin_edge()

static void tkgen_begin_edge ( GVJ_t job)
static

Definition at line 149 of file gvrender_core_tk.c.

References first_periphery.

◆ tkgen_begin_graph()

static void tkgen_begin_graph ( GVJ_t job)
static

Definition at line 129 of file gvrender_core_tk.c.

References agnameof(), first_periphery, obj_state_s::g, gvprintf(), gvputs(), GVJ_s::obj, GVJ_s::pagesArraySize, obj_state_s::u, point::x, and point::y.

Here is the call graph for this function:

◆ tkgen_begin_job()

static void tkgen_begin_job ( GVJ_t job)
static

Definition at line 121 of file gvrender_core_tk.c.

References GVJ_s::common, gvprintf(), and GVCOMMON_s::info.

Here is the call graph for this function:

◆ tkgen_begin_node()

static void tkgen_begin_node ( GVJ_t job)
static

Definition at line 142 of file gvrender_core_tk.c.

References first_periphery.

◆ tkgen_bezier()

static void tkgen_bezier ( GVJ_t job,
pointf A,
size_t  n,
int  filled 
)
static

Definition at line 243 of file gvrender_core_tk.c.

References A, gvprintdouble(), gvprintpointflist(), gvputs(), GVJ_s::obj, obj_state_s::pen, PEN_DASHED, PEN_DOTTED, PEN_NONE, obj_state_s::pencolor, obj_state_s::penwidth, tkgen_canvas(), tkgen_print_color(), and tkgen_print_tags().

Here is the call graph for this function:

◆ tkgen_canvas()

static void tkgen_canvas ( GVJ_t job)
static

Definition at line 107 of file gvrender_core_tk.c.

References tcldot_context_t::canvas, GVJ_s::context, GVJ_s::external_context, and gvputs().

Referenced by tkgen_bezier(), tkgen_ellipse(), tkgen_polygon(), tkgen_polyline(), and tkgen_textspan().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tkgen_comment()

static void tkgen_comment ( GVJ_t job,
char *  str 
)
static

Definition at line 116 of file gvrender_core_tk.c.

References gvprintf(), and str.

Here is the call graph for this function:

◆ tkgen_ellipse()

static void tkgen_ellipse ( GVJ_t job,
pointf A,
int  filled 
)
static

Definition at line 204 of file gvrender_core_tk.c.

References A, obj_state_s::fillcolor, first_periphery, gvprintdouble(), gvprintpointflist(), gvputs(), GVJ_s::obj, obj_state_s::pen, PEN_DASHED, PEN_DOTTED, PEN_NONE, obj_state_s::pencolor, obj_state_s::penwidth, tkgen_canvas(), tkgen_print_color(), tkgen_print_tags(), pointf_s::x, and pointf_s::y.

Here is the call graph for this function:

◆ tkgen_polygon()

static void tkgen_polygon ( GVJ_t job,
pointf A,
size_t  n,
int  filled 
)
static

Definition at line 266 of file gvrender_core_tk.c.

References A, obj_state_s::fillcolor, first_periphery, gvprintdouble(), gvprintpointflist(), gvputs(), GVJ_s::obj, obj_state_s::pen, PEN_DASHED, PEN_DOTTED, PEN_NONE, obj_state_s::pencolor, obj_state_s::penwidth, tkgen_canvas(), tkgen_print_color(), and tkgen_print_tags().

Here is the call graph for this function:

◆ tkgen_polyline()

static void tkgen_polyline ( GVJ_t job,
pointf A,
size_t  n 
)
static

Definition at line 298 of file gvrender_core_tk.c.

References A, gvprintpointflist(), gvputs(), GVJ_s::obj, obj_state_s::pen, PEN_DASHED, PEN_DOTTED, PEN_NONE, obj_state_s::pencolor, tkgen_canvas(), tkgen_print_color(), and tkgen_print_tags().

Here is the call graph for this function:

◆ tkgen_print_color()

static void tkgen_print_color ( GVJ_t job,
gvcolor_t  color 
)
static

Definition at line 31 of file gvrender_core_tk.c.

References color(), COLOR_STRING, gvprintf(), gvputs(), RGBA_BYTE, and UNREACHABLE.

Referenced by tkgen_bezier(), tkgen_ellipse(), tkgen_polygon(), tkgen_polyline(), and tkgen_textspan().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tkgen_print_tags()

static void tkgen_print_tags ( GVJ_t job)
static

Definition at line 49 of file gvrender_core_tk.c.

References AGID, obj_state_s::e, EMIT_CDRAW, EMIT_CLABEL, EMIT_EDRAW, EMIT_ELABEL, EMIT_GDRAW, EMIT_GLABEL, EMIT_HDRAW, EMIT_HLABEL, EMIT_NDRAW, EMIT_NLABEL, obj_state_s::emit_state, EMIT_TDRAW, EMIT_TLABEL, obj_state_s::g, gvprintf(), obj_state_s::n, GVJ_s::obj, obj_state_s::sg, obj_state_s::u, and UNREACHABLE.

Referenced by tkgen_bezier(), tkgen_ellipse(), tkgen_polygon(), tkgen_polyline(), and tkgen_textspan().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tkgen_textspan()

static void tkgen_textspan ( GVJ_t job,
pointf  p,
textspan_t span 
)
static

Definition at line 156 of file gvrender_core_tk.c.

References _PostscriptAlias::family, font, textspan_t::font, gvprintf(), gvprintpointf(), gvputs(), textspan_t::just, textfont_t::name, GVJ_s::obj, obj_state_s::pen, PEN_NONE, obj_state_s::pencolor, textfont_t::postscript_alias, textfont_t::size, textspan_t::str, tkgen_canvas(), tkgen_print_color(), tkgen_print_tags(), pointf_s::y, and GVJ_s::zoom.

Here is the call graph for this function:

Variable Documentation

◆ device_features_tk

gvdevice_features_t device_features_tk
Initial value:
= {
0,
{0.,0.},
{0.,0.},
{96.,96.},
}

Definition at line 358 of file gvrender_core_tk.c.

◆ first_periphery

int first_periphery
static

◆ gvdevice_tk_types

gvplugin_installed_t gvdevice_tk_types[]
Initial value:
= {
{FORMAT_TK, "tk:tk", 1, NULL, &device_features_tk},
{0, NULL, 0, NULL, NULL}
}
node NULL
Definition grammar.y:149
gvdevice_features_t device_features_tk
@ FORMAT_TK

Definition at line 370 of file gvrender_core_tk.c.

◆ gvrender_tk_types

gvplugin_installed_t gvrender_tk_types[]
Initial value:
= {
{0, NULL, 0, NULL, NULL}
}
gvrender_engine_t tkgen_engine
gvrender_features_t render_features_tk

Definition at line 365 of file gvrender_core_tk.c.

◆ render_features_tk

gvrender_features_t render_features_tk
Initial value:
= {
4.,
NULL,
0,
}
@ COLOR_STRING
Definition color.h:27
#define GVRENDER_NO_WHITE_BG
Definition gvcjob.h:106
#define GVRENDER_Y_GOES_DOWN
Definition gvcjob.h:94

Definition at line 349 of file gvrender_core_tk.c.

◆ tkgen_engine

gvrender_engine_t tkgen_engine

Definition at line 316 of file gvrender_core_tk.c.