[MSGINA] Implement rotation bar animation
authorStanislav Motylkov <x86corez@gmail.com>
Sat, 23 Feb 2019 20:34:22 +0000 (23:34 +0300)
committerHermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Sun, 24 Feb 2019 14:52:49 +0000 (15:52 +0100)
Based on initial work by Bisoc George. Rotation bar image by Zcooger. CORE-15215

25 files changed:
dll/win32/msgina/gui.c
dll/win32/msgina/lang/bg-BG.rc
dll/win32/msgina/lang/cs-CZ.rc
dll/win32/msgina/lang/de-DE.rc
dll/win32/msgina/lang/en-US.rc
dll/win32/msgina/lang/es-ES.rc
dll/win32/msgina/lang/fr-FR.rc
dll/win32/msgina/lang/he-IL.rc
dll/win32/msgina/lang/id-ID.rc
dll/win32/msgina/lang/it-IT.rc
dll/win32/msgina/lang/ja-JP.rc
dll/win32/msgina/lang/no-NO.rc
dll/win32/msgina/lang/pl-PL.rc
dll/win32/msgina/lang/ro-RO.rc
dll/win32/msgina/lang/ru-RU.rc
dll/win32/msgina/lang/sk-SK.rc
dll/win32/msgina/lang/sq-AL.rc
dll/win32/msgina/lang/tr-TR.rc
dll/win32/msgina/lang/uk-UA.rc
dll/win32/msgina/lang/zh-CN.rc
dll/win32/msgina/lang/zh-TW.rc
dll/win32/msgina/msgina.rc
dll/win32/msgina/resource.h
dll/win32/msgina/resources/line.bmp [new file with mode: 0644]
dll/win32/msgina/resources/line.svg [new file with mode: 0644]

index cafced9..bf0a160 100644 (file)
@@ -31,6 +31,11 @@ typedef struct _DLG_DATA
 {
     PGINA_CONTEXT pgContext;
     HBITMAP hBitmap;
+    HBITMAP hBarBitmap;
+    UINT_PTR TimerID;
+    DWORD BarCounter;
+    DWORD BarWidth;
+    DWORD BarHeight;
 } DLG_DATA, *PDLG_DATA;
 
 static BOOL
@@ -111,8 +116,11 @@ StatusDialogProc(
     IN WPARAM wParam,
     IN LPARAM lParam)
 {
+    PDLG_DATA pDlgData;
     UNREFERENCED_PARAMETER(wParam);
 
+    pDlgData = (PDLG_DATA)GetWindowLongPtrW(hwndDlg, GWLP_USERDATA);
+
     switch (uMsg)
     {
         case WM_INITDIALOG:
@@ -127,6 +135,82 @@ StatusDialogProc(
                 SetWindowTextW(hwndDlg, msg->pTitle);
             SetDlgItemTextW(hwndDlg, IDC_STATUS_MESSAGE, msg->pMessage);
             SetEvent(msg->StartupEvent);
+
+            pDlgData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DLG_DATA));
+            SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (LONG_PTR)pDlgData);
+
+            if (pDlgData == NULL)
+                return FALSE;
+
+            /* Load the bar bitmap */
+            pDlgData->hBarBitmap = LoadImageW(hDllInstance, MAKEINTRESOURCEW(IDI_BAR), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
+            if (pDlgData->hBarBitmap)
+            {
+                BITMAP bm;
+
+                GetObject(pDlgData->hBarBitmap, sizeof(BITMAP), &bm);
+                pDlgData->BarWidth = bm.bmWidth;
+                pDlgData->BarHeight = bm.bmHeight;
+                pDlgData->TimerID = SetTimer(hwndDlg, -1, 20, NULL);
+            }
+            return TRUE;
+        }
+
+        case WM_TIMER:
+        {
+            if (pDlgData)
+            {
+                /*
+                 * Default rotation bar image width is 413 (same as logo)
+                 * We can divide 413 by 7 without remainder
+                 */
+                pDlgData->BarCounter = (pDlgData->BarCounter + 7) % pDlgData->BarWidth;
+                InvalidateRect(hwndDlg, NULL, FALSE);
+                UpdateWindow(hwndDlg);
+            }
+            return TRUE;
+        }
+
+        case WM_DRAWITEM:
+        {
+            LPDRAWITEMSTRUCT lpDis = (LPDRAWITEMSTRUCT)lParam;
+
+            if (lpDis->CtlID != IDC_BAR)
+            {
+                return FALSE;
+            }
+
+            if (pDlgData && pDlgData->hBarBitmap)
+            {
+                HDC hdcMem;
+                HGDIOBJ hOld;
+                DWORD off = pDlgData->BarCounter;
+                DWORD iw = pDlgData->BarWidth;
+                DWORD ih = pDlgData->BarHeight;
+
+                hdcMem = CreateCompatibleDC(lpDis->hDC);
+                hOld = SelectObject(hdcMem, pDlgData->hBarBitmap);
+                BitBlt(lpDis->hDC, off, 0, iw - off, ih, hdcMem, 0, 0, SRCCOPY);
+                BitBlt(lpDis->hDC, 0, 0, off, ih, hdcMem, iw - off, 0, SRCCOPY);
+                SelectObject(hdcMem, hOld);
+                DeleteDC(hdcMem);
+
+                return TRUE;
+            }
+            return FALSE;
+        }
+
+        case WM_DESTROY:
+        {
+            if (pDlgData)
+            {
+                if (pDlgData->hBarBitmap)
+                {
+                    KillTimer(hwndDlg, pDlgData->TimerID);
+                    DeleteObject(pDlgData->hBarBitmap);
+                }
+                HeapFree(GetProcessHeap(), 0, pDlgData);
+            }
             return TRUE;
         }
     }
index 97da77a..e0895a3 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Почакайте..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index e804926..76f25dc 100644 (file)
@@ -5,13 +5,14 @@
 
 LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Prosím čekejte..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 5308a8e..cd14ffc 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Bitte warten..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index b7c5e92..ba8979f 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Please wait..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 02c1e2c..f3f1061 100644 (file)
@@ -8,13 +8,14 @@
 
 LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Espere un momento..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 98c9916..07eab45 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Veuillez patienter..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 23c24f9..dfcadc3 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "נא להמתין..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 02660b5..686ac7b 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Harap menunggu..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 866f037..ad93dde 100644 (file)
@@ -9,13 +9,14 @@
 
 LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Attendere..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 38de8b4..df22e84 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "お待ちください..."
 FONT 9, "MS UI Gothic", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index f3b6bf9..b7fb472 100644 (file)
@@ -1,12 +1,13 @@
 LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Vent litt..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 93d86ec..11e484a 100644 (file)
 
 LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Proszę czekać..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index ff9a0af..a777f4a 100644 (file)
@@ -9,13 +9,14 @@
 
 LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Așteptați…"
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 7891fa0..e876310 100644 (file)
@@ -2,13 +2,14 @@
 
 LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Пожалуйста, подождите..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 789443d..331b00c 100644 (file)
@@ -5,13 +5,14 @@
 
 LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Počkajte, prosím ..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index b4474db..7f3d9ff 100644 (file)
@@ -4,13 +4,14 @@
 
 LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Ju Lutem Prisni..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index de1b088..9221804 100644 (file)
@@ -2,13 +2,14 @@
 
 LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Lütfen Bekleyiniz..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index af2cb61..7647b7a 100644 (file)
@@ -8,13 +8,14 @@
 
 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "Зачекайте..."
 FONT 8, "MS Shell Dlg", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index dfc9e1b..22fa0f6 100644 (file)
@@ -3,13 +3,14 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "请稍候..."
 FONT 9, "宋体", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 0ee8653..1198a48 100644 (file)
@@ -2,13 +2,14 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
 
-IDD_STATUS DIALOGEX 0, 0, 275, 80
+IDD_STATUS DIALOGEX 0, 0, 275, 78
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION "請稍候..."
 FONT 9, "新細明體", 400, 0, 1
 BEGIN
     CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
-    LTEXT "", IDC_STATUS_MESSAGE, 7, 62, 261, 12, SS_WORDELLIPSIS
+    CONTROL "", IDC_BAR, "Static", SS_OWNERDRAW, 0, 44, 275, 4
+    LTEXT "", IDC_STATUS_MESSAGE, 7, 59, 261, 12, SS_WORDELLIPSIS
 END
 
 IDD_WELCOME DIALOGEX 0, 0, 275, 80
index 9d455ab..739b980 100644 (file)
@@ -19,6 +19,7 @@ IDI_LOCKICON ICON "resources/115.ico"
 
 /* Bitmaps */
 IDI_ROSLOGO BITMAP "resources/reactos.bmp"
+IDI_BAR BITMAP "resources/line.bmp"
 
 /* UTF-8 */
 #pragma code_page(65001)
index cdba2c0..e23da85 100644 (file)
 #define IDC_LEGALNOTICE_TEXT     2101
 
 #define IDC_ROSLOGO              1007
+#define IDC_BAR                  1008
 
 
 #define IDI_ROSLOGO         20000
+#define IDI_BAR             20001
 
 #define IDI_NOT_CONNECTED 13
 #define IDI_LOGOFF        21
diff --git a/dll/win32/msgina/resources/line.bmp b/dll/win32/msgina/resources/line.bmp
new file mode 100644 (file)
index 0000000..08717d3
Binary files /dev/null and b/dll/win32/msgina/resources/line.bmp differ
diff --git a/dll/win32/msgina/resources/line.svg b/dll/win32/msgina/resources/line.svg
new file mode 100644 (file)
index 0000000..82be5cd
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="svg2"
+   width="413"
+   height="5"
+   viewBox="0 0 413 5"
+   sodipodi:docname="animation_gradient.svg"
+   inkscape:export-filename="C:\Users\Administrator\Desktop\animation_gradient.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient823">
+      <stop
+         style="stop-color:#305067;stop-opacity:1"
+         offset="0"
+         id="stop819" />
+      <stop
+         id="stop835"
+         offset="0.10352668"
+         style="stop-color:#587787;stop-opacity:1" />
+      <stop
+         id="stop833"
+         offset="0.2"
+         style="stop-color:#98a7a8;stop-opacity:1" />
+      <stop
+         id="stop831"
+         offset="0.30179006"
+         style="stop-color:#a0b7c7;stop-opacity:1" />
+      <stop
+         id="stop829"
+         offset="0.40238672"
+         style="stop-color:#cfd8e0;stop-opacity:1" />
+      <stop
+         id="stop827"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         style="stop-color:#cfd8e0;stop-opacity:1"
+         offset="0.60000002"
+         id="stop837" />
+      <stop
+         id="stop839"
+         offset="0.69999999"
+         style="stop-color:#a0b7c7;stop-opacity:1" />
+      <stop
+         style="stop-color:#98a7a8;stop-opacity:1"
+         offset="0.80000001"
+         id="stop841" />
+      <stop
+         id="stop843"
+         offset="0.89999998"
+         style="stop-color:#587787;stop-opacity:1" />
+      <stop
+         style="stop-color:#305067;stop-opacity:1"
+         offset="1"
+         id="stop821" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient823"
+       id="linearGradient825"
+       x1="0"
+       y1="5"
+       x2="413"
+       y2="5"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.5852051e-7,-5)" />
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1542"
+     inkscape:window-height="881"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="2.479154"
+     inkscape:cx="183.50151"
+     inkscape:cy="-19.138918"
+     inkscape:window-x="54"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <rect
+     style="opacity:1;fill:url(#linearGradient825);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:12;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+     id="rect817"
+     width="413"
+     height="5"
+     x="0"
+     y="0" />
+</svg>