dkfigw.h File Reference

Include file for fig writer module. More...

#include <dk.h>
#include <dkmem.h>
#include <dksto.h>

Go to the source code of this file.

Data Structures

struct  _dk_fig_cc_t_
 Color cell. More...
struct  _dk_fig_ah_t_
 Arrowhead style. More...
struct  _dk_fig_style_t_
 Style structure. More...
struct  _dk_fig_pl_pt_t_
 Polyline/polygon type. More...
struct  _dk_fig_sp_pt_t_
 Spline point type. More...
struct  _dk_fig_object_t_
 Fig object. More...
struct  _dk_fig_writer_t_
 Writer object for entire drawing. More...

Defines

#define FIG_COLOR_DEFAULT   (-1)
 Color: Default color.
#define FIG_COLOR_BLACK   0
 Color: Black.
#define FIG_COLOR_BLUE   1
 Color: Blue.
#define FIG_COLOR_GREEN   2
 Color: Green.
#define FIG_COLOR_CYAN   3
 Color: Cyan.
#define FIG_COLOR_RED   4
 Color: Red.
#define FIG_COLOR_MAGENTA   5
 Color: Magenta.
#define FIG_COLOR_YELLOW   6
 Color: Yellow.
#define FIG_COLOR_WHITE   7
 Color: White.
#define FIG_COLOR_DARKEST_BLUE   8
 Color: Darkest blue.
#define FIG_COLOR_DARK_BLUE   9
 Color: Dark blue.
#define FIG_COLOR_LIGHT_BLUE   10
 Color: Light blue.
#define FIG_COLOR_LIGHTEST_BLUE   11
 Color: Lightest blue.
#define FIG_COLOR_DARK_GREEN   12
 Color: Dark green.
#define FIG_COLOR_NORMAL_GREEN   13
 Color: Green.
#define FIG_COLOR_LIGHT_GREEN   14
 Color: Light green.
#define FIG_COLOR_DARK_CYAN   15
 Color: Dark cyan.
#define FIG_COLOR_NORMAL_CYAN   16
 Color: Cyan.
#define FIG_COLOR_LIGHT_CYAN   17
 Color: Light cyan.
#define FIG_COLOR_DARK_RED   18
 Color: Dark red.
#define FIG_COLOR_NORMAL_RED   19
 Color: Red.
#define FIG_COLOR_LIGHT_RED   20
 Color: Light red.
#define FIG_COLOR_DARK_MAGENTA   21
 Color: Dark magenta.
#define FIG_COLOR_NORMAL_MAGENTA   22
 Color: Magenta.
#define FIG_COLOR_LIGHT_MAGENTA   23
 Color: Light magenta.
#define FIG_COLOR_DARK_BROWN   24
 Color: Dark brown.
#define FIG_COLOR_NORMAL_BROWN   25
 Color: Brown.
#define FIG_COLOR_LIGHT_BROWN   26
 Color: Light brown.
#define FIG_COLOR_DARKEST_PINK   27
 Color: Darkest pink.
#define FIG_COLOR_DARK_PINK   28
 Color: Dark pink.
#define FIG_COLOR_LIGHT_PINK   29
 Color: Light pink.
#define FIG_COLOR_LIGHTEST_PINK   30
 Color: Lightest pink.
#define FIG_COLOR_GOLD   31
 Color: Gold.
#define FIG_FILL_NONE   0xFF
 Fill style: Not filled.
#define FIG_FILL_BLACK   0x00
 Fill style: Black filled.
#define FIG_FILL_005   0x01
 Fill style: Saturation 5 percent.
#define FIG_FILL_010   0x02
 Fill style: Saturation 10 percent.
#define FIG_FILL_015   0x03
 Fill style: Saturation 15 percent.
#define FIG_FILL_020   0x04
 Fill style: Saturation 20 percent.
#define FIG_FILL_025   0x05
 Fill style: Saturation 25 percent.
#define FIG_FILL_030   0x06
 Fill style: Saturation 30 percent.
#define FIG_FILL_035   0x07
 Fill style: Saturation 35 percent.
#define FIG_FILL_040   0x08
 Fill style: Saturation 40 percent.
#define FIG_FILL_045   0x09
 Fill style: Saturation 45 percent.
#define FIG_FILL_050   0x0A
 Fill style: Saturation 50 percent.
#define FIG_FILL_055   0x0B
 Fill style: Saturation 55 percent.
#define FIG_FILL_060   0x0C
 Fill style: Saturation 60 percent.
#define FIG_FILL_065   0x0D
 Fill style: Saturation 65 percent.
#define FIG_FILL_070   0x0E
 Fill style: Saturation 70 percent.
#define FIG_FILL_075   0x0F
 Fill style: Saturation 75 percent.
#define FIG_FILL_080   0x10
 Fill style: Saturation 80 percent.
#define FIG_FILL_085   0x11
 Fill style: Saturation 85 percent.
#define FIG_FILL_090   0x12
 Fill style: Saturation 90 percent.
#define FIG_FILL_095   0x13
 Fill style: Saturation 95 percent.
#define FIG_FILL_100   0x14
 Fill style: Fill with pure color.
#define FIG_FILL_PURE   0x14
 Fill style: Fill with pure color.
#define FIG_FILL_105   0x15
 Fill style: Saturation 105 percent.
#define FIG_FILL_110   0x16
 Fill style: Saturation 110 percent.
#define FIG_FILL_115   0x17
 Fill style: Saturation 115 percent.
#define FIG_FILL_120   0x18
 Fill style: Saturation 120 percent.
#define FIG_FILL_125   0x19
 Fill style: Saturation 125 percent.
#define FIG_FILL_130   0x1A
 Fill style: Saturation 130 percent.
#define FIG_FILL_135   0x1B
 Fill style: Saturation 135 percent.
#define FIG_FILL_140   0x1C
 Fill style: Saturation 140 percent.
#define FIG_FILL_145   0x1D
 Fill style: Saturation 145 percent.
#define FIG_FILL_150   0x1E
 Fill style: Saturation 150 percent.
