void SwitchToFullscreenModeDx9(HWND hwnd) { video_canvas_t *c; fullscreen_transition = 1; c = video_canvas_for_hwnd(hwnd); video_device_release_dx9(c); statusbar_destroy(hwnd); /* Remove Window stuff that prevents fullscreen display */ old_style = GetWindowLong(hwnd, GWL_STYLE); GetWindowRect(hwnd, &old_rect); SetWindowLong(hwnd, GWL_STYLE, old_style & ~WS_SYSMENU & ~WS_CAPTION); old_menu = GetMenu(hwnd); SetMenu(hwnd, NULL); ShowCursor(FALSE); ui_set_render_window(c, 1); video_device_create_dx9(c, 1); video_canvas_refresh_all(c); fullscreen_active = 1; fullscreen_transition = 0; }
void statusbar_deinit(void) { statusbar_items_deinit(); while (statusbars != NULL) statusbar_destroy(statusbars->data); signal_remove("mainwindow resized", (SIGNAL_FUNC) sig_mainwindow_resized); signal_remove("mainwindow moved", (SIGNAL_FUNC) sig_mainwindow_resized); }
static void sig_mainwindow_destroyed(MAIN_WINDOW_REC *window) { if (window == mainbar_window) { mainbar = NULL; mainbar_window = NULL; } if (window->statusbar != NULL) statusbar_destroy(window->statusbar); }
static void sig_mainwindow_destroyed(MAIN_WINDOW_REC *window) { while (window->statusbars != NULL) { STATUSBAR_REC *bar = window->statusbars->data; bar->parent_window->statusbars = g_slist_remove(bar->parent_window->statusbars, bar); bar->parent_window = NULL; statusbar_destroy(bar); } }
void statusbar_group_destroy(STATUSBAR_GROUP_REC *rec) { statusbar_groups = g_slist_remove(statusbar_groups, rec); while (rec->bars != NULL) statusbar_destroy(rec->bars->data); while (rec->config_bars != NULL) statusbar_config_destroy(rec, rec->config_bars->data); g_free(rec->name); g_free(rec); }
static void statusbars_remove_unvisible(MAIN_WINDOW_REC *window) { GSList *tmp, *next; for (tmp = window->statusbars; tmp != NULL; tmp = next) { STATUSBAR_REC *bar = tmp->data; next = tmp->next; if (!STATUSBAR_IS_VISIBLE(bar->config, window)) statusbar_destroy(bar); } }
static void topicbar_destroy(void) { if (topic_bar == NULL) return; statusbar_destroy(topic_bar); topic_item = NULL; topic_bar = NULL; signal_remove("window changed", (SIGNAL_FUNC) sig_statusbar_topic_redraw); signal_remove("window item changed", (SIGNAL_FUNC) sig_statusbar_topic_redraw); signal_remove("channel topic changed", (SIGNAL_FUNC) sig_statusbar_topic_redraw); signal_remove("query address changed", (SIGNAL_FUNC) sig_statusbar_topic_redraw); }