vte r2250 - in trunk: . src



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]