/* Copyright (C) 2018-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: wxdobj.ctr */ /** @file wxdobj.c The wxdobj module. */ #line 71 "wxdobj.ctr" #include "wxd2lat.h" #line 77 "wxdobj.ctr" void wxd2lat_object_delete(wxd_object_t *obj) { #line 84 "wxdobj.ctr" if (NULL != obj) { #line 85 "wxdobj.ctr" switch (obj->ot) { case WXD_OT_TEXT : { #line 87 "wxdobj.ctr" #line 88 "wxdobj.ctr" #line 89 "wxdobj.ctr" #line 90 "wxdobj.ctr" #line 91 "wxdobj.ctr" #line 92 "wxdobj.ctr" #line 93 "wxdobj.ctr" #line 94 "wxdobj.ctr" dk4mem_release(obj->det.t.t); dk4mem_release(obj->det.t.tsc); } break; case WXD_OT_POLYLINE : { #line 98 "wxdobj.ctr" #if TRACE_DEBUG #line 100 "wxdobj.ctr" { uint16_t i; for (i = 0; i < obj->det.p.n; i++) { #line 104 "wxdobj.ctr" #line 105 "wxdobj.ctr" } } #endif dk4mem_release(obj->det.p.p); } break; case WXD_OT_O_SPLINE : { #line 111 "wxdobj.ctr" #if TRACE_DEBUG #line 113 "wxdobj.ctr" { uint16_t i; for (i = 0; i < obj->det.s.n; i++) { #line 117 "wxdobj.ctr" #line 118 "wxdobj.ctr" #line 119 "wxdobj.ctr" } } #endif dk4mem_release(obj->det.s.p); dk4mem_release(obj->det.s.sl); } break; case WXD_OT_O_ARC : { #line 126 "wxdobj.ctr" /* No dynamic components */ #if TRACE_DEBUG #line 129 "wxdobj.ctr" #line 130 "wxdobj.ctr" #line 131 "wxdobj.ctr" #line 132 "wxdobj.ctr" #line 133 "wxdobj.ctr" #endif } break; case WXD_OT_POLYGON : { #line 136 "wxdobj.ctr" #if TRACE_DEBUG #line 138 "wxdobj.ctr" { uint16_t i; for (i = 0; i < obj->det.p.n; i++) { #line 142 "wxdobj.ctr" #line 143 "wxdobj.ctr" } } #endif dk4mem_release(obj->det.p.p); } break; case WXD_OT_C_SPLINE : { #line 149 "wxdobj.ctr" #if TRACE_DEBUG #line 151 "wxdobj.ctr" { uint16_t i; for (i = 0; i < obj->det.s.n; i++) { #line 155 "wxdobj.ctr" #line 156 "wxdobj.ctr" #line 157 "wxdobj.ctr" } } #endif dk4mem_release(obj->det.s.p); dk4mem_release(obj->det.s.sl); } break; case WXD_OT_C_ARC : { #line 164 "wxdobj.ctr" #if TRACE_DEBUG #line 166 "wxdobj.ctr" #line 167 "wxdobj.ctr" #line 168 "wxdobj.ctr" #line 169 "wxdobj.ctr" #line 170 "wxdobj.ctr" #endif /* No dynamic components */ } break; case WXD_OT_CIRCLE : { #line 174 "wxdobj.ctr" #if TRACE_DEBUG #line 176 "wxdobj.ctr" #line 177 "wxdobj.ctr" #line 178 "wxdobj.ctr" #endif /* No dynamic components */ } break; case WXD_OT_ELLIPSE : { #line 182 "wxdobj.ctr" #if TRACE_DEBUG #line 184 "wxdobj.ctr" #line 185 "wxdobj.ctr" #line 186 "wxdobj.ctr" #line 187 "wxdobj.ctr" #line 188 "wxdobj.ctr" #endif /* No dynamic components */ } break; case WXD_OT_BOX : { #line 192 "wxdobj.ctr" #if TRACE_DEBUG #line 194 "wxdobj.ctr" #line 195 "wxdobj.ctr" #line 196 "wxdobj.ctr" #line 197 "wxdobj.ctr" #endif /* No dynamic components */ } break; case WXD_OT_IMAGE : { #line 201 "wxdobj.ctr" #if TRACE_DEBUG #line 203 "wxdobj.ctr" #line 204 "wxdobj.ctr" #line 205 "wxdobj.ctr" #line 206 "wxdobj.ctr" #line 207 "wxdobj.ctr" #line 208 "wxdobj.ctr" #endif dk4mem_release(obj->det.i.fn); } break; case WXD_OT_DOT_FILLED : { #line 212 "wxdobj.ctr" #if TRACE_DEBUG #line 214 "wxdobj.ctr" #line 215 "wxdobj.ctr" #line 216 "wxdobj.ctr" #line 217 "wxdobj.ctr" #endif /* No dynamic components */ } break; case WXD_OT_DOT_WHITE : { #line 221 "wxdobj.ctr" #if TRACE_DEBUG #line 223 "wxdobj.ctr" #line 224 "wxdobj.ctr" #line 225 "wxdobj.ctr" #line 226 "wxdobj.ctr" #endif /* No dynamic components */ } break; } dk4mem_free(obj); } #line 233 "wxdobj.ctr" } void wxd2lat_object_initialize(wxd_object_t *optr, int8_t ot) { if (NULL != optr) { DK4_MEMRES(optr,sizeof(wxd_object_t)); optr->lay = 0; optr->lw = 0.0; optr->fc[0] = optr->fc[1] = optr->fc[2] = 255U; optr->sc[0] = optr->sc[1] = optr->sc[2] = 0U; if (WXD_OC_CLOSED == wxd2lat_object_category(ot)) { optr->csfs = WXD_FS_PURE; } else { optr->csfs = WXD_LC_BUTTED; } optr->ls = WXD_LS_SOLID; optr->sl = 1U; optr->js = WXD_LJ_MITERED; optr->ml = 8U; #line 255 "wxdobj.ctr" optr->af.type = 0U; optr->af.length = 0U; optr->af.width = 0U; optr->af.offset = 0.0; optr->af.cut = 0.0; optr->af.cuttol = 0.0; optr->ab.type = 0U; optr->ab.length = 0U; optr->ab.width = 0U; optr->ab.offset = 0.0; optr->ab.cut = 0.0; optr->ab.cuttol = 0.0; optr->ot = ot; switch (ot) { case WXD_OT_GROUP_BEGIN : { /* Empty by intension */ } break; case WXD_OT_TEXT : { optr->det.t.t = NULL; optr->det.t.tsc = NULL; optr->det.t.a = 0.0; optr->det.t.x = 0.0; optr->det.t.y = 0.0; optr->det.t.fsz = 0.0; optr->det.t.find = 0U; optr->det.t.al = 0U; optr->det.t.fl = 0U; } break; case WXD_OT_POLYLINE : case WXD_OT_POLYGON : { optr->det.p.p = NULL; optr->det.p.n = 0U; } break; case WXD_OT_O_SPLINE : case WXD_OT_C_SPLINE : { optr->det.s.p = NULL; optr->det.s.sl = NULL; optr->det.s.suml = -1.0; optr->det.s.n = 0U; optr->det.s.ts = 0.0; optr->det.s.te = 0.0; } break; case WXD_OT_O_ARC : case WXD_OT_C_ARC : { optr->det.a.a = 0.0; optr->det.a.b = 0.0; optr->det.a.x = 0L; optr->det.a.y = 0L; optr->det.a.r = 0UL; } break; case WXD_OT_CIRCLE : case WXD_OT_ELLIPSE : { optr->det.e.a = 0.0; optr->det.e.x = 0.0; optr->det.e.y = 0.0; optr->det.e.rx = 0.0; optr->det.e.ry = 0.0; } break; case WXD_OT_BOX : { optr->det.b.xl = 0.0; optr->det.b.xr = 0.0; optr->det.b.yb = 0.0; optr->det.b.yt = 0.0; optr->det.b.r = -1.0; } break; case WXD_OT_IMAGE : { optr->det.i.fn = NULL; optr->det.i.x = 0.0; optr->det.i.y = 0.0; optr->det.i.w = 0.0; optr->det.i.h = 0.0; optr->det.i.fl = 0U; optr->det.i.r2g = -1L; } break; } } } wxd_object_t * wxd2lat_object_new(int8_t ot) { wxd_object_t *back = NULL; back = dk4mem_new(wxd_object_t,1,NULL); if (NULL != back) { wxd2lat_object_initialize(back, ot); } return back; } double wxd2lat_object_linewidth( wxd_object_t *pobj, wxd_drawing_t *pdrw, wxd2lat_job_t *pjob ) { double back = 0.45; if ((NULL != pjob) && (0.0 < pjob->baselw)) { back = pjob->baselw; } else { if ( (NULL != pdrw) && (0.0 < pdrw->baselw) ) { back = pdrw->baselw; } } back = back * pobj->lw; return back; } /* vim: set ai sw=4 ts=4 : */