/* round.c */

#include "round.h"

int round_down_int(int a)
{
  if (choices->round) a = a & ~3;
  return a;
}

int round_up_int(int a)
{
  if (choices->round) a = (a + 3) & ~3;
  return a;
}

void round_down_point(wimp_point *point)
{
  point->x = round_down_int(point->x);
  point->y = round_down_int(point->y);
}

void round_up_point(wimp_point *point)
{
  point->x = round_up_int(point->x);
  point->y = round_up_int(point->y);
}

void round_down_box(wimp_rect *box)
{
  round_down_point(&box->min);
  round_down_point(&box->max);
}

void round_up_box(wimp_rect *box)
{
  round_up_point(&box->min);
  round_up_point(&box->max);
}
