glui32 win_graphics_draw_picture(window_graphics_t *dwin, glui32 image, glsi32 xpos, glsi32 ypos, int scale, glui32 imagewidth, glui32 imageheight) { picture_t *pic = picture_find(image); if (!pic) { return FALSE; } if (!scale) { imagewidth = pic->width; imageheight = pic->height; } if (dwin->world) { picture_draw(pic, dwin->world, xpos, ypos, imagewidth, imageheight, NULL); dirty_rect(&dwin->dirtyul, &dwin->dirtylr, xpos, ypos, imagewidth, imageheight); } else { picture_draw(pic, xiowin, dwin->bbox.x+xpos, dwin->bbox.y+ypos, imagewidth, imageheight, NULL); } picture_release(pic); return TRUE; }
void draw_logo(struct screen* display){ #ifdef HAVE_LCD_COLOR if(display->is_color){ display->set_foreground(LCD_BLACK); display->set_background(LCD_RGBPACK(180,200,230)); } #endif const struct picture* logo = &(logos[display->screen_type]); display->clear_display(); picture_draw(display, logo, 0, 0); }