/********************************************************************************************
ezwMove.cpp
Jim Millard
for CO311
EZwindows sort visualizations
********************************************************************************************/
#include "ezwMove.h"
#include <ezwin.h>
#include <ray.h>
#include "ezwSort.h"
#include "ezwUtils.h"
extern float baseline; //Bottom edge of all bars
extern float tempX; //horizontal position used when swapped to a "temp" location
void Move(int& from, int& to)
{
to = from;
}
/*********************************************************************************************/
void Move(RaySegment& from, RaySegment& to, const short load)
{
//blank out the old
from.Erase();
//get and store coordinates for height
float holeAX0, holeAY0, holeAX1, holeAY1;
from.GetStartPoint(holeAX0, holeAY0);
from.GetEndPoint(holeAX1, holeAY1);
//get and store coordinates for target horizontal position
float holeBX0, holeBY0, holeBX1, holeBY1;
to.GetStartPoint(holeBX0, holeBY0);
to.GetEndPoint(holeBX1, holeBY1);
//reset location with current height and target location
to.SetPoints(Position(holeBX0, holeAY0), Position(holeBX1, holeAY1));
to.SetColor(from.GetColor());
from.SetColor(Black);
//show the new in its modified position
to.Draw();
DelayMS(load);
}