void ui_button_render(UI_WIDGET *widget) { struct UI_BUTTON_PROPERTIES *p = widget->properties; p->child->render(p->child); d_render_line_draw(p->border, 8); if(p->activated) d_render_line_draw(p->active_border, 4); }
void shape_copy_render(SHAPE_COPY *copy) { if (!copy) return; d_render_line_draw(copy->line, ~0); return; }
void lobby_loop() { static int tick = 0; DARNIT_KEYS keys; int i; struct List *game = lobby_client.client; d_render_tile_blit(config.menu_background, 0, 0, 0); d_render_line_draw(lobby.line, 1); d_text_surface_draw(lobby.list_players); if(lobby.selected_game > 5) { d_render_offset(0, (lobby.selected_game - 5) * d_font_glyph_hs(config.font_std)); } d_text_surface_draw(lobby.list_games); d_render_offset(0, 0); keys = d_keys_get(); d_keys_set(keys); if(!tick) { update_lists(NULL, lobby_client.client); } if(keys.up) { if(lobby.selected_game > 0) lobby.selected_game--; } else if(keys.down) { if(lobby.selected_game < lobby_client.clients) lobby.selected_game++; } if(keys.select) { game_state(GAME_STATE_MENU); return; } if(keys.start) { if(lobby.selected_game == 0) { game_state(GAME_STATE_LOBBY_HOST); } else { for(i = 0; game; i++, game = game->next) { if(i == lobby.selected_game) { config.server.addr = ((struct LobbyHost *) (game->value))->addr; goto join; } } game_state(GAME_STATE_LOBBY_HOST); return; join: game_state(GAME_STATE_LOBBY_JOIN); } } tick++; tick %= 3; }
void ui_pane_render(UI_PANE *pane) { unsigned char r, g, b, a; d_render_tint_get(&r, &g, &b, &a); d_render_tint(pane->background_color.r, pane->background_color.g, pane->background_color.b, pane->background_color.a); d_render_rect_draw(pane->background, 1); d_render_tint(r, g, b, a); d_render_line_draw(pane->border, 4); if(pane->root_widget != NULL) pane->root_widget->render(pane->root_widget); }
void map_draw(int draw_powergrid) { int i; for(i=0; i<map->layers-2; i++) d_tilemap_draw(map->layer[i].tilemap); if(config.alpha) d_render_blend_enable(); d_tilemap_draw(map->layer[map->layers-2].tilemap); d_render_blend_disable(); //d_tilemap_draw(map->layer[map->layers-1].tilemap); d_render_offset(map->cam_x, map->cam_y); if(config.grid) { d_render_tint(18, 18, 18, 255); for(i=0; i<map_grid_chunks; i++) if(map_grid_chunk[i].lines&&map_grid_chunk[i].x+map_grid_chunk[i].w>map->cam_x&&map_grid_chunk[i].x<map->cam_x+platform.screen_w-sidebar_width&&map_grid_chunk[i].y+map_grid_chunk[i].h>map->cam_y&&map_grid_chunk[i].y<map->cam_y+platform.screen_h) d_render_line_draw(map_grid_chunk[i].lines, map_grid_chunk[i].size); d_render_tint(255, 255, 255, 255); } d_tilemap_draw(map->layer[map->layers-1].tilemap); if(powergrid&&(draw_powergrid||config.powergrid)) d_render_line_draw(powergrid, powergrid_lines); map_flare_draw(); if(map_selected.index>-1&&map_selected.building) { int x=map->layer[map->layers-2].tile_w*(map_selected.index%map->layer[map->layers-2].tilemap->w); int y=map->layer[map->layers-2].tile_h*(map_selected.index/map->layer[map->layers-2].tilemap->w); d_render_tint(player_color[map_selected.owner].r, player_color[map_selected.owner].g, player_color[map_selected.owner].b, 255); if(map_selected.circle) d_render_circle_draw(map_selected.circle); d_render_offset(map->cam_x-x, map->cam_y-y); d_render_line_draw(map_selected.border, 4); } d_render_tint(255, 255, 255, 255); d_render_offset(0, 0); }
void map_minimap_render(UI_WIDGET *widget) { //override for imagebox render, to render viewport border on minimap ui_imageview_render(widget); unsigned char r, g, b, a; d_render_tint_get(&r, &g, &b, &a); d_render_tint(255, 255, 255, 255); d_render_line_draw(minimap_viewport, 4); struct MAP_FLARE_LIST *l; for(l=map_flares; l; l=l->next) if(l->index>=20) { d_render_tint(player_color[l->player].r, player_color[l->player].g, player_color[l->player].b, 255); d_render_circle_draw(l->minimap_circle); } d_render_tint(r, g, b, a); }
int main(int argc, char **argv) { int i, j; struct GRAPH *g, *tree=NULL; struct VERTEX *v; struct POINT p; DARNIT_KEYS keys; srand(time(NULL)); d_init("Graphs", "uppg8", NULL); for(i=0; i<256; i++) { circle[i]=d_render_circle_new(32, 1); line[i]=d_render_line_new(1, 1); } for(j=0; j<4; j++) for(i=0; i<7; i++) { p.x=i*100+50;//(rand()%80)*10; p.y=j*100+50;//(rand()%48)*10; v=graph_add_vertex(&graph, p); for(g=graph; g; g=g->next) if(!(rand()%6)) graph_add_edge(v, g->vertex, rand()%100, DIRECTION_DOUBLE); } tree=graph_prim(graph); draw_graph(graph); for(g=graph;;) { keys=d_keys_get(); if(keys.start) { g=g==graph?tree:graph; draw_graph(g); } d_keys_set(keys); d_render_begin(); d_render_tint(0xFF, 0xFF, 0xFF, 0xFF); for(i=0; i<vertices; i++) d_render_circle_draw(circle[i]); for(i=0; i<edges; i++) { d_render_tint(length[i], 0x7F, 0x0, 0xFF); d_render_line_draw(line[i], 1); } d_render_end(); d_loop(); } d_quit(); return 0; }
void map_render() { int i; d_render_offset(camera_x / 1000, 0); for(i=0; i<map.sections; i++) d_render_line_draw(map.line[i], map.lines[i]); for(i=0; i<map.enemies; i++) enemy_render(map.enemy[i]); for(i=0; i<map.powerups; i++) { d_render_tint(powerup_color[map.powerup[i].type].r, powerup_color[map.powerup[i].type].g, powerup_color[map.powerup[i].type].b, 0xFF); if(!map.powerup[i].taken) { d_render_offset(-(map.powerup[i].x) + camera_x / 1000, -(map.powerup[i].y)); shape_copy_render(map.powerup[i].shape); } } d_render_tint(0xFF, 0xFF, 0xFF, 0xFF); d_render_offset(0, 0); }