/* Copyright (C) 2012-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: dk3figbb.ctr */ /** @file dk3figbb.h Header file for the dk3figbb module. */ #ifndef DK3FIGBB_H_INCLUDED /** Avoid multiple inclusions. */ #define DK3FIGBB_H_INCLUDED 1 #line 10 "dk3figbb.ctr" #ifdef __cplusplus extern "C" { #endif /** Calculate distance between a given point and a line through the origin. @param xp X coordinate of given point. @param yp Y coordinate of given point. @param beta Angle of line. @param ec Pointer to error code variable. @return Distance value. */ double dk3figbb_distance_point_line( double xp, double yp, double beta, int *ec ); /** Add ellipse data to bounding box. @param bb Bounding box data to modify. @param elli Details of ellipse to add. @param lw Half line width. @return 1 on success, 0 on error. */ int dk3fig_bb_add_ellipse( dk3_bb_t *bb, dk3_fig_det_ell_t const *elli, double lw ); /** Add arc data to bounding box. @param bb Bounding box data to modify. @param arc Details of arc to add. @param cl Flag: Closed arc. @param lw Half line width. @return 1 on success, 0 on error. */ int dk3fig_bb_add_arc( dk3_bb_t *bb, dk3_fig_det_arc_t const *arc, int cl, double lw ); /** Add polyline data to bounding box. @param bb Bounding box data to modify. @param pol Details of polyline to add. @param lw Half line width. @return 1 on success, 0 on error. */ int dk3fig_bb_add_polyline( dk3_bb_t *bb, dk3_fig_det_pol_t const *pol, double lw ); /** Add spline data to bounding box. @param drw Drawing structure. @param bb Bounding box data to modify. @param spl Details of spline object to add. @param lw Half line width. @param primobj Flag: Primary object (1=object, 0=arrowhead). @param iscl Flag: Closed spline (1=closed, 0=open). @return 1 on success, 0 on error. */ int dk3fig_bb_add_spline( dk3_fig_drawing_t *drw, dk3_bb_t *bb, dk3_fig_det_spl_t const *spl, double lw, int primobj, int iscl ); /** Add text data to bounding box. @param bb Bounding box data to modify. @param txt Details of text object to add. @param res Fig file resolution. @param bbts Flag: Use text size when calculating bounding box. @return 1 on success, 0 on error. */ int dk3fig_bb_add_text( dk3_bb_t *bb, dk3_fig_det_txt_t const *txt, double res, int bbts ); /** Calculate bounding box for half-circle. @param outbb Destination bounding box. @param hci Half-circle details. @param ra Radius around points. @return 1 on success, 0 on error. */ int dk3fig_bb_add_hci( dk3_bb_t *outbb, dk3_fig_det_hci_t const *hci, double ra ); #ifdef __cplusplus } #endif #endif