Author: cgutman Date: Fri Feb 19 04:16:04 2010 New Revision: 45618
URL: http://svn.reactos.org/svn/reactos?rev=45618&view=rev Log: [NTOSKRNL] - Put back the boot logo from the old bootvid - Rewrite the old broken progress bar code and enable the progress bar - The progress bar works now :) - NOTE: Someone should fix the copyright year on the boot logo
Modified: trunk/reactos/ntoskrnl/inbv/inbv.c trunk/reactos/ntoskrnl/inbv/logo/5.bmp
Modified: trunk/reactos/ntoskrnl/inbv/inbv.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/inbv/inbv.c?rev=45... ============================================================================== --- trunk/reactos/ntoskrnl/inbv/inbv.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/inbv/inbv.c [iso-8859-1] Fri Feb 19 04:16:04 2010 @@ -407,38 +407,28 @@ NTAPI InbvUpdateProgressBar(IN ULONG Progress) { - ULONG FillCount, Left = 0; + ULONG FillCount;
/* Make sure the progress bar is enabled, that we own and are installed */ if ((ShowProgressBar) && (InbvBootDriverInstalled) && (InbvDisplayState == INBV_DISPLAY_STATE_OWNED)) { - /* Calculate the fill count */ - FillCount = InbvProgressState.Bias * Progress + InbvProgressState.Floor; - FillCount *= 18; - FillCount /= 10000; - - /* Start fill loop */ - while (FillCount) - { - /* Acquire the lock */ - InbvAcquireLock(); - - /* Fill the progress bar */ - VidSolidColorFill(Left + ProgressBarLeft, - ProgressBarTop, - Left + ProgressBarLeft + 7, - ProgressBarTop + 7, - 11); - - /* Release the lock */ - InbvReleaseLock(); - - /* Update the X position */ - Left += 9; - FillCount--; - } + FillCount = InbvProgressState.Bias * Progress * 121 + InbvProgressState.Floor; + FillCount /= 1000000; + + /* Acquire the lock */ + InbvAcquireLock(); + + /* Fill the progress bar */ + VidSolidColorFill(ProgressBarLeft, + ProgressBarTop, + ProgressBarLeft + FillCount, + ProgressBarTop + 12, + 11); + + /* Release the lock */ + InbvReleaseLock(); } }
@@ -613,7 +603,7 @@ /* Is the boot driver installed? */ if (!InbvBootDriverInstalled) return;
- /* FIXME: TODO, display full-screen bitmap */ + /* Display full-screen bitmap */ Bitmap = InbvGetResourceAddress(5); if (Bitmap) { @@ -626,6 +616,9 @@ else Top = (480 - BitmapInfoHeader->biHeight) / 2; InbvBitBlt(Bitmap, Left, Top); + + /* Set progress bar coordinates and display it */ + InbvSetProgressBarCoordinates(257, 352); } }
Modified: trunk/reactos/ntoskrnl/inbv/logo/5.bmp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/inbv/logo/5.bmp?re... ============================================================================== Binary files - no diff available.