#define FIG_FILL_155   0x1F
 Fill style: Saturation 155 percent.
#define FIG_FILL_160   0x20
 Fill style: Saturation 160 percent.
#define FIG_FILL_165   0x21
 Fill style: Saturation 165 percent.
#define FIG_FILL_170   0x22
 Fill style: Saturation 170 percent.
#define FIG_FILL_175   0x23
 Fill style: Saturation 175 percent.
#define FIG_FILL_180   0x24
 Fill style: Saturation 180 percent.
#define FIG_FILL_185   0x25
 Fill style: Saturation 185 percent.
#define FIG_FILL_190   0x26
 Fill style: Saturation 190 percent.
#define FIG_FILL_195   0x27
 Fill style: Saturation 195 percent.
#define FIG_FILL_200   0x28
 Fill style: White filled.
#define FIG_FILL_WHITE   0x28
 Fill style: White filled.
#define FIG_FILL_LEFT_DIAGONAL_30   0x29
 Fill style: 30 degree lines to the left.
#define FIG_FILL_RIGHT_DIAGONAL_30   0x2A
 Fill style: 30 degree lines to the right.
#define FIG_FILL_CROSSHATCH_30   0x2B
 Fill style: Diagonal (30 degree) crosshatch.
#define FIG_FILL_LEFT_DIAGONAL_45   0x2C
 Fill style: Diagonal lines to the left.
#define FIG_FILL_RIGHT_DIAGONAL_45   0x2D
 Fill style: Diagonal lines to the right.
#define FIG_FILL_CROSSHATCH_45   0x2E
 Fill style: Diagonal (45 degree) crosshatch.
#define FIG_FILL_BRICKS_HORIZONTAL   0x2F
 Fill style: Horizontal bricks.
#define FIG_FILL_BRICKS_VERTICAL   0x30
 Fill style: Vertical bricks.
#define FIG_FILL_HORIZONTAL_LINES   0x31
 Fill style: Horizontal lines.
#define FIG_FILL_VERTICAL_LINES   0x32
 Fill style: Vertical lines.
#define FIG_FILL_CROSSHATCH   0x33
 Fill style: Crosshatch.
#define FIG_FILL_HORIZONTAL_SHINGLES_RIGHT   0x34
 Fill style: Horizontal shingles, going to the right.
#define FIG_FILL_HORIZONTAL_SHINGLES_LEFT   0x35
 Fill style: Horizontal shingles, going to the left.
#define FIG_FILL_VERTICAL_SHINGLES_1   0x36
 Fill style: Vertical shingles, version 1.
#define FIG_FILL_VERTICAL_SHINGLES_2   0x37
 Fill style: Vertical shingles, version 2.
#define FIG_FILL_LARGE_FISH_SCALES   0x38
 Fill style: Large fish scales.
#define FIG_FILL_SMALL_FISH_SCALES   0x39
 Fill style: Small fish scales.
#define FIG_FILL_CIRCLES   0x3A
 Fill style: Circles.
#define FIG_FILL_HEXAGONS   0x3B
 Fill style: Hexagons.
#define FIG_FILL_OCTAGONS   0x3C
 Fill style: Octagons.
#define FIG_FILL_HORIZONTAL_TIRE_TREADS   0x3D
 Fill style: Horizontal tire treads.
#define FIG_FILL_VERTICAL_TIRE_TREADS   0x3E
 Fill style: Vertical tire treads.
#define FIG_LS_DEFAULT   0xFF
 Line style: Default.
#define FIG_LS_SOLID   0x00
 Line style: Solid.
#define FIG_LS_DASHED   0x01
 Line style: Dashed.
#define FIG_LS_DOTTED   0x02
 Line style: Dots.
#define FIG_LS_DASH_DOTTED   0x03
 Line style: Dash, dot.
#define FIG_LS_DASH_DOUBLE_DOTTED   0x04
 Line style: Dash, two dots.
#define FIG_LS_DASH_TRIPLE_DOTTED   0x05
 Line style: Dash, three dots.
#define FIG_LJ_MITER   0x00
 Line join style: Mitered.
#define FIG_LJ_ROUND   0x01
 Line join style: Rounded.
#define FIG_LJ_BEVEL   0x02
 Line join style: Beveled.
#define FIG_CS_BUTT   0x00
 Line cap style: Butted.
#define FIG_CS_ROUND   0x01
 Line cap style: Rounded.
#define FIG_CS_PROJECTING   0x02
 Line cap style: Projecting.
#define FIG_AS_STICK   0x00
 Arrowhead shape: Stick.
#define FIG_AS_TRIANGLE   0x01
 Arrowhead shape: Triangle.
#define FIG_AS_CLOSED_INDENTED   0x02
 Arrowhead shape: Indented.
#define FIG_AS_CLOSED_POINTED   0x03
 Arrowhead shape: Pointed.
#define FIG_AF_WHITE   0x00
 Arrowhead fill: White.
#define FIG_AF_PC   0x01
 Arrowhead fill: Use pen color.
#define FIG_TEXTFLAG_RIGID   0x01
 Text flag: Rigid text.
#define FIG_TEXTFLAG_SPECIAL   0x02
 Text flag: LaTeX special text.
#define FIG_TEXTFLAG_PS   0x04
 Text flag: Use PS font.
#define FIG_TEXTFLAG_HIDDEN   0x08
 Text flag: Hidden text.
#define FIG_FONT_LATEX_DEFAULT   0x00
 Font: LaTeX default font.
#define FIG_FONT_LATEX_ROMAN   0x01
 Font: Roman (LaTeX).
#define FIG_FONT_LATEX_BOLD   0x02
 Font: Bold (LaTeX).
#define FIG_FONT_LATEX_ITALIC   0x03
 Font: Italic (LaTeX).
#define FIG_FONT_LATEX_SANS_SERIF   0x04
 Font: Sans serif (LaTeX).
#define FIG_FONT_LATEX_TYPEWRITER   0x05
 Font: Typewriter (LaTeX).
