#include "P_TransformRotate.h" #include "PixelCallback.h" #include #include #include void TransformRotate_callback(TransformRotate* self, struct PixelContext* pc) { u32 xR = pc->x * cos(self->angle) + pc->y * sin(self->angle); u32 yR = - pc->x * sin(self->angle) + pc->y * cos(self->angle); pc->x = xR; pc->y = yR; } PixelCallback* TransformRotate_setup(TransformRotate obj) { PixelCallback* pca = malloc(sizeof(struct PixelCallback)); pca->callback = (PixelCallback_callback)TransformRotate_callback; pca->callback_self = malloc(sizeof(obj)); memcpy(pca->callback_self, &obj, sizeof(obj)); return pca; }