Sync with trunk revision 64099.
[reactos.git] / ntoskrnl / inbv / inbv.c
index 381ed77..5526b07 100644 (file)
@@ -39,7 +39,7 @@ typedef struct tagRGBQUAD
 static RGBQUAD _MainPalette[16];
 
 #define PALETTE_FADE_STEPS  15
-#define PALETTE_FADE_TIME   20 * 10000 /* 20ms */
+#define PALETTE_FADE_TIME   20 * 1000 /* 20ms */
 
 /** From bootvid/precomp.h **/
 //
@@ -76,9 +76,6 @@ BootImageFadeIn(VOID)
     LPRGBQUAD Palette = (LPRGBQUAD)(PaletteBitmapBuffer + sizeof(BITMAPINFOHEADER));
 
     ULONG Iteration, Index, ClrUsed;
-    LARGE_INTEGER Interval;
-
-    Interval.QuadPart = -PALETTE_FADE_TIME;
 
     /* Check if we're installed and we own it */
     if ((InbvBootDriverInstalled) &&
@@ -94,7 +91,7 @@ BootImageFadeIn(VOID)
         ClrUsed = sizeof(_MainPalette) / sizeof(_MainPalette[0]);
         RtlZeroMemory(PaletteBitmap, sizeof(BITMAPINFOHEADER));
         PaletteBitmap->biSize = sizeof(BITMAPINFOHEADER);
-        PaletteBitmap->biBitCount = 4; 
+        PaletteBitmap->biBitCount = 4;
         PaletteBitmap->biClrUsed = ClrUsed;
 
         /*
@@ -104,25 +101,25 @@ BootImageFadeIn(VOID)
         {
             for (Index = 0; Index < ClrUsed; Index++)
             {
-                Palette[Index].rgbRed =
-                    _MainPalette[Index].rgbRed * Iteration / PALETTE_FADE_STEPS;
-                Palette[Index].rgbGreen =
-                    _MainPalette[Index].rgbGreen * Iteration / PALETTE_FADE_STEPS;
-                Palette[Index].rgbBlue =
-                    _MainPalette[Index].rgbBlue * Iteration / PALETTE_FADE_STEPS;
+                Palette[Index].rgbRed = (UCHAR)
+                    (_MainPalette[Index].rgbRed * Iteration / PALETTE_FADE_STEPS);
+                Palette[Index].rgbGreen = (UCHAR)
+                    (_MainPalette[Index].rgbGreen * Iteration / PALETTE_FADE_STEPS);
+                Palette[Index].rgbBlue = (UCHAR)
+                    (_MainPalette[Index].rgbBlue * Iteration / PALETTE_FADE_STEPS);
             }
 
             VidBitBlt(PaletteBitmapBuffer, 0, 0);
 
             /* Wait for a bit. */
-            KeDelayExecutionThread(KernelMode, FALSE, &Interval);
+            KeStallExecutionProcessor(PALETTE_FADE_TIME);
         }
 
         /* Release the lock */
         InbvReleaseLock();
 
         /* Wait for a bit. */
-        KeDelayExecutionThread(KernelMode, FALSE, &Interval);
+        KeStallExecutionProcessor(PALETTE_FADE_TIME);
     }
 }
 
@@ -221,7 +218,7 @@ InbvDriverInitialize(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
     {
         /* Now reset the display, but only if there's a custom boot logo */
         VidResetDisplay(CustomLogo);
-        
+
         /* Find bitmap resources in the kernel */
         ResourceCount = min(IDB_CLUSTER_SERVER, Count);
         for (i = 1; i <= Count; i++)
@@ -366,7 +363,7 @@ InbvDisplayString(IN PCHAR String)
         InbvAcquireLock();
 
         /* Make sure we're installed and display the string */
-        if (InbvBootDriverInstalled) VidDisplayString((PUCHAR) String);
+        if (InbvBootDriverInstalled) VidDisplayString((PUCHAR)String);
 
         /* Print the string on the EMS port */
         HeadlessDispatch(HeadlessCmdPutString,
@@ -465,11 +462,11 @@ VOID
 NTAPI
 InbvSetScrollRegion(IN ULONG Left,
                     IN ULONG Top,
-                    IN ULONG Width,
-                    IN ULONG Height)
+                    IN ULONG Right,
+                    IN ULONG Bottom)
 {
     /* Just call bootvid */
-    VidSetScrollRegion(Left, Top, Width, Height);
+    VidSetScrollRegion(Left, Top, Right, Bottom);
 }
 
 VOID
@@ -486,8 +483,8 @@ VOID
 NTAPI
 InbvSolidColorFill(IN ULONG Left,
                    IN ULONG Top,
-                   IN ULONG Width,
-                   IN ULONG Height,
+                   IN ULONG Right,
+                   IN ULONG Bottom,
                    IN ULONG Color)
 {
     /* Make sure we own it */
@@ -500,7 +497,7 @@ InbvSolidColorFill(IN ULONG Left,
         if (InbvBootDriverInstalled)
         {
             /* Call bootvid */
-            VidSolidColorFill(Left, Top, Width, Height, (UCHAR)Color);
+            VidSolidColorFill(Left, Top, Right, Bottom, (UCHAR)Color);
         }
 
         /* FIXME: Headless */
@@ -709,7 +706,7 @@ DisplayBootBitmap(IN BOOLEAN TextMode)
             InbvSetTextColor(15);
             InbvSolidColorFill(0, 0, 639, 479, 7);
             InbvSolidColorFill(0, 421, 639, 479, 1);
-            
+
             /* Get resources */
             Header = InbvGetResourceAddress(IDB_LOGO_HEADER);
             Band = InbvGetResourceAddress(IDB_LOGO_BAND);
@@ -768,7 +765,7 @@ DisplayBootBitmap(IN BOOLEAN TextMode)
                 /* Normal edition */
                 Text = InbvGetResourceAddress(IDB_SERVER_LOGO);
             }
-            
+
             /* Server product, display appropriate status bar color */
             InbvGetResourceAddress(IDB_BAR_SERVER);
         }
@@ -805,7 +802,7 @@ DisplayBootBitmap(IN BOOLEAN TextMode)
                 InbvScreenToBufferBlt(Buffer, 413, 237, 7, 7, 8);
                 InbvSolidColorFill(418, 230, 454, 256, 0);
                 InbvBufferToScreenBlt(Buffer, 413, 237, 7, 7, 8);
-                
+
                 /* In setup mode, you haven't selected a SKU yet */
                 if (ExpInTextModeSetup) Text = NULL;
             }
@@ -815,6 +812,8 @@ DisplayBootBitmap(IN BOOLEAN TextMode)
 #ifdef CORE_6781_resolved
         /* Draw the SKU text if it exits */
         if (Text) InbvBitBlt(Text, 180, 121);
+#else
+        DBG_UNREFERENCED_LOCAL_VARIABLE(Text);
 #endif
 
         /* Draw the progress bar bit */
@@ -851,7 +850,7 @@ DisplayFilter(PCHAR *String)
     {
         /* Remove the filter */
         InbvInstallDisplayStringFilter(NULL);
-        
+
         DotHack = FALSE;
 
         /* Draw text screen */