#define FIG_FONT_PS_DEFAULT   0xFF
 Font: Default PS font.
#define FIG_FONT_PS_TIMES_ROMAN   0x00
 Font: Times (PS).
#define FIG_FONT_PS_TIMES_ITALIC   0x01
 Font: Times italic (PS).
#define FIG_FONT_PS_TIMES_BOLD   0x02
 Font: Times bold (PS).
#define FIG_FONT_PS_TIMES_BOLD_ITALIC   0x03
 Font: Times bold italic (PS).
#define FIG_FONT_PS_AVANTGARDE_BOOK   0x04
 Font: Avantgarde Book (PS).
#define FIG_FONT_PS_AVANTGARDE_BOOK_OBLIQUE   0x05
 Font: Avantgarde Book oblique (PS).
#define FIG_FONT_PS_AVANTGARDE_BOOK_DEMI   0x06
 Font: Avantgarde Book demi (PS).
#define FIG_FONT_PS_AVANTGARDE_BOOK_DEMI_OBLICQUE   0x07
 Font: Avantgarde Book demi oblique (PS).
#define FIG_FONT_PS_BOOKMAN_LIGHT   0x08
 Font: Bookman light (PS).
#define FIG_FONT_PS_BOOKMAN_LIGHT_ITALIC   0x09
 Font: Bookman light italic (PS).
#define FIG_FONT_PS_BOOKMAN_DEMI   0x0A
 Font: Bookman demi (PS).
#define FIG_FONT_PS_BOOKMAN_DEMI_ITALIC   0x0B
 Font: Bookman demi italic (PS).
#define FIG_FONT_PS_COURIER   0x0C
 Font: Courier (PS).
#define FIG_FONT_PS_COURIER_OBLIQUE   0x0D
 Font: Courier oblique (PS).
#define FIG_FONT_PS_COURIER_BOLD   0x0E
 Font: Courier bold (PS).
#define FIG_FONT_PS_COURIER_BOLD_OBLIQUE   0x0F
 Font: Courier bold oblique (PS).
#define FIG_FONT_PS_HELVETICA   0x10
 Font: Helvetica (PS).
#define FIG_FONT_PS_HELVETICA_OBLIQUE   0x11
 Font: Helvetica oblique (PS).
#define FIG_FONT_PS_HELVETICA_BOLD   0x12
 Font: Helvetica bold (PS).
#define FIG_FONT_PS_HELVETICA_BOLD_OBLIQUE   0x13
 Font: Helvetica bold oblique (PS).
#define FIG_FONT_PS_HELVETICA_NARROW   0x14
 Font: Helvetica Narrow (PS).
#define FIG_FONT_PS_HELVETICA_NARROW_OBLIQUE   0x15
 Font: Helvetica Narrow oblique (PS).
#define FIG_FONT_PS_HELVETICA_NARROW_BOLD   0x16
 Font: Helvetica Narrow bold (PS).
#define FIG_FONT_PS_HELVETICA_NARROW_BOLD_OBLIQUE   0x17
 Font: Helvetica Narrow bold oblique (PS).
#define FIG_FONT_PS_NEW_CENTURY_SCHOOLBOOK_ROMAN   0x18
 Font: New Century Schoolbook (PS).
#define FIG_FONT_PS_NEW_CENTURY_SCHOOLBOOK_ITALIC   0x19
 Font: New Century Schoolbook italic (PS).
#define FIG_FONT_PS_NEW_CENTURY_SCHOOLBOOK_BOLD   0x1A
 Font: New Century Schoolbook bold (PS).
#define FIG_FONT_PS_NEW_CENTURY_SCHOOLBOOK_BOLD_ITALIC   0x1B
 Font: New Century Schoolbook bold italic (PS).
#define FIG_FONT_PS_PALATINO_ROMAN   0x1C
 Font: Palatino roman (PS).
#define FIG_FONT_PS_PALATINO_ITALIC   0x1D
 Font: Palatino italic (PS).
#define FIG_FONT_PS_PALATINO_BOLD   0x1E
 Font: Palatino bold (PS).
#define FIG_FONT_PS_PALATINO_BOLD_ITALIC   0x1F
 Font: Palatino bold italic (PS).
#define FIG_FONT_PS_SYMBOL   0x20
 Font: Symbold (PS).
#define FIG_FONT_PS_ZAPF_CHANCERY_MEDIUM_ITALIC   0x21
 Font: Chancery (PS).
#define FIG_FONT_PS_ZAPF_DINGBATS   0x22
 Font: Zapf Dingbats (PS).
#define FIG_OBJECT_COLORCELL   0x00
 Fig object type: Color definition.
#define FIG_OBJECT_ARC   0x05
 Fig object type: Arc.
#define FIG_SUB_ARC_OPEN   0x01
 Arc type: Open arc.
#define FIG_SUB_ARC_CLOSED   0x02
 Arc type: Closed arc.
#define FIG_OBJECT_ELLIPSE   0x01
 Fig object type: Ellipse.
#define FIG_SUB_ELLIPSE_RADII   0x01
 Ellipse type: Ellipse specified by radii.
#define FIG_SUB_ELLIPSE_DIA   0x02
 Ellipse type: Ellipse specified by diameters.
#define FIG_SUB_CIRCLE_RADIUS   0x03
 Ellipse type: Circle specified by radius.
#define FIG_SUB_CIRCLE_DIA   0x04
 Ellipse type: Circle specified by diameter.
#define FIG_OBJECT_POLYLINE   0x02
 Fig object type: Polyline/polygon/box/image.
#define FIG_SUB_POLYLINE   0x01
 Polyline type: Polyline.
#define FIG_SUB_BOX   0x02
 Polyline type: Box (rectangle).
#define FIG_SUB_POLYGON   0x03
 Polyline type: Polygon.
#define FIG_SUB_ARC_BOX   0x04
 Polyline type: Arc box.
#define FIG_SUB_IMAGE   0x05
 Polyline type: Included image.
#define FIG_OBJECT_SPLINE   0x03
 Fig object type: Spline.
