7 * インターフェースでは、何にどのように書き込むかについて一切感知していない。
8 * この関数では、何にどのように書き込むかについて解決する。
15 * @param extobj ユーザが指定した拡張オブジェクト。
17 void canvas_pixel_writer(const int x, const int y, const uint8_t r, const uint8_t g, const uint8_t b, void *extobj)
19 canvas_t *canvas = (canvas_t *)extobj;
20 bmpcol_t *buffer = canvas->buffer + (canvas->w * y) + x;
29 * インターフェースでは、何からどのように読み込むかについて一切感知していない。
30 * この関数では、何からどのように読み込むかについて解決する。
37 * @param extobj ユーザが指定した拡張オブジェクト。
39 void canvas_pixel_reader(const int x, const int y, uint8_t *r, uint8_t *g, uint8_t *b, void *extobj)
41 canvas_t *canvas = (canvas_t *)extobj;
42 bmpcol_t *buffer = canvas->buffer + (canvas->w * y) + x;
48 void canvas_drawer(const int px, const int py, bool on, void *extobj)
50 canvas_t *canvas = (canvas_t *)extobj;
51 bmpcol_t *buffer = canvas->buffer + (canvas->w * py) + px;
52 buffer->r = on ? 255 : 127;
53 buffer->g = on ? 255 : 129;
54 buffer->b = on ? 255 : 240;