void ft_button_draw_all(s_drawing *drawing, s_event *event, s_button *buttons) { int i; char tmp[1024]; for (i = 0; i < BUTTON_LAST; ++i) { s_rect *pos = &buttons[i].pos; /* bg */ if (ft_button_is_vector_in_rect(pos, &event->mousePosPxl)) rectfill(drawing->g_page, pos->x, pos->y, pos->x+pos->width, pos->y+pos->height, buttons[i].colorBackgroundHover); else rectfill(drawing->g_page, pos->x, pos->y, pos->x+pos->width, pos->y+pos->height, buttons[i].colorBackgroundDefault); rect(drawing->g_page, pos->x, pos->y, pos->x+pos->width, pos->y+pos->height, makecol(128, 128, 128)); /* text */ textout_centre_ex(drawing->g_page, font, buttons[i].text, pos->x+pos->width/2, pos->y+pos->height/2-3, makecol(0, 0, 0), -1); /* selected */ if (drawing->actionType == buttons[i].form) ft_allegro_line(drawing->g_page, drawing, pos->x+10, pos->y+35, pos->x+90, pos->y+35, makecol(128, 128, 128), FLAG_FAT_LINE); } /* current color components */ sprintf(tmp, "Rouge : %d", drawing->color.r); textout_right_ex(drawing->g_page, font, tmp, 730, 65-3, makecol(0, 0, 0), -1); sprintf(tmp, "Vert : %d", drawing->color.g); textout_right_ex(drawing->g_page, font, tmp, 730, 95-3, makecol(0, 0, 0), -1); sprintf(tmp, "Bleu : %d", drawing->color.b); textout_right_ex(drawing->g_page, font, tmp, 730, 125-3, makecol(0, 0, 0), -1); }
void draw_text_r(BITMAP *bmp, int x, int y, int color, const char *format, ...) { char buf[512]; va_list ap; va_start(ap, format); uvszprintf(buf, sizeof(buf), format, ap); va_end(ap); textout_right_ex(bmp, gamefont, buf, x, y+1, blend_color(color, makecol(0, 0, 0), 0.5), -1); textout_right_ex(bmp, gamefont, buf, x, y, color, -1); }