#define FIG_SUB_SPLINE_OPEN_APPROXIMATED   0x00
 Spline type: Open approximated spline.
#define FIG_SUB_SPLINE_CLOSED_APPROXIMATED   0x01
 Spline type: Closed approximated spline.
#define FIG_SUB_SPLINE_OPEN_INTERPOLATED   0x02
 Spline type: Open interpolated spline.
#define FIG_SUB_SPLINE_CLOSED_INTERPOLATED   0x03
 Spline type: Closed interpolated spline.
#define FIG_SUB_SPLINE_OPEN_X   0x04
 Spline type: Open X spline.
#define FIG_SUB_SPLINE_CLOSED_X   0x05
 Spline type: Closed X spline.
#define FIG_OBJECT_TEXT   0x04
 Fig object type: text.
#define FIG_SUB_TEXT_LEFT   0x00
 Text align: Left.
#define FIG_SUB_TEXT_CENTER   0x01
 Text align: Centered.
#define FIG_SUB_TEXT_RIGHT   0x02
 Text align: Right.
#define FIG_ORIENTATION_LANDSCAPE   0x00
 Orientation: Landdscape.
#define FIG_ORIENTATION_PORTRAIT   0x01
 Orientation: Portrait.
#define FIG_UNITS_METRIC   0x00
 Units: Metric.
#define FIG_UNITS_INCHES   0x01
 Units: Inches.
#define FIG_PAPER_LETTER   0x00
 Paper size: Letter.
#define FIG_PAPER_LEGAL   0x01
 Paper size: Legal.
#define FIG_PAPER_LEDGER   0x02
 Paper size: Ledger.
#define FIG_PAPER_TABLOID   0x03
 Paper size: Tabloid.
#define FIG_PAPER_A   0x04
 Paper size: A.
#define FIG_PAPER_B   0x05
 Paper size: B.
#define FIG_PAPER_C   0x06
 Paper size: C.
#define FIG_PAPER_D   0x07
 Paper size: D.
#define FIG_PAPER_E   0x08
 Paper size: E.
#define FIG_PAPER_A4   0x09
 Paper size: A4.
#define FIG_PAPER_A3   0x0A
 Paper size: A3.
#define FIG_PAPER_A2   0x0B
 Paper size: A2.
#define FIG_PAPER_A1   0x0C
 Paper size: A1.
#define FIG_PAPER_A0   0x0D
 Paper size: A0.
#define FIG_PAPER_B5   0x0E
 Paper size: B5.
#define FIG_PAGES_SINGLE   0x00
 Single page graphics.
#define FIG_PAGES_MULTIPLE   0x01
 Multipage graphics.
#define FIG_JUSTIFICATION_CENTER   0x00
 Image justification: Centered.
#define FIG_JUSTIFICATION_LEFT   0x01
 Image justification: Flush left.
#define FIG_WH_FIG   0
 Width and height units: Fig units.
#define FIG_WH_INCHES   1
 Width and height units: inches.
#define FIG_WH_CM   2
 Width and height units: cm.

Typedefs

typedef struct _dk_fig_cc_t_ dk_fig_cc_t
 Color cell.
typedef struct _dk_fig_ah_t_ dk_fig_ah_t
 Arrowhead style.
typedef struct _dk_fig_style_t_ dk_fig_style_t
 Style structure.
typedef struct _dk_fig_pl_pt_t_ dk_fig_pl_pt_t
 Polyline/polygon type.
typedef struct _dk_fig_sp_pt_t_ dk_fig_sp_pt_t
 Spline point type.
typedef struct _dk_fig_object_t_ dk_fig_object_t
 Fig object.
typedef struct _dk_fig_writer_t_ dk_fig_writer_t
 Writer object for entire drawing.
typedef dk_fig_writer_tDKrause__FigWriter
 Data type for use with Perl.

Functions

int dkfigw_compare_pl_points (void *l, void *r, int c)
 Compare two polyline/polygon points by number.
int dkfigw_compare_sp_points (void *l, void *r, int c)
 Compare two spline points by number.
int dkfigw_compare_color_cells (void *l, void *r, int c)
 Compare two color cells.
int dkfigw_compare_objects (void *l, void *r, int c)
 Compare two objects.
dk_fig_writer_tdkfigw_new (void)
 Create new writer structure.
void dkfigw_delete (dk_fig_writer_t *fwp)
 Remove writer structure, release memory.
void dkfigw_set_verbose (dk_fig_writer_t *fwp, int fl)
 Enable/disable verbose mode.
void dkfigw_set_utf8 (dk_fig_writer_t *fwp, int fl)
 Enable/disable usage of UTF-8.
int dkfigw_set_image_size (dk_fig_writer_t *fwp, int uni, double w, double h)
 Set image size.
void dkfigw_set_image_origin (dk_fig_writer_t *fwp, int olt)
 Set image origin.
void dkfigw_set_text_align (dk_fig_writer_t *fwp, unsigned char tal)
 Set text alignment for all following texts added.
void dkfigw_set_text_rigid (dk_fig_writer_t *fwp, int fl)
 Set/reset rigid flag for all following texts added.
void dkfigw_set_text_special (dk_fig_writer_t *fwp, int fl)
 Set/reset special flag for all following texts added.
void dkfigw_set_text_psfont (dk_fig_writer_t *fwp, unsigned char fno)
 Set PS font index for all following texts added.
void dkfigw_set_text_psfont_by_name (dk_fig_writer_t *fwp, char *n)
 Set PS font for all following texts added, choose font by name.
void dkfigw_set_text_latexfont (dk_fig_writer_t *fwp, unsigned char fno)
 Set LaTeX font index for all following texts added.
void dkfigw_set_text_size (dk_fig_writer_t *fwp, double fsz)
 Set text size fo all following texts added.
void dkfigw_set_layer (dk_fig_writer_t *fwp, unsigned short lay)
 Set layer for all following objects.
int dkfigw_layer_up (dk_fig_writer_t *fwp)
 Move one layer upwards.
int dkfigw_define_color (dk_fig_writer_t *fwp, int r, int g, int b)
 Define a new color.
