#include "P_Square.h" #include "PixelCallback.h" #include #include void Square_callback(Square* self, struct PixelContext* fc) { if (0 <= fc->x && fc->x <= self->width && 0 <= fc->y && fc->y <= self->height) { ARGB_merge(&fc->pixel, self->color); } } PixelCallback* Square_setup(Square obj) { PixelCallback* pca = malloc(sizeof(struct PixelCallback)); pca->callback = (PixelCallback_callback)Square_callback; pca->callback_self = malloc(sizeof(obj)); memcpy(pca->callback_self, &obj, sizeof(obj)); return pca; }