Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
gvrender_gdiplus.cpp File Reference
#include "config.h"
#include <cassert>
#include <climits>
#include <stdlib.h>
#include <string.h>
#include <gvc/gvplugin_device.h>
#include <gvc/gvplugin_render.h>
#include <gvc/gvio.h>
#include "gvplugin_gdiplus.h"
#include <memory>
#include <vector>
Include dependency graph for gvrender_gdiplus.cpp:

Go to the source code of this file.

Data Structures

struct  ImageGraphics
 

Functions

static void gdiplusgen_begin_job (GVJ_t *job)
 
static void gdiplusgen_end_job (GVJ_t *job)
 
static void gdiplusgen_begin_page (GVJ_t *job)
 
static void gdiplusgen_textspan (GVJ_t *job, pointf p, textspan_t *span)
 
static vector< PointF > points (pointf *A, int n)
 
static void gdiplusgen_path (GVJ_t *job, const GraphicsPath *path, int filled)
 
static void gdiplusgen_ellipse (GVJ_t *job, pointf *A, int filled)
 
static void gdiplusgen_polygon (GVJ_t *job, pointf *A, size_t n, int filled)
 
static void gdiplusgen_bezier (GVJ_t *job, pointf *A, size_t n, int filled)
 
static void gdiplusgen_polyline (GVJ_t *job, pointf *A, size_t n)
 

Variables

static gvrender_engine_t gdiplusgen_engine
 
static gvrender_features_t render_features_gdiplus
 
static gvdevice_features_t device_features_gdiplus_emf
 
static gvdevice_features_t device_features_gdiplus
 
gvplugin_installed_t gvrender_gdiplus_types []
 
gvplugin_installed_t gvdevice_gdiplus_types []
 

Function Documentation

◆ gdiplusgen_begin_job()

static void gdiplusgen_begin_job ( GVJ_t job)
static

Definition at line 40 of file gvrender_gdiplus.cpp.

References GVJ_s::context, GVJ_s::device, GVJ_s::external_context, FORMAT_METAFILE, gvplugin_active_device_s::id, UseGdiplus(), and GVJ_s::window.

Here is the call graph for this function:

◆ gdiplusgen_begin_page()

◆ gdiplusgen_bezier()

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

Definition at line 251 of file gvrender_gdiplus.cpp.

References A, gdiplusgen_path(), and points.

Here is the call graph for this function:

◆ gdiplusgen_ellipse()

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

Definition at line 229 of file gvrender_gdiplus.cpp.

References A, dx, dy, and gdiplusgen_path().

Here is the call graph for this function:

◆ gdiplusgen_end_job()

static void gdiplusgen_end_job ( GVJ_t job)
static

Definition at line 55 of file gvrender_gdiplus.cpp.

References GVJ_s::context, GVJ_s::device, GVJ_s::external_context, FORMAT_EMF, FORMAT_EMFPLUS, FORMAT_METAFILE, gvwrite(), gvplugin_active_device_s::id, image, ImageGraphics::image, SaveBitmapToStream(), and ImageGraphics::stream.

Here is the call graph for this function:

◆ gdiplusgen_path()

static void gdiplusgen_path ( GVJ_t job,
const GraphicsPath *  path,
int  filled 
)
static

Definition at line 195 of file gvrender_gdiplus.cpp.

References GVJ_s::context, obj_state_s::fillcolor, GVJ_s::obj, obj_state_s::pen, PEN_DASHED, PEN_DOTTED, PEN_NONE, PEN_SOLID, obj_state_s::pencolor, obj_state_s::penwidth, color_s::rgba, and color_s::u.

Referenced by gdiplusgen_bezier(), gdiplusgen_ellipse(), gdiplusgen_polygon(), and gdiplusgen_polyline().

Here is the caller graph for this function:

◆ gdiplusgen_polygon()

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

Definition at line 241 of file gvrender_gdiplus.cpp.

References A, gdiplusgen_path(), and points.

Here is the call graph for this function:

◆ gdiplusgen_polyline()

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