void dkfigw_set_pen_color (dk_fig_writer_t *fwp, short col)
 Set pen color for all following objects.
void dkfigw_set_pen_color_by_name (dk_fig_writer_t *fwp, char *n)
 Set pen color for all following objects by color name.
void dkfigw_set_fill_color (dk_fig_writer_t *fwp, short col)
 Set fill color for all following objects.
void dkfigw_set_fill_color_by_name (dk_fig_writer_t *fwp, char *n)
 Set fill color for all following objects by color name.
void dkfigw_set_transparent_color (dk_fig_writer_t *fwp, short col)
 Set transparent color.
void dkfigw_set_fill_style (dk_fig_writer_t *fwp, unsigned char fil)
 Set fill style for all following objects.
void dkfigw_set_line_style (dk_fig_writer_t *fwp, unsigned char lst)
 Set line style for all following objects.
void dkfigw_set_line_join (dk_fig_writer_t *fwp, unsigned char ljn)
 Set line join style for all following objects.
void dkfigw_set_line_width (dk_fig_writer_t *fwp, short lw)
 Set line width for all following objects.
void dkfigw_set_angle_degree (dk_fig_writer_t *fwp, int fl)
 Set "angle-in-degree" flag in writer.
void dkfigw_set_line_cap (dk_fig_writer_t *fwp, unsigned char lcp)
 Set line cap style for all following objects.
void dkfigw_set_arrowhead_f (dk_fig_writer_t *fwp, unsigned char sha, unsigned char fil, double wid, double hei)
 Set forward arrowhead style for all following objects.
void dkfigw_set_arrowhead_b (dk_fig_writer_t *fwp, unsigned char sha, unsigned char fil, double wid, double hei)
 Set backward arrowhead style for all following objects.
void dkfigw_set_arrowheads (dk_fig_writer_t *fwp, unsigned char ahs)
 Set arrowheads directions.
void dkfigw_set_suggested_arrow_settings (dk_fig_writer_t *fwp)
 Initial settings for arrowheads.
unsigned long dkfigw_rectangle (dk_fig_writer_t *fwp, double x0, double y0, double x1, double y1)
 Add rectangle.
unsigned long dkfigw_arc_box (dk_fig_writer_t *fwp, double x0, double y0, double x1, double y1, double r)
 Add arc box.
unsigned long dkfigw_image (dk_fig_writer_t *fwp, double x0, double y0, double x1, double y1, char *fn)
 Add image.
unsigned long dkfigw_polygon (dk_fig_writer_t *fwp)
 Add polygon.
unsigned long dkfigw_polyline (dk_fig_writer_t *fwp)
 Add polyline.
unsigned long dkfigw_point (dk_fig_writer_t *fwp, double x, double y)
 Add point to the current polygon or polyline object.
unsigned long dkfigw_open_spline (dk_fig_writer_t *fwp)
 Add open spline.
unsigned long dkfigw_closed_spline (dk_fig_writer_t *fwp)
 Add closed spline.
unsigned long dkfigw_spline_point (dk_fig_writer_t *fwp, double x, double y, double s)
 Add point to current spline object.
unsigned long dkfigw_open_arc (dk_fig_writer_t *fwp, double x, double y, double r, double a0, double a1)
 Add open arc.
unsigned long dkfigw_closed_arc (dk_fig_writer_t *fwp, double x, double y, double r, double a0, double a1)
 Add closed arc (pie wedge).
unsigned long dkfigw_circle (dk_fig_writer_t *fwp, double x, double y, double r)
 Add circle.
unsigned long dkfigw_ellipse (dk_fig_writer_t *fwp, double x, double y, double rx, double ry, double rot)
 Add ellipse.
unsigned long dkfigw_text (dk_fig_writer_t *fwp, double x, double y, char *t, double a)
 Add text.
int dkfigw_write (dk_stream_t *os, dk_fig_writer_t *fwp)
 Write Fig file to stream.
int dkfigw_file (char *fn, dk_fig_writer_t *fwp)
 Write Fig file to named file.


Detailed Description

Include file for fig writer module.


Typedef Documentation

Data type for use with Perl.


Function Documentation

unsigned long dkfigw_arc_box ( dk_fig_writer_t fwp,
double  x0,
double  y0,
double  x1,
double  y1,
double  r 
)

Add arc box.

Parameters:
fwp Writer structure.
x0 Point 1 x.
y0 Point 1 y.
x1 Point 2 x.
y1 Point 2 y.
r Corner radius.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_circle ( dk_fig_writer_t fwp,
double  x,
double  y,
double  r 
)

Add circle.

Parameters:
fwp Writer structure.
x Center x.
y Center y.
r Radius.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_closed_arc ( dk_fig_writer_t fwp,
double  x,
double  y,
double  r,
double  a0,
double  a1 
)

Add closed arc (pie wedge).

Parameters:
fwp Writer structure.
x Center x.
y Center y.
r Radius.
a0 Start angle in radians.
a1 End angle in radians.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_closed_spline ( dk_fig_writer_t fwp  ) 

Add closed spline.

After creating the spline use dkfigw_spline_point() to add points.

Parameters:
fwp Writer structure.
Returns:
Positive number on success, 0 on error.

int dkfigw_compare_color_cells ( void *  l,
void *  r,
int  c 
)

Compare two color cells.

Parameters:
l Left color cell.
r Right color cell.
c Comparison criteria (0=cell/cell, 1=cell/number).
Returns:
Comparison result.

int dkfigw_compare_objects ( void *  l,
void *  r,
int  c 
)

Compare two objects.

Parameters:
l Left object.
r Right object.
c Comparison criteria (0=object/object, 1=object/number).
Returns:
Comparison result.

int dkfigw_compare_pl_points ( void *  l,
void *  r,
int  c 
)

Compare two polyline/polygon points by number.

Parameters:
l Left point.
r Right point.
c Comparison criteria (ignored).
Returns:
Comparison result.

int dkfigw_compare_sp_points ( void *  l,
void *  r,
int  c 
)

