typedef struct { int w __attribute__((packed)); int h __attribute__((packed)); char *bmp __attribute__((packed)); char *alpha __attribute__((packed)); } GB_BMP __attribute__((packed)); void gb_pixel_set(GB_BMP *b, int x, int y, unsigned c); int gb_pixel_get(GB_BMP *b, int x, int y, unsigned *c); void gb_line(GB_BMP *b, int x1, int y1, int x2, int y2, unsigned c); void gb_rect(GB_BMP *b, int x, int y, int w, int h, unsigned c); void gb_bar(GB_BMP *b, int x, int y, int w, int h, unsigned c); void gb_circle(GB_BMP *b, int x, int y, int r, unsigned c); void gb_image_set(GB_BMP *b_dest, int x_d, int y_d, GB_BMP *b_src, int x_s, int y_s, int w, int h); void gb_image_set_t(GB_BMP *b_dest, int x_d, int y_d, GB_BMP *b_src, int x_s, int y_s, int w, int h, unsigned c);