Files
DarthMooMancer 54a2d44a53 REFACTOR: Expanded many parameter names for functions.
DOCS: Corrected comments to match new parameters.
CHORE: Moved some variable definition to top of function call.
2026-09-12 05:15:16 -04:00

44 lines
1.6 KiB
C

#ifndef TRANSFORMATIONS_H
#define TRANSFORMATIONS_H
#include "utils.h"
/**
* @brief Flips image on X-Axis
* @details Creates a new buffer to move pixels to and flips pixels on X-Axis,
* freeing the old buffer at the end.
* @param[in] buf Pointer to original pixel buffer, later freed.
* @param[in] img Loaded PPM image for calculations
* @return unsigned int Pointer to new pixel buffer
* @retval NULL If original buffer is invalid or if new buffer fails to create
* */
unsigned int*
u32_flop(const unsigned int* buf, const int width, const int height);
/**
* @brief Flips image on Y-Axis
* @details Creates a new buffer to move pixels to and flips pixels on Y-Axis,
* freeing the old buffer at the end.
* @param[in] buf Pointer to original pixel buffer, later freed.
* @param[in] img Loaded PPM image for calculations
* @return unsigned int Pointer to new pixel buffer
* @retval NULL If original buffer is invalid or if new buffer fails to create
* */
unsigned int*
u32_flip(const unsigned int* buf, const int width, const int height);
/**
* @brief Rotates image on 90 Clockwise
* @details Creates a new buffer to move pixels to and rotates pixels 90 degrees
* clockwise around center of origin, freeing the old buffer at the end.
* @param[in] buf Pointer to original pixel buffer, later freed.
* @param[in] img Pointer to loaded PPM image for calculations
* @return unsigned int Pointer to new pixel buffer
* @retval NULL If original buffer is invalid, if image pointer is invalid or if
* new buffer fails to create and is invalid
* */
unsigned int*
u32_rotate(const unsigned int* buf, PPM* metadata);
#endif