vte r2250 - in trunk: . src
- From: behdad svn gnome org
- To: svn-commits-list gnome org
- Subject: vte r2250 - in trunk: . src
- Date: Mon, 1 Dec 2008 03:46:11 +0000 (UTC)
Author: behdad
Date: Mon Dec 1 03:46:11 2008
New Revision: 2250
URL: http://svn.gnome.org/viewvc/vte?rev=2250&view=rev
Log:
2008-11-30 Behdad Esfahbod <behdad gnome org>
* src/vte-private.h:
* src/vte.c:
* src/vteseq.c (_vte_terminal_scroll_text),
(vte_sequence_handler_scroll_down),
(vte_sequence_handler_scroll_up):
More code shufflling.
Modified:
trunk/ChangeLog
trunk/src/vte-private.h
trunk/src/vte.c
trunk/src/vteseq.c
Modified: trunk/src/vte-private.h
==============================================================================
--- trunk/src/vte-private.h (original)
+++ trunk/src/vte-private.h Mon Dec 1 03:46:11 2008
@@ -439,8 +439,6 @@
gboolean _vte_terminal_insert_char(VteTerminal *terminal, gunichar c,
gboolean force_insert_mode,
gboolean invalidate_cells);
-void _vte_terminal_scroll (VteTerminal *terminal,
- int scroll_amount);
void _vte_terminal_scroll_region(VteTerminal *terminal,
long row, glong count, glong delta);
void _vte_terminal_set_default_attributes(VteTerminal *terminal);
Modified: trunk/src/vte.c
==============================================================================
--- trunk/src/vte.c (original)
+++ trunk/src/vte.c Mon Dec 1 03:46:11 2008
@@ -589,58 +589,6 @@
}
}
-/* Scroll the text, but don't move the cursor. Negative = up, positive = down. */
-void
-_vte_terminal_scroll (VteTerminal *terminal, int scroll_amount)
-{
- VteRowData *row, *old_row;
- long start, end, i;
- VteScreen *screen;
-
- screen = terminal->pvt->screen;
-
- if (screen->scrolling_restricted) {
- start = screen->insert_delta + screen->scrolling_region.start;
- end = screen->insert_delta + screen->scrolling_region.end;
- } else {
- start = screen->insert_delta;
- end = start + terminal->row_count - 1;
- }
-
- old_row = terminal->pvt->free_row;
- while (_vte_ring_next(screen->row_data) <= end) {
- if (old_row) {
- row = _vte_reset_row_data (terminal, old_row, FALSE);
- } else {
- row = _vte_new_row_data_sized(terminal, FALSE);
- }
- old_row = _vte_ring_append(terminal->pvt->screen->row_data, row);
- }
- terminal->pvt->free_row = old_row;
- if (scroll_amount > 0) {
- for (i = 0; i < scroll_amount; i++) {
- vte_remove_line_internal(terminal, end);
- vte_insert_line_internal(terminal, start);
- }
- } else {
- for (i = 0; i < -scroll_amount; i++) {
- vte_remove_line_internal(terminal, start);
- vte_insert_line_internal(terminal, end);
- }
- }
-
- /* Update the display. */
- _vte_terminal_scroll_region(terminal, start, end - start + 1,
- scroll_amount);
-
- /* Adjust the scrollbars if necessary. */
- _vte_terminal_adjust_adjustments(terminal);
-
- /* We've modified the display. Make a note of it. */
- terminal->pvt->text_inserted_flag = TRUE;
- terminal->pvt->text_deleted_flag = TRUE;
-}
-
/* Scroll a rectangular region up or down by a fixed number of lines,
* negative = up, positive = down. */
Modified: trunk/src/vteseq.c
==============================================================================
--- trunk/src/vteseq.c (original)
+++ trunk/src/vteseq.c Mon Dec 1 03:46:11 2008
@@ -337,6 +337,58 @@
terminal->pvt->text_deleted_flag = TRUE;
}
+/* Scroll the text, but don't move the cursor. Negative = up, positive = down. */
+static void
+_vte_terminal_scroll_text (VteTerminal *terminal, int scroll_amount)
+{
+ VteRowData *row, *old_row;
+ long start, end, i;
+ VteScreen *screen;
+
+ screen = terminal->pvt->screen;
+
+ if (screen->scrolling_restricted) {
+ start = screen->insert_delta + screen->scrolling_region.start;
+ end = screen->insert_delta + screen->scrolling_region.end;
+ } else {
+ start = screen->insert_delta;
+ end = start + terminal->row_count - 1;
+ }
+
+ old_row = terminal->pvt->free_row;
+ while (_vte_ring_next(screen->row_data) <= end) {
+ if (old_row) {
+ row = _vte_reset_row_data (terminal, old_row, FALSE);
+ } else {
+ row = _vte_new_row_data_sized(terminal, FALSE);
+ }
+ old_row = _vte_ring_append(terminal->pvt->screen->row_data, row);
+ }
+ terminal->pvt->free_row = old_row;
+ if (scroll_amount > 0) {
+ for (i = 0; i < scroll_amount; i++) {
+ vte_remove_line_internal(terminal, end);
+ vte_insert_line_internal(terminal, start);
+ }
+ } else {
+ for (i = 0; i < -scroll_amount; i++) {
+ vte_remove_line_internal(terminal, start);
+ vte_insert_line_internal(terminal, end);
+ }
+ }
+
+ /* Update the display. */
+ _vte_terminal_scroll_region(terminal, start, end - start + 1,
+ scroll_amount);
+
+ /* Adjust the scrollbars if necessary. */
+ _vte_terminal_adjust_adjustments(terminal);
+
+ /* We've modified the display. Make a note of it. */
+ terminal->pvt->text_inserted_flag = TRUE;
+ terminal->pvt->text_deleted_flag = TRUE;
+}
+
@@ -2100,7 +2152,7 @@
}
}
- _vte_terminal_scroll (terminal, val);
+ _vte_terminal_scroll_text (terminal, val);
return FALSE;
}
@@ -2122,7 +2174,7 @@
}
}
- _vte_terminal_scroll (terminal, -val);
+ _vte_terminal_scroll_text (terminal, -val);
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]