[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[1966] 2009-02-01 Vesa J?\195?\164?\195?\164skel?\195?\164inen <address@
From: |
Vesa Jääskeläinen |
Subject: |
[1966] 2009-02-01 Vesa J?\195?\164?\195?\164skel?\195?\164inen <address@hidden .fi> |
Date: |
Sun, 01 Feb 2009 09:33:30 +0000 |
Revision: 1966
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1966
Author: chaac
Date: 2009-02-01 09:33:29 +0000 (Sun, 01 Feb 2009)
Log Message:
-----------
2009-02-01 Vesa J?\195?\164?\195?\164skel?\195?\164inen <address@hidden>
Base on patch on bug #24154 created by Tomas Tintera
<address@hidden>.
* video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
Ticket Links:
:-----------
http://savannah.gnu.org/bugs/?24154
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/video/i386/pc/vbe.c
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2009-02-01 09:03:15 UTC (rev 1965)
+++ trunk/grub2/ChangeLog 2009-02-01 09:33:29 UTC (rev 1966)
@@ -1,5 +1,12 @@
2009-02-01 Vesa Jääskeläinen <address@hidden>
+ Base on patch on bug #24154 created by Tomas Tintera
+ <address@hidden>.
+
+ * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
+
+2009-02-01 Vesa Jääskeläinen <address@hidden>
+
Based on patch on bug #25318 created by Bernhard Rosenkraenzer
<address@hidden>.
Modified: trunk/grub2/video/i386/pc/vbe.c
===================================================================
--- trunk/grub2/video/i386/pc/vbe.c 2009-02-01 09:03:15 UTC (rev 1965)
+++ trunk/grub2/video/i386/pc/vbe.c 2009-02-01 09:33:29 UTC (rev 1966)
@@ -709,7 +709,7 @@
return minindex;
}
- else if ((render_target->mode_info.mode_type
+ else if ((render_target->mode_info.mode_type
& GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP) != 0)
{
if (red == render_target->mode_info.fg_red
@@ -749,7 +749,7 @@
/* No alpha available in index color modes, just use
same value as in only RGB modes. */
return grub_video_vbe_map_rgb (red, green, blue);
- else if ((render_target->mode_info.mode_type
+ else if ((render_target->mode_info.mode_type
& GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP) != 0)
{
if (red == render_target->mode_info.fg_red
@@ -1399,13 +1399,25 @@
target.mode_info = &render_target->mode_info;
target.data = render_target->data;
- for (j = 0; j < height; j++)
- {
- dst = grub_video_vbe_get_video_ptr (&target, dst_x, dst_y + j);
- src = grub_video_vbe_get_video_ptr (&target, src_x, src_y + j);
- grub_memmove (dst, src,
- width * target.mode_info->bytes_per_pixel);
- }
+ /* Check vertical direction of the move. */
+ if (dy <= 0)
+ /* 3a. Move data upwards. */
+ for (j = 0; j < height; j++)
+ {
+ dst = grub_video_vbe_get_video_ptr (&target, dst_x, dst_y + j);
+ src = grub_video_vbe_get_video_ptr (&target, src_x, src_y + j);
+ grub_memmove (dst, src,
+ width * target.mode_info->bytes_per_pixel);
+ }
+ else
+ /* 3b. Move data downwards. */
+ for (j = (height - 1); j >= 0; j--)
+ {
+ dst = grub_video_vbe_get_video_ptr (&target, dst_x, dst_y + j);
+ src = grub_video_vbe_get_video_ptr (&target, src_x, src_y + j);
+ grub_memmove (dst, src,
+ width * target.mode_info->bytes_per_pixel);
+ }
}
/* 4. Fill empty space with specified color. In this implementation
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [1966] 2009-02-01 Vesa J?\195?\164?\195?\164skel?\195?\164inen <address@hidden .fi>,
Vesa Jääskeläinen <=