- Draw color quality indicator in Display Properties -> Settings
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 25 Oct 2007 19:40:27 +0000 (19:40 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 25 Oct 2007 19:40:27 +0000 (19:40 +0000)
- patch by Vytis Girdzijauskas, "CMan", cman[at]cman[dot]us

See issue #2762 for more details.

svn path=/trunk/; revision=29883

21 files changed:
reactos/dll/cpl/desk/desk.rc
reactos/dll/cpl/desk/lang/bg-BG.rc
reactos/dll/cpl/desk/lang/cs-CZ.rc
reactos/dll/cpl/desk/lang/de-DE.rc
reactos/dll/cpl/desk/lang/el-GR.rc
reactos/dll/cpl/desk/lang/en-US.rc
reactos/dll/cpl/desk/lang/es-ES.rc
reactos/dll/cpl/desk/lang/fr-FR.rc
reactos/dll/cpl/desk/lang/hu-HU.rc
reactos/dll/cpl/desk/lang/id-ID.rc
reactos/dll/cpl/desk/lang/it-IT.rc
reactos/dll/cpl/desk/lang/ja-JP.rc
reactos/dll/cpl/desk/lang/nl-NL.rc
reactos/dll/cpl/desk/lang/pl-PL.rc
reactos/dll/cpl/desk/lang/ru-RU.rc
reactos/dll/cpl/desk/lang/sk-SK.rc
reactos/dll/cpl/desk/lang/sv-SE.rc
reactos/dll/cpl/desk/lang/uk-UA.rc
reactos/dll/cpl/desk/resource.h
reactos/dll/cpl/desk/resources/spectrum.bmp [new file with mode: 0644]
reactos/dll/cpl/desk/settings.c

index 9f58b41..788e2e8 100644 (file)
@@ -15,5 +15,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 IDC_DESK_ICON ICON "resources/applet.ico"
 IDC_DESK_ICON2 ICON "resources/applet.ico"
 IDC_MONITOR BITMAP "resources/monitor.bmp"
+IDB_SPECTRUM BITMAP "resources/spectrum.bmp"
 
 #include "rsrc.rc"
index 632266b..fcc0751 100644 (file)
@@ -116,8 +116,7 @@ BEGIN
     GROUPBOX        "&Öâåòîâå",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "Ðàç&øèðåíè...",IDC_SETTINGS_ADVANCED,306,165,56,14
 END
 
index 6dd3483..c0fc581 100644 (file)
@@ -113,8 +113,7 @@ BEGIN
     GROUPBOX        "&Poèet barev",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "R&oz\9aíøené nastavení...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 2f9580e..117dd06 100644 (file)
@@ -112,8 +112,7 @@ BEGIN
     GROUPBOX        "&Farbqualität",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "&Erweitert",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index a9bc11a..056cb48 100644 (file)
@@ -112,8 +112,7 @@ BEGIN
     GROUPBOX        "&×ñþìáôá",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "Ãéá &ðñï÷ùñçìÝíïõò...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 13b6a3b..d7d3138 100644 (file)
@@ -114,8 +114,7 @@ BEGIN
     GROUPBOX        "&Colors",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "Ad&vanced...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 0bb98ce..b29cef9 100644 (file)
@@ -119,8 +119,7 @@ BEGIN
     GROUPBOX        "&Calidad de color",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "A&vanzado...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 59d8fc9..2a3061f 100644 (file)
@@ -115,8 +115,7 @@ BEGIN
     GROUPBOX        "&Couleurs",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "A&vancé...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 4caae42..ce3a86e 100644 (file)
@@ -113,8 +113,7 @@ BEGIN
        GROUPBOX        "&Színek",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "&Haladóknak...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 31c08fa..4ba172e 100644 (file)
@@ -112,8 +112,7 @@ BEGIN
     GROUPBOX        "&Warna",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "&Lanjutan...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index f9c6256..b8cf554 100644 (file)
@@ -112,8 +112,7 @@ BEGIN
     GROUPBOX        "&Colori",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "A&vanzate...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 25a2389..c6d55fa 100644 (file)
@@ -112,8 +112,7 @@ BEGIN
     GROUPBOX        "\90F(&C)",1817,125,160,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,170,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,188,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "\8fÚ\8d×\90Ý\92è(&V)...",IDC_SETTINGS_ADVANCED,170,205,70,14
 END
 
index 95b6f65..a37561f 100644 (file)
@@ -114,8 +114,7 @@ BEGIN
     GROUPBOX        "&Kleuren",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "&Geavanceerd...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 3b01fe7..dd4e0e4 100644 (file)
@@ -118,8 +118,7 @@ BEGIN
     GROUPBOX        "&Jako\9cæ kolorów",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "Zaawa&nsowane...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index c66107f..69cc3f9 100644 (file)
@@ -112,8 +112,7 @@ BEGIN
     GROUPBOX        "&Êà÷åñòâî öâåòîïåðåäà÷è",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "Äî&ïîëíèòåëüíî",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 6946375..5df22ba 100644 (file)
@@ -121,8 +121,7 @@ BEGIN
     GROUPBOX        "&Farby",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "&Spresni\9d...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 92dd1fb..f8104ac 100644 (file)
@@ -115,8 +115,7 @@ BEGIN
     GROUPBOX        "&Färger",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,138,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "&Avancerat...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 5cab123..5260749 100644 (file)
@@ -120,8 +120,7 @@ BEGIN
     GROUPBOX        "&ßê³ñòü êîëüîðîïåðåäà÷³",1817,125,120,115,43
     COMBOBOX        IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
                     WS_VSCROLL | WS_TABSTOP
-    CONTROL         "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
-                    131,148,103,9
+    CONTROL         "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9
     PUSHBUTTON      "Äîä&àòêîâî...",IDC_SETTINGS_ADVANCED,170,165,70,14
 END
 
index 137d654..d05cc69 100644 (file)
@@ -65,6 +65,8 @@
 #define IDC_SETTINGS_RESOLUTION_TEXT 204
 #define IDC_SETTINGS_ADVANCED        205
 #define IDC_SETTINGS_MONSEL          206
+#define IDC_SETTINGS_SPECTRUM        207
+#define IDB_SPECTRUM                 208
 
 #define IDR_PREVIEW_MENU     2100
 #define ID_MENU_NORMAL       2101
 
 #endif /* __CPL_DESK_RESOURCE_H__ */
 
+
diff --git a/reactos/dll/cpl/desk/resources/spectrum.bmp b/reactos/dll/cpl/desk/resources/spectrum.bmp
new file mode 100644 (file)
index 0000000..c9dcea8
Binary files /dev/null and b/reactos/dll/cpl/desk/resources/spectrum.bmp differ
index ff71f4a..8156cbd 100644 (file)
@@ -17,6 +17,9 @@ typedef struct _GLOBAL_DATA
        PDISPLAY_DEVICE_ENTRY CurrentDisplayDevice;
 } GLOBAL_DATA, *PGLOBAL_DATA;
 
