/* 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 */ /** @file dk4bb32.c The dk4bb32 module. */ #line 146 "dk4bb32.ctr" #ifndef DK4BB32_H_INCLUDED #include "dk4bb32.h" #endif #ifndef DK4MEM_H_INCLUDED #include "dk4mem.h" #endif #if DK4_HAVE_ASSERT_H #ifndef ASSERT_H_INCLUDED #include #define ASSERT_H_INCLUDED 1 #endif #endif void dk4bb32_init(dk4_bb32_t *bbptr) { #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { DK4_MEMRES(bbptr,sizeof(dk4_bb32_t)); bbptr->xmin = bbptr->xmax = bbptr->ymin = bbptr->ymax = (int32_t)0L; bbptr->hx = bbptr->hy = 0x00; } } void dk4bb32_add_x(dk4_bb32_t *bbptr, int32_t x) { #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { if (0x00 != bbptr->hx) { if (bbptr->xmin > x) { bbptr->xmin = x; } if (bbptr->xmax < x) { bbptr->xmax = x; } } else { bbptr->xmin = bbptr->xmax = x; bbptr->hx = 0x01; } } } void dk4bb32_add_y(dk4_bb32_t *bbptr, int32_t y) { #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { if (0x00 != bbptr->hy) { if (bbptr->ymin > y) { bbptr->ymin = y; } if (bbptr->ymax < y) { bbptr->ymax = y; } } else { bbptr->ymin = bbptr->ymax = y; bbptr->hy = 0x01; } } } void dk4bb32_add_point(dk4_bb32_t *bbptr, int32_t x, int32_t y) { #if DK4_USE_ASSERT assert(NULL != bbptr); #endif dk4bb32_add_x(bbptr, x); dk4bb32_add_y(bbptr, y); } int dk4bb32_have_x(dk4_bb32_t const *bbptr) { int back = 0; #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { if (0x00 != bbptr->hx) { back = 1; } } return back; } int dk4bb32_have_y(dk4_bb32_t const *bbptr) { int back = 0; #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { if (0x00 != bbptr->hy) { back = 1; } } return back; } int32_t dk4bb32_get_x_min(dk4_bb32_t const *bbptr) { int32_t back = (int32_t)0L; #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { back = bbptr->xmin; } return back; } int32_t dk4bb32_get_x_max(dk4_bb32_t const *bbptr) { int32_t back = (int32_t)0L; #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { back = bbptr->xmax; } return back; } int32_t dk4bb32_get_y_min(dk4_bb32_t const *bbptr) { int32_t back = (int32_t)0L; #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { back = bbptr->ymin; } return back; } int32_t dk4bb32_get_y_max(dk4_bb32_t const *bbptr) { int32_t back = (int32_t)0L; #if DK4_USE_ASSERT assert(NULL != bbptr); #endif if (NULL != bbptr) { back = bbptr->ymax; } return back; } /* vim: set ai sw=4 ts=4 : */