1 /* 2 Copyright (C) 2012-2021, Dirk Krause 3 SPDX-License-Identifier: BSD-3-Clause 4 */ 5 6 /* 7 WARNING: This file was generated by the dkct program (see 8 http://dktools.sourceforge.net/ for details). 9 Changes you make here will be lost if dkct is run again! 10 You should modify the original source and run dkct on it. 11 Original source: f2lud.ctr 12 */ 13 14 /** @file f2lud.h Header file for the f2lud module. 15 */ 16 17 #ifndef F2LUD_H_INCLUDED 18 /** Avoid multiple inclusions. */ 19 #define F2LUD_H_INCLUDED 1 20 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 /** Produce output. 27 @param job Job structure. 28 */ 29 void 30 f2lud_output(f2l_job_t *job); 31 32 /** Issue "newpath" command. 33 @param job Job structure. 34 @param drw Drawing structure. 35 @param obj Current object to process. 36 */ 37 void 38 f2lud_newpath( 39 f2l_job_t *job, 40 dk3_fig_drawing_t *drw, 41 dk3_fig_obj_t *obj 42 ); 43 44 /** Issue "moveto" command. 45 @param job Job structure. 46 @param drw Drawing structure. 47 @param obj Current object to process. 48 @param x New point x in output space. 49 @param y New point y in output space. 50 */ 51 void 52 f2lud_moveto( 53 f2l_job_t *job, 54 dk3_fig_drawing_t *drw, 55 dk3_fig_obj_t *obj, 56 double x, 57 double y 58 ); 59 60 /** Issue "lineto" command. 61 @param job Job structure. 62 @param drw Drawing structure. 63 @param obj Current object to process. 64 @param x New point x in output space. 65 @param y New point y in output space. 66 */ 67 void 68 f2lud_lineto( 69 f2l_job_t *job, 70 dk3_fig_drawing_t *drw, 71 dk3_fig_obj_t *obj, 72 double x, 73 double y 74 ); 75 76 /** Issue "curveto" command. 77 @param job Job structure. 78 @param drw Drawing structure. 79 @param obj Current object to process. 80 @param xcs Control point at start x in output space. 81 @param ycs Control point at start y in output space. 82 @param xce Control point at end x in output space. 83 @param yce Control point at end y in output space. 84 @param xe End point x in output space. 85 @param ye End point y in output space. 86 87 */ 88 void 89 f2lud_curveto( 90 f2l_job_t *job, 91 dk3_fig_drawing_t *drw, 92 dk3_fig_obj_t *obj, 93 double xcs, 94 double ycs, 95 double xce, 96 double yce, 97 double xe, 98 double ye 99 ); 100 101 /** Issue "moveto" command. 102 @param job Job structure. 103 @param drw Drawing structure. 104 @param obj Current object to process. 105 @param x New point x in Fig space. 106 @param y New point y in Fig space. 107 @param ec Pointer to error code variable, may be NULL. 108 */ 109 void 110 f2lud_fig_moveto( 111 f2l_job_t *job, 112 dk3_fig_drawing_t *drw, 113 dk3_fig_obj_t *obj, 114 double x, 115 double y, 116 int *ec 117 ); 118 119 /** Issue "lineto" command. 120 @param job Job structure. 121 @param drw Drawing structure. 122 @param obj Current object to process. 123 @param x New point x in Fig space. 124 @param y New point y in Fig space. 125 @param ec Pointer to error code variable, may be NULL. 126 */ 127 void 128 f2lud_fig_lineto( 129 f2l_job_t *job, 130 dk3_fig_drawing_t *drw, 131 dk3_fig_obj_t *obj, 132 double x, 133 double y, 134 int *ec 135 ); 136 137 /** Issue "curveto" command. 138 @param job Job structure. 139 @param drw Drawing structure. 140 @param obj Current object to process. 141 @param xcs Control point at start x in Fig space. 142 @param ycs Control point at start y in Fig space. 143 @param xce Control point at end x in Fig space. 144 @param yce Control point at end y in Fig space. 145 @param xe End point x in Fig space. 146 @param ye End point y in Fig space. 147 @param ec Pointer to error code variable, may be NULL. 148 */ 149 void 150 f2lud_fig_curveto( 151 f2l_job_t *job, 152 dk3_fig_drawing_t *drw, 153 dk3_fig_obj_t *obj, 154 double xcs, 155 double ycs, 156 double xce, 157 double yce, 158 double xe, 159 double ye, 160 int *ec 161 ); 162 163 /** Issue "closepath" command. 164 @param job Job structure. 165 @param drw Drawing structure. 166 @param obj Current object to process. 167 */ 168 void 169 f2lud_closepath( 170 f2l_job_t *job, 171 dk3_fig_drawing_t *drw, 172 dk3_fig_obj_t *obj 173 ); 174 175 /** Issue "stroke" command. 176 @param job Job structure. 177 @param drw Drawing structure. 178 @param obj Current object to process. 179 */ 180 void 181 f2lud_stroke( 182 f2l_job_t *job, 183 dk3_fig_drawing_t *drw, 184 dk3_fig_obj_t *obj 185 ); 186 187 /** Issue "fill" command. 188 @param job Job structure. 189 @param drw Drawing structure. 190 @param obj Current object to process. 191 */ 192 void 193 f2lud_fill( 194 f2l_job_t *job, 195 dk3_fig_drawing_t *drw, 196 dk3_fig_obj_t *obj 197 ); 198 199 /** Check whether a spline object is an interpolated spline 200 (only s=-1 and/or s=0 points). 201 @param obj Object to check. 202 @return 1 for pure interpolated spline, 0 otherwise. 203 */ 204 int 205 f2lud_is_interpolated_spline(dk3_fig_obj_t *obj); 206 207 #ifdef __cplusplus 208 } 209 #endif 210 211 212 213 214 #endif 215