Compare two spline points by number.

Parameters:
l Left point.
r Right point.
c Comparison criteria (ignored).
Returns:
Comparison result.

int dkfigw_define_color ( dk_fig_writer_t fwp,
int  r,
int  g,
int  b 
)

Define a new color.

Parameters:
fwp Fig writer structure.
r Red.
g Green.
b Blue.
Returns:
The new color cell number on success, 0 on error.

void dkfigw_delete ( dk_fig_writer_t fwp  ) 

Remove writer structure, release memory.

Parameters:
fwp Pointer to structure to release.

unsigned long dkfigw_ellipse ( dk_fig_writer_t fwp,
double  x,
double  y,
double  rx,
double  ry,
double  rot 
)

Add ellipse.

Parameters:
fwp Writer structure.
x Center x.
y Center y.
rx Horizontal radius.
ry Vertical radius.
rot Rotation in radians.
Returns:
Positive number on success, 0 on error.

int dkfigw_file ( char *  fn,
dk_fig_writer_t fwp 
)

Write Fig file to named file.

Parameters:
fn File name to write to.
fwp Fig structure.
Returns:
1 on success, 0 on error.

unsigned long dkfigw_image ( dk_fig_writer_t fwp,
double  x0,
double  y0,
double  x1,
double  y1,
char *  fn 
)

Add image.

Parameters:
fwp Writer structure.
x0 Point 1 x.
y0 Point 1 y.
x1 Point 2 x.
y1 Point 2 y.
fn File name.
Returns:
Positive number on success, 0 on error.

int dkfigw_layer_up ( dk_fig_writer_t fwp  ) 

Move one layer upwards.

Parameters:
fwp Writer structure.
Returns:
Non-zero number on success, 0 on error.

dk_fig_writer_t* dkfigw_new ( void   ) 

Create new writer structure.

Returns:
Pointer to new writer structure on success, NULL on error.

unsigned long dkfigw_open_arc ( dk_fig_writer_t fwp,
double  x,
double  y,
double  r,
double  a0,
double  a1 
)

Add open arc.

Parameters:
fwp Writer structure.
x Center x.
y Center y.
r Radius.
a0 Start angle in radians.
a1 End angle in radians.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_open_spline ( dk_fig_writer_t fwp  ) 

Add open spline.

After creating the spline use dkfigw_spline_point() to add points.

Parameters:
fwp Writer structure.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_point ( dk_fig_writer_t fwp,
double  x,
double  y 
)

Add point to the current polygon or polyline object.

Parameters:
fwp Writer structure.
x X position.
y Y position.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_polygon ( dk_fig_writer_t fwp  ) 

Add polygon.

After creating the polygon use dkfigw_point() to add points.

Parameters:
fwp Writer structure.
Returns:
Positive number on success, 0 on error.
After creating the polygon use dkfigw_point() to add points.

Parameters:
fwp Writer structure.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_polyline ( dk_fig_writer_t fwp  ) 

Add polyline.

After creating the polygon use dkfigw_point() to add points.

Parameters:
fwp Writer structure.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_rectangle ( dk_fig_writer_t fwp,
double  x0,
double  y0,
double  x1,
double  y1 
)

Add rectangle.

Parameters:
fwp Writer structure.
x0 Point 1 x.
y0 Point 1 y.
x1 Point 2 x.
y1 Point 2 y.
Returns:
Positive number on success, 0 on error.

void dkfigw_set_angle_degree ( dk_fig_writer_t fwp,
int  fl 
)

Set "angle-in-degree" flag in writer.

Parameters:
fwp Writer structure.
fl Set (non-zero value) or reset (0) the flag.

void dkfigw_set_arrowhead_b ( dk_fig_writer_t fwp,
unsigned char  sha,
unsigned char  fil,
double  wid,
double  hei 
)

Set backward arrowhead style for all following objects.

Parameters:
fwp Writer structure.
sha Arrowhead shape, one from: FIG_AS_STICK, FIG_AS_TRIANGLE, FIG_AS_CLOSED_INDENTED or FIG_AS_CLOSED_POINTED.
fil Arrowhead fill style, one from: FIG_AF_WHITE (white filled) or FIG_AF_PC (pen color filled).
wid Arrowhead width.
hei Arrowhead height.
Set backward arrowhead style for all following objects.

Parameters:
fwp Fig writer structure.
sha Shape.
fil Fill type.
wid Width.
hei Height

void dkfigw_set_arrowhead_f ( dk_fig_writer_t fwp,
unsigned char  sha,
unsigned char  fil,
double  wid,
double  hei 
)

Set forward arrowhead style for all following objects.

Parameters:
fwp Writer structure.
sha Arrowhead shape, one from: FIG_AS_STICK, FIG_AS_TRIANGLE, FIG_AS_CLOSED_INDENTED or FIG_AS_CLOSED_POINTED.
fil Arrowhead fill style, one from: FIG_AF_WHITE (white filled) or FIG_AF_PC (pen color filled).
wid Arrowhead width.
hei Arrowhead height.
Set forward arrowhead style for all following objects.

Parameters:
fwp Fig writer structure.
sha Shape.
fil Fill type.
wid Width.
hei Height

void dkfigw_set_arrowheads ( dk_fig_writer_t fwp,
unsigned char  ahs 
)

Set arrowheads directions.

Parameters:
fwp Fig structure.
ahs Arrowheads, or-combination of 0x01 (forward) and 0x02 (backward).
fwp Fig writer structure.
ahs Directions (0x00=no arrowheads, 0x01=forward, 0x02=backward, 0x03=both forward and backward).

void dkfigw_set_fill_color ( dk_fig_writer_t fwp,
short  col 
)

Set fill color for all following objects.

