void gui_window_scroll_down (struct t_gui_window *window) { struct t_gui_line *ptr_line; int line_pos; if (!gui_ok) return; if (window->scroll->start_line) { gui_chat_calculate_line_diff (window, &window->scroll->start_line, &window->scroll->start_line_pos, CONFIG_INTEGER(config_look_scroll_amount)); /* check if we can display all */ ptr_line = window->scroll->start_line; line_pos = window->scroll->start_line_pos; gui_chat_calculate_line_diff (window, &ptr_line, &line_pos, window->win_chat_height - 1); if (!ptr_line) { window->scroll->start_line = NULL; window->scroll->start_line_pos = 0; } gui_chat_draw (window->buffer, 0); } }
void gui_window_scroll_bottom (struct t_gui_window *window) { if (!gui_ok) return; if (window->scroll->start_line) { window->scroll->start_line = NULL; window->scroll->start_line_pos = 0; gui_chat_draw (window->buffer, 0); } }
void gui_window_scroll_top (struct t_gui_window *window) { if (!gui_ok) return; if (!window->scroll->first_line_displayed) { window->scroll->start_line = window->buffer->lines->first_line; window->scroll->start_line_pos = 0; gui_chat_draw (window->buffer, 0); } }
void gui_window_page_up (struct t_gui_window *window) { if (!gui_ok) return; if (!window->scroll->first_line_displayed) { gui_chat_calculate_line_diff (window, &window->scroll->start_line, &window->scroll->start_line_pos, (window->scroll->start_line) ? (-1) * (window->win_chat_height - 1) : (-1) * ((window->win_chat_height - 1) * 2)); gui_chat_draw (window->buffer, 0); } }
void gui_window_scroll_up (struct t_gui_window *window) { if (!gui_ok) return; if (!window->scroll->first_line_displayed) { gui_chat_calculate_line_diff (window, &window->scroll->start_line, &window->scroll->start_line_pos, (window->scroll->start_line) ? (-1) * CONFIG_INTEGER(config_look_scroll_amount) : (-1) * ( (window->win_chat_height - 1) + CONFIG_INTEGER(config_look_scroll_amount))); gui_chat_draw (window->buffer, 0); } }
void gui_main_refreshs () { struct t_gui_window *ptr_win; struct t_gui_buffer *ptr_buffer; struct t_gui_bar *ptr_bar; /* refresh color buffer if needed */ if (gui_color_buffer_refresh_needed) { gui_color_buffer_display (); gui_color_buffer_refresh_needed = 0; } /* compute max length for prefix/buffer if needed */ for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer) { /* compute buffer/prefix max length for own_lines */ if (ptr_buffer->own_lines) { if (ptr_buffer->own_lines->buffer_max_length_refresh) { gui_line_compute_buffer_max_length (ptr_buffer, ptr_buffer->own_lines); } if (ptr_buffer->own_lines->prefix_max_length_refresh) gui_line_compute_prefix_max_length (ptr_buffer->own_lines); } /* compute buffer/prefix max length for mixed_lines */ if (ptr_buffer->mixed_lines) { if (ptr_buffer->mixed_lines->buffer_max_length_refresh) { gui_line_compute_buffer_max_length (ptr_buffer, ptr_buffer->mixed_lines); } if (ptr_buffer->mixed_lines->prefix_max_length_refresh) gui_line_compute_prefix_max_length (ptr_buffer->mixed_lines); } } /* refresh window if needed */ if (gui_window_refresh_needed) { gui_window_refresh_screen ((gui_window_refresh_needed > 1) ? 1 : 0); gui_window_refresh_needed = 0; } /* refresh bars if needed */ for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar) { if (ptr_bar->bar_refresh_needed) gui_bar_draw (ptr_bar); } /* refresh window if needed (if asked during refresh of bars) */ if (gui_window_refresh_needed) { gui_window_refresh_screen ((gui_window_refresh_needed > 1) ? 1 : 0); gui_window_refresh_needed = 0; } /* refresh windows if needed */ for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) { if (ptr_win->refresh_needed) { gui_window_switch_to_buffer (ptr_win, ptr_win->buffer, 0); gui_chat_draw (ptr_win->buffer, 1); ptr_win->refresh_needed = 0; } } /* refresh chat buffers if needed */ for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer) { if (ptr_buffer->chat_refresh_needed) { gui_chat_draw (ptr_buffer, (ptr_buffer->chat_refresh_needed) > 1 ? 1 : 0); } } if (!gui_window_bare_display) { /* refresh bars if needed */ for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar) { if (ptr_bar->bar_refresh_needed) { gui_bar_draw (ptr_bar); } } /* move cursor (for cursor mode) */ if (gui_cursor_mode) gui_window_move_cursor (); } }
void gui_main_refreshs () { struct t_gui_window *ptr_win; struct t_gui_buffer *ptr_buffer; struct t_gui_bar *ptr_bar; /* refresh color buffer if needed */ if (gui_color_buffer_refresh_needed) { gui_color_buffer_display (); gui_color_buffer_refresh_needed = 0; } /* refresh window if needed */ if (gui_window_refresh_needed) { gui_window_refresh_screen ((gui_window_refresh_needed > 1) ? 1 : 0); gui_window_refresh_needed = 0; } /* refresh bars if needed */ for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar) { if (ptr_bar->bar_refresh_needed) { gui_bar_draw (ptr_bar); } } /* refresh windows if needed */ for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) { if (ptr_win->refresh_needed) { gui_window_switch_to_buffer (ptr_win, ptr_win->buffer, 0); gui_window_redraw_buffer (ptr_win->buffer); ptr_win->refresh_needed = 0; } } /* refresh chat buffers if needed */ for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer) { if (ptr_buffer->chat_refresh_needed) { gui_chat_draw (ptr_buffer, (ptr_buffer->chat_refresh_needed) > 1 ? 1 : 0); } } /* refresh bars if needed */ for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar) { if (ptr_bar->bar_refresh_needed) { gui_bar_draw (ptr_bar); } } /* move cursor (for cursor mode) */ if (gui_cursor_mode) gui_window_move_cursor (); }