daemon03's picture
Upload 27 files
7c6501b verified
#include "rotate.h"
// flip the image along the vertical axis
void getWaterImage(qtNode **t)
{
if ((*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL)
{
qtNode *temp;
getWaterImage(&(*t)->topLeft);
getWaterImage(&(*t)->topRight);
getWaterImage(&(*t)->bottomRight);
getWaterImage(&(*t)->bottomLeft);
temp = (*t)->topLeft;
(*t)->topLeft = (*t)->bottomLeft;
(*t)->bottomLeft = temp;
temp = (*t)->topRight;
(*t)->topRight = (*t)->bottomRight;
(*t)->bottomRight = temp;
}
// empty tree condition
else
{
return;
}
}
// flip the image along the horizontal axis
void getMirrorImage(qtNode **node)
{
if ((*node)->topLeft != NULL && (*node)->topLeft != NULL && (*node)->topLeft != NULL && (*node)->topLeft != NULL)
{
qtNode *temp;
getMirrorImage(&(*node)->topLeft);
getMirrorImage(&(*node)->topRight);
getMirrorImage(&(*node)->bottomRight);
getMirrorImage(&(*node)->bottomLeft);
temp = (*node)->topLeft;
(*node)->topLeft = (*node)->topRight;
(*node)->topRight = temp;
temp = (*node)->bottomLeft;
(*node)->bottomLeft = (*node)->bottomRight;
(*node)->bottomRight = temp;
}
// empty tree condition
else
{
return;
}
}
// rotate the image to the left by 90 degrees
void rotateLeft(qtNode **t)
{
if ((*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL)
{
qtNode *temp1;
qtNode *temp2;
qtNode *temp3;
qtNode *temp4;
rotateLeft(&(*t)->topLeft);
rotateLeft(&(*t)->topRight);
rotateLeft(&(*t)->bottomLeft);
rotateLeft(&(*t)->bottomRight);
temp1 = (*t)->topLeft;
temp2 = (*t)->topRight;
temp3 = (*t)->bottomLeft;
temp4 = (*t)->bottomRight;
(*t)->topLeft = temp2;
(*t)->topRight = temp4;
(*t)->bottomLeft = temp1;
(*t)->bottomRight = temp3;
}
else
{
return;
}
}
// rotate the image to the right by 90 degrees
void rotateRight(qtNode **t)
{
if ((*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL)
{
qtNode *temp1;
qtNode *temp2;
qtNode *temp3;
qtNode *temp4;
rotateRight(&(*t)->topLeft);
rotateRight(&(*t)->topRight);
rotateRight(&(*t)->bottomLeft);
rotateRight(&(*t)->bottomRight);
temp1 = (*t)->topLeft;
temp2 = (*t)->topRight;
temp3 = (*t)->bottomLeft;
temp4 = (*t)->bottomRight;
(*t)->topLeft = temp3;
(*t)->topRight = temp1;
(*t)->bottomLeft = temp4;
(*t)->bottomRight = temp2;
}
else
{
return;
}
}
// rotate the image 180 degrees
void rotate180(qtNode **t)
{
if ((*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL && (*t)->topLeft != NULL)
{
qtNode *temp1;
qtNode *temp2;
qtNode *temp3;
qtNode *temp4;
rotate180(&(*t)->topLeft);
rotate180(&(*t)->topRight);
rotate180(&(*t)->bottomLeft);
rotate180(&(*t)->bottomRight);
temp1 = (*t)->topLeft;
temp2 = (*t)->topRight;
temp3 = (*t)->bottomLeft;
temp4 = (*t)->bottomRight;
(*t)->topLeft = temp4;
(*t)->topRight = temp3;
(*t)->bottomLeft = temp2;
(*t)->bottomRight = temp1;
}
else
{
return;
}
}