static gboolean configure_event_cb (GtkWidget *widget, GdkEventConfigure *event, gpointer data) { int tilesize, ts_x, ts_y; int i; /* Compute the new tile size based on the size of the * drawing area, rounded down. */ ts_x = event->width / BOARDWIDTH; ts_y = event->height / BOARDHEIGHT; if (ts_x * BOARDWIDTH > event->width) ts_x--; if (ts_y * BOARDHEIGHT > event->height) ts_y--; tilesize = MIN (ts_x, ts_y); gnibbles_load_pixmap (tilesize); gnibbles_load_logo (tilesize); clutter_actor_set_size (CLUTTER_ACTOR (stage), BOARDWIDTH * tilesize, BOARDWIDTH * tilesize); if (game_running ()) { if (board) { gnibbles_board_rescale (board, tilesize); gnibbles_boni_rescale (boni, tilesize); for (i=0; i<properties->numworms; i++) gnibbles_worm_rescale (worms[i], tilesize); if (warpmanager) gnibbles_warpmanager_rescale (warpmanager, tilesize); } } else { if (logo) hide_logo (); if (board) gnibbles_board_rescale (board, tilesize); render_logo (); } /* But, has the tile size changed? */ if (properties->tilesize == tilesize) { /* We must always re-load the logo. */ gnibbles_load_logo (tilesize); return FALSE; } properties->tilesize = tilesize; gnibbles_properties_set_tile_size (tilesize); return FALSE; }
void iota_gfx_task_user(void) { struct CharacterMatrix matrix; #if DEBUG_TO_SCREEN if (debug_enable) { return; } #endif matrix_clear(&matrix); if (is_master) { render_status(&matrix); } else { render_logo(&matrix); } matrix_update(&display, &matrix); }
void end_game (gboolean show_splash) { if (main_id) { g_source_remove (main_id); main_id = 0; } if (keyboard_id) { g_signal_handler_disconnect (G_OBJECT (stage), keyboard_id); keyboard_id = 0; } if (add_bonus_id) { g_source_remove (add_bonus_id); add_bonus_id = 0; } if (dummy_id) { g_source_remove (dummy_id); dummy_id = 0; } if (restart_id) { g_source_remove (restart_id); restart_id = 0; } if (show_splash) { render_logo (); gtk_action_set_sensitive (new_network_action, TRUE); gtk_action_set_sensitive (pause_action, FALSE); gtk_action_set_sensitive (resume_action, FALSE); gtk_action_set_sensitive (end_game_action, FALSE); gtk_action_set_sensitive (preferences_action, TRUE); } network_gui_update (); paused = 0; }
void oled_task_user(void) { if (is_master) render_status(); else render_logo(); }