Definition at line 261 of file gvrender_gdiplus.cpp.

References A, gdiplusgen_path(), and points.

Here is the call graph for this function:

◆ gdiplusgen_textspan()

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

◆ points()

static vector< PointF > points ( pointf A,
int  n 
)
static

Definition at line 186 of file gvrender_gdiplus.cpp.

References A.

Variable Documentation

◆ device_features_gdiplus

gvdevice_features_t device_features_gdiplus
static
Initial value:
= {
{0.,0.},
{0.,0.},
{96.,96.}
}
#define GVDEVICE_DOES_TRUECOLOR
Definition gvcjob.h:90
#define GVDEVICE_BINARY_FORMAT
Definition gvcjob.h:91

Definition at line 321 of file gvrender_gdiplus.cpp.

◆ device_features_gdiplus_emf

gvdevice_features_t device_features_gdiplus_emf
static
Initial value:
= {
{0.,0.},
{0.,0.},
{72.,72.}
}
#define GVRENDER_NO_WHITE_BG
Definition gvcjob.h:106

Definition at line 312 of file gvrender_gdiplus.cpp.

◆ gdiplusgen_engine

gvrender_engine_t gdiplusgen_engine
static

Definition at line 271 of file gvrender_gdiplus.cpp.

◆ gvdevice_gdiplus_types

gvplugin_installed_t gvdevice_gdiplus_types[]
Initial value:
= {
{FORMAT_METAFILE, "metafile:gdiplus", 8, nullptr, &device_features_gdiplus_emf},
{FORMAT_BMP, "bmp:gdiplus", 8, nullptr, &device_features_gdiplus},
{FORMAT_EMF, "emf:gdiplus", 8, nullptr, &device_features_gdiplus_emf},
{FORMAT_EMFPLUS, "emfplus:gdiplus", 8, nullptr, &device_features_gdiplus_emf},
{FORMAT_GIF, "gif:gdiplus", 8, nullptr, &device_features_gdiplus},
{FORMAT_JPEG, "jpe:gdiplus", 8, nullptr, &device_features_gdiplus},
{FORMAT_JPEG, "jpeg:gdiplus", 8, nullptr, &device_features_gdiplus},
{FORMAT_JPEG, "jpg:gdiplus", 8, nullptr, &device_features_gdiplus},
{FORMAT_PNG, "png:gdiplus", 8, nullptr, &device_features_gdiplus},
{FORMAT_TIFF, "tif:gdiplus", 8, nullptr, &device_features_gdiplus},
{FORMAT_TIFF, "tiff:gdiplus", 8, nullptr, &device_features_gdiplus},
{0, nullptr, 0, nullptr, nullptr}
}
@ FORMAT_TIFF
@ FORMAT_BMP
@ FORMAT_EMFPLUS
@ FORMAT_EMF
@ FORMAT_METAFILE
@ FORMAT_JPEG
Definition gvrender_gd.c:32
@ FORMAT_GIF
Definition gvrender_gd.c:31
@ FORMAT_PNG
Definition gvrender_gd.c:33
static gvdevice_features_t device_features_gdiplus
static gvdevice_features_t device_features_gdiplus_emf

Definition at line 334 of file gvrender_gdiplus.cpp.

◆ gvrender_gdiplus_types

gvplugin_installed_t gvrender_gdiplus_types[]
Initial value:
= {
{0, nullptr, 0, nullptr, nullptr}
}
static gvrender_engine_t gdiplusgen_engine
static gvrender_features_t render_features_gdiplus

Definition at line 329 of file gvrender_gdiplus.cpp.

◆ render_features_gdiplus

gvrender_features_t render_features_gdiplus
static
Initial value:
= {
4.,
nullptr,
0,
}
@ RGBA_BYTE
Definition color.h:26
#define GVRENDER_DOES_TRANSFORM
Definition gvcjob.h:95
#define GVRENDER_Y_GOES_DOWN
Definition gvcjob.h:94

Definition at line 304 of file gvrender_gdiplus.cpp.