+static HBITMAP hBitmap = NULL;
+static int cxSource, cySource;
+
 static VOID
 UpdateDisplay(IN HWND hwndDlg, PGLOBAL_DATA pGlobalData, IN BOOL bUpdateThumb)
 {
@@ -558,11 +561,43 @@ SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPar
 
        pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
 
+       BITMAP bitmap;
+
        switch(uMsg)
        {
                case WM_INITDIALOG:
+               {
                        OnInitDialog(hwndDlg);
+                       
+                       hBitmap = LoadImageW(hApplet, MAKEINTRESOURCEW(IDB_SPECTRUM), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
+                       if (hBitmap != NULL)
+                       {
+                               GetObjectW(hBitmap, sizeof(BITMAP), &bitmap);
+
+                               cxSource = bitmap.bmWidth;
+                               cySource = bitmap.bmHeight;
+                       }
                        break;
+               }
+               case WM_DRAWITEM:
+               {
+                       LPDRAWITEMSTRUCT lpDrawItem;
+                       lpDrawItem = (LPDRAWITEMSTRUCT) lParam;
+                       if(lpDrawItem->CtlID == IDC_SETTINGS_SPECTRUM)
+                       {
+                               HDC hdcMem;
+                               hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
+                               if (hdcMem != NULL)
+                               {
+                                       SelectObject(hdcMem, hBitmap);
+                                       StretchBlt(lpDrawItem->hDC, lpDrawItem->rcItem.left, lpDrawItem->rcItem.top,
+                                                               lpDrawItem->rcItem.right - lpDrawItem->rcItem.left,
+                                                               lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top,
+                                                               hdcMem, 0, 0, cxSource, cySource, SRCCOPY);
+                                       DeleteDC(hdcMem);
+                               }
+                       }
+               }
                case WM_COMMAND:
                {
                        DWORD controlId = LOWORD(wParam);
@@ -762,6 +797,8 @@ SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPar
                        }
 
                        HeapFree(GetProcessHeap(), 0, pGlobalData);
+
+                       DeleteObject(hBitmap);
                }
        }
        return FALSE;