Parameters:
fwp Writer structure.
col Color cell number, either a user defined color (32 and above) or a predefined color: FIG_COLOR_BLACK, FIG_COLOR_BLUE, FIG_COLOR_GREEN, FIG_COLOR_CYAN, FIG_COLOR_RED, FIG_COLOR_MAGENTA, FIG_COLOR_YELLOW, FIG_COLOR_WHITE, FIG_COLOR_DARKEST_BLUE, FIG_COLOR_DARK_BLUE, FIG_COLOR_LIGHT_BLUE, FIG_COLOR_LIGHTEST_BLUE, FIG_COLOR_DARK_GREEN, FIG_COLOR_NORMAL_GREEN, FIG_COLOR_LIGHT_GREEN, FIG_COLOR_DARK_CYAN, FIG_COLOR_NORMAL_CYAN, FIG_COLOR_LIGHT_CYAN, FIG_COLOR_DARK_RED, FIG_COLOR_NORMAL_RED, FIG_COLOR_LIGHT_RED, FIG_COLOR_DARK_MAGENTA, FIG_COLOR_NORMAL_MAGENTA, FIG_COLOR_LIGHT_MAGENTA, FIG_COLOR_DARK_BROWN, FIG_COLOR_NORMAL_BROWN, FIG_COLOR_LIGHT_BROWN, FIG_COLOR_DARKEST_PINK, FIG_COLOR_DARK_PINK, FIG_COLOR_LIGHT_PINK, FIG_COLOR_LIGHTEST_PINK or FIG_COLOR_GOLD.

void dkfigw_set_fill_color_by_name ( dk_fig_writer_t fwp,
char *  n 
)

Set fill color for all following objects by color name.

Parameters:
fwp Writer structure.
n Color name: "black", "blue", "green", "cyan", "red", "magenta", "yellow", "white", "blue.darkest", "blue.dark", "blue.light", "blue.lightest", "green.dark", "green.normal", "green.light", "cyan.dark", "cyan.normal", "cyan.light", "red.dark", "red.normal", "red.light", "magenta.dark", "magenta.normal", "magenta.light", "brown.dark", "brown.normal", "brown.light", "pink.darkest", "pink.dark", "pink.light", "pink.lightest" or "gold".
fwp Writer structure.
n Color name: One of the names in color_names.

void dkfigw_set_fill_style ( dk_fig_writer_t fwp,
unsigned char  fil 
)

Set fill style for all following objects.

Parameters:
fwp Writer structure.
fil Fill style, one from: FIG_FILL_NONE, FIG_FILL_BLACK, FIG_FILL_005, FIG_FILL_010, FIG_FILL_015, FIG_FILL_020, FIG_FILL_025, FIG_FILL_030, FIG_FILL_035, FIG_FILL_040, FIG_FILL_045, FIG_FILL_050, FIG_FILL_055, FIG_FILL_060, FIG_FILL_065, FIG_FILL_070, FIG_FILL_075, FIG_FILL_080, FIG_FILL_085, FIG_FILL_090, FIG_FILL_095, FIG_FILL_100, FIG_FILL_PURE, FIG_FILL_105, FIG_FILL_110, FIG_FILL_115, FIG_FILL_120, FIG_FILL_125, FIG_FILL_130, FIG_FILL_135, FIG_FILL_140, FIG_FILL_145, FIG_FILL_150, FIG_FILL_155, FIG_FILL_160, FIG_FILL_165, FIG_FILL_170, FIG_FILL_175, FIG_FILL_180, FIG_FILL_185, FIG_FILL_190, FIG_FILL_195, FIG_FILL_200, FIG_FILL_WHITE, FIG_FILL_LEFT_DIAGONAL_30, FIG_FILL_RIGHT_DIAGONAL_30, FIG_FILL_CROSSHATCH_30, FIG_FILL_LEFT_DIAGONAL_45, FIG_FILL_RIGHT_DIAGONAL_45, FIG_FILL_CROSSHATCH_45, FIG_FILL_BRICKS_HORIZONTAL, FIG_FILL_BRICKS_VERTICAL, FIG_FILL_HORIZONTAL_LINES, FIG_FILL_VERTICAL_LINES, FIG_FILL_CROSSHATCH, FIG_FILL_HORIZONTAL_SHINGLES_RIGHT, FIG_FILL_HORIZONTAL_SHINGLES_LEFT, FIG_FILL_VERTICAL_SHINGLES_1, FIG_FILL_VERTICAL_SHINGLES_2, FIG_FILL_LARGE_FISH_SCALES, FIG_FILL_SMALL_FISH_SCALES, FIG_FILL_CIRCLES, FIG_FILL_HEXAGONS, FIG_FILL_OCTAGONS, FIG_FILL_HORIZONTAL_TIRE_TREADS or FIG_FILL_VERTICAL_TIRE_TREADS.

void dkfigw_set_image_origin ( dk_fig_writer_t fwp,
int  olt 
)

Set image origin.

Parameters:
fwp Writer structure.
olt Flag: Origin at left top (1) or left bottom (0).

int dkfigw_set_image_size ( dk_fig_writer_t fwp,
int  uni,
double  w,
double  h 
)

Set image size.

Parameters:
fwp Writer structure.
uni Size unit (0=Fig, 1=inch, 2=cm).
w Image width.
h Image height.
Returns:
1 on success, 0 on error.

void dkfigw_set_layer ( dk_fig_writer_t fwp,
unsigned short  lay 
)

Set layer for all following objects.

Parameters:
fwp Writer structure.
lay Layer number.

void dkfigw_set_line_cap ( dk_fig_writer_t fwp,
unsigned char  lcp 
)

Set line cap style for all following objects.

Parameters:
fwp Writer structure.
lcp Line cap style, one from: FIG_CS_BUTT, FIG_CS_ROUND or FIG_CS_PROJECTING.

void dkfigw_set_line_join ( dk_fig_writer_t fwp,
unsigned char  ljn 
)

Set line join style for all following objects.

Parameters:
fwp Writer structure.
ljn Line join style, one from: FIG_LJ_MITER, FIG_LJ_ROUND, or FIG_LJ_BEVEL.

void dkfigw_set_line_style ( dk_fig_writer_t fwp,
unsigned char  lst 
)

Set line style for all following objects.

Parameters:
fwp Writer structure.
lst Line style, one from: FIG_LS_SOLID, FIG_LS_DASHED, FIG_LS_DOTTED, FIG_LS_DASH_DOTTED, FIG_LS_DASH_DOUBLE_DOTTED or FIG_LS_DASH_TRIPLE_DOTTED.

void dkfigw_set_line_width ( dk_fig_writer_t fwp,
short  lw 
)

Set line width for all following objects.

Parameters:
fwp Writer structure.
lw Line width in Fig linewidth units (1/80 inch).

void dkfigw_set_pen_color ( dk_fig_writer_t fwp,
short  col 
)

Set pen color for all following objects.

Parameters:
fwp Writer structure.
col Color cell number (0 to 31 for predefined colors, 32 and above for self-defined colors).

void dkfigw_set_pen_color_by_name ( dk_fig_writer_t fwp,
char *  n 
)

Set pen color for all following objects by color name.

Parameters:
fwp Writer structure.
n Color name: "black", "blue", "green", "cyan", "red", "magenta", "yellow", "white", "blue.darkest", "blue.dark", "blue.light", "blue.lightest", "green.dark", "green.normal", "green.light", "cyan.dark", "cyan.normal", "cyan.light", "red.dark", "red.normal", "red.light", "magenta.dark", "magenta.normal", "magenta.light", "brown.dark", "brown.normal", "brown.light", "pink.darkest", "pink.dark", "pink.light", "pink.lightest" or "gold".
fwp Writer structure.
n Color name: One of the names in color_names.

void dkfigw_set_suggested_arrow_settings ( dk_fig_writer_t fwp  ) 

Initial settings for arrowheads.

Parameters:
fwp Fig structure.

void dkfigw_set_text_align ( dk_fig_writer_t fwp,
unsigned char  tal 
)

Set text alignment for all following texts added.

Parameters:
fwp Writer structure.
tal Alignment (FIG_SUB_TEXT_xxx).

void dkfigw_set_text_latexfont ( dk_fig_writer_t fwp,
unsigned char  fno 
)

Set LaTeX font index for all following texts added.

Parameters:
fwp Writer structure.
fno Font index (0=default, 1=roman, 2=bold, 3=italic, 4=sans-serif, 5=typewriter).

void dkfigw_set_text_psfont ( dk_fig_writer_t fwp,
unsigned char  fno 
)

Set PS font index for all following texts added.

Parameters:
fwp Writer structure.
fno Font index (0 to 34).

void dkfigw_set_text_psfont_by_name ( dk_fig_writer_t fwp,
char *  n 
)

Set PS font for all following texts added, choose font by name.

Parameters:
fwp Writer structure.
n Font name: "Times Roman", "Times Italic", "Times Bold", "Times Bold Italic", "Avantgarde Book", "Avantgarde Book Oblique", "Avantgarde Demi", "Avantgarde Demi Oblique", "Bookman Light", "Bookman Light Italic", "Bookman Demi", "Bookman Demi Italic", "Courier", "Courier Oblique", "Courier Bold", "Courier Bold Oblique", "Helvetica", "Helvetica Oblique", "Helvetica Bold", "Helvetica Bold Oblique", "Helvetica Narrow", "Helvetica Narrow Oblique", "Helvetica Narrow Bold", "Helvetica Narrow Bold Oblique", "New Century Schoolbook Roman", "New Century Schoolbook Italic", "New Century Schoolbook Bold", "New Century Schoolbook Bold Italic", "Palatino Roman", "Palatino Italic", "Palatino Bold", "Palatino Bold Italic", "Symbol", "Zapf Chancery Medium Italic" or "Zapf Dingbats".
fwp Writer structure.
n Font name: one of the strings in font_names.

void dkfigw_set_text_rigid ( dk_fig_writer_t fwp,
int  fl 
)

Set/reset rigid flag for all following texts added.

Parameters:
fwp Writer structure.
fl Set (non-zero) or reset (0) flag.

void dkfigw_set_text_size ( dk_fig_writer_t fwp,
double  fsz 
)

Set text size fo all following texts added.

Parameters:
fwp Writer structure.
fsz Font size in pt.

void dkfigw_set_text_special ( dk_fig_writer_t fwp,
int  fl 
)

Set/reset special flag for all following texts added.

Parameters:
fwp Writer structure.
fl Set (non-zero) or reset (0) flag.

void dkfigw_set_transparent_color ( dk_fig_writer_t fwp,
short  col 
)

Set transparent color.

Parameters:
fwp Writer structure.
col Index of the transparent color.

void dkfigw_set_utf8 ( dk_fig_writer_t fwp,
int  fl 
)

Enable/disable usage of UTF-8.

When creating a new Fig writer structure the LANG environment variable is inspected to set the default value.

Parameters:
fwp Fig writer structure.
fl Flag to enable/disable.

void dkfigw_set_verbose ( dk_fig_writer_t fwp,
int  fl 
)

Enable/disable verbose mode.

In verbose mode the module prints warnings to stderr for illegal names in dkfigw_set_xxx_by_name() functions and suggests correct value. Verbose mode is turned off by default for new Fig writer structures.

Parameters:
fwp Fig writer structure.
fl Flag to enable/disable.

unsigned long dkfigw_spline_point ( dk_fig_writer_t fwp,
double  x,
double  y,
double  s 
)

Add point to current spline object.

Parameters:
fwp Writer structure.
x X position.
y Y position.
s Approximation/interpolation parameter.
Returns:
Positive number on success, 0 on error.

unsigned long dkfigw_text ( dk_fig_writer_t fwp,
double  x,
double  y,
char *  t,
double  a 
)

Add text.

Parameters:
fwp Writer structure.
x X position.
y Y position.
t Text.
a Rotation in radians.
Returns:
Positive number on success, 0 on error.

int dkfigw_write ( dk_stream_t os,
dk_fig_writer_t fwp 
)

Write Fig file to stream.

Parameters:
os Output stream.
fwp Fig structure.
Returns:
1 on success, 0 on error.


Generated on Mon Jan 4 15:50:56 2010 for dklibs by  doxygen 1.5.8