blob: 74862f002f6f7e431827c776fdb4ca2f99535e1c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "P_Checker.h"
#include "PixelCallback.h"
#include <stdlib.h>
#include <string.h>
void Checker_callback(Checker* self, struct PixelContext* fc) {
u32 x = fc->x / self->squareSize;
u32 y = fc->y / self->squareSize;
if ((x + y) % 2 == 0) {
ARGB_merge(&fc->pixel, self->colorA);
}
else {
ARGB_merge(&fc->pixel, self->colorB);
}
}
PixelCallback* Checker_setup(Checker obj) {
PixelCallback* pca = malloc(sizeof(struct PixelCallback));
pca->callback = (PixelCallback_callback)Checker_callback;
pca->callback_self = malloc(sizeof(obj));
memcpy(pca->callback_self, &obj, sizeof(obj));
return pca;
}
|