/* Copyright (C) 2017-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: dk4bb32.ctr */ #ifndef DK4BB32_H_INCLUDED /** Avoid multiple inclusions. */ #define DK4BB32_H_INCLUDED 1 #line 9 "dk4bb32.ctr" /** @file dk4bb32.h Bounding box for int32_t coordinates. */ #ifndef DK4CONF_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4conf.h" #else #include #endif #endif #ifndef DK4TYPES_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4types.h" #else #include #endif #endif /** Bounding box for int32_t coordinates. */ typedef struct { int32_t xmin; /**< Minimum x value. */ int32_t xmax; /**< Maximum x value. */ int32_t ymin; /**< Minimum y value. */ int32_t ymax; /**< Maximum y value. */ unsigned char hx; /**< Flag: Have x values. */ unsigned char hy; /**< Flag: Have y values. */ } dk4_bb32_t; #ifdef __cplusplus extern "C" { #endif /** Initialize bounding box structure. @param bbptr Structure to initialize. */ void dk4bb32_init(dk4_bb32_t *bbptr); /** Add x value to bounding box. @param bbptr Structure to modify. @param x Value to add. */ void dk4bb32_add_x(dk4_bb32_t *bbptr, int32_t x); /** Add y value to bounding box. @param bbptr Structure to modify. @param y Value to add. */ void dk4bb32_add_y(dk4_bb32_t *bbptr, int32_t y); /** Add x and y value of a point to bounding box. @param bbptr Structure to modify. @param x X value to add. @param y Y value to add. */ void dk4bb32_add_point(dk4_bb32_t *bbptr, int32_t x, int32_t y); /** Check whether a bounding box contains x information. @param bbptr Structure to check. @return 1 if x information available, 0 otherwise. */ int dk4bb32_have_x(dk4_bb32_t const *bbptr); /** Check whether a bounding box contains y information. @param bbptr Structure to check. @return 1 if y information available, 0 otherwise. */ int dk4bb32_have_y(dk4_bb32_t const *bbptr); /** Get minimum x value from bounding box structure. @param bbptr Structure to use. @return Minimum x value if x information available, random value otherwise. */ int32_t dk4bb32_get_x_min(dk4_bb32_t const *bbptr); /** Get maximum x value from bounding box structure. @param bbptr Structure to use. @return Maximum x value if x information available, random value otherwise. */ int32_t dk4bb32_get_x_max(dk4_bb32_t const *bbptr); /** Get minimum y value from bounding box structure. @param bbptr Structure to use. @return Minimum y value if y information available, random value otherwise. */ int32_t dk4bb32_get_y_min(dk4_bb32_t const *bbptr); /** Get maximum y value from bounding box structure. @param bbptr Structure to use. @return Maximum y value if y information available, random value otherwise. */ int32_t dk4bb32_get_y_max(dk4_bb32_t const *bbptr); #ifdef __cplusplus } #endif /* vim: set ai sw=4 ts=4 : */ #endif