From 78cb9a84f2479f882ea95b0c8cd4694ae72bbb4d Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sun, 21 Apr 2013 12:00:37 +0000 Subject: [PATCH] [desk.cpl] - Formatting: Convert tabs to spaces - No code changes svn path=/trunk/; revision=58797 --- reactos/dll/cpl/desk/advappdlg.c | 1060 ++++++++++----------- reactos/dll/cpl/desk/appearance.c | 374 ++++---- reactos/dll/cpl/desk/appearance.h | 104 +-- reactos/dll/cpl/desk/classinst.c | 380 ++++---- reactos/dll/cpl/desk/desk.c | 2 +- reactos/dll/cpl/desk/desk.h | 42 +- reactos/dll/cpl/desk/draw.c | 878 +++++++++--------- reactos/dll/cpl/desk/effappdlg.c | 88 +- reactos/dll/cpl/desk/general.c | 30 +- reactos/dll/cpl/desk/resource.h | 4 +- reactos/dll/cpl/desk/settings.c | 1418 ++++++++++++++--------------- reactos/dll/cpl/desk/theme.c | 606 ++++++------ 12 files changed, 2493 insertions(+), 2493 deletions(-) diff --git a/reactos/dll/cpl/desk/advappdlg.c b/reactos/dll/cpl/desk/advappdlg.c index 6ccefacc444..12cbe95826c 100644 --- a/reactos/dll/cpl/desk/advappdlg.c +++ b/reactos/dll/cpl/desk/advappdlg.c @@ -14,40 +14,40 @@ typedef struct { - int Size; - int Size2; - int Color1; - int Color2; - int Font; - int FontColor; + int Size; + int Size2; + int Color1; + int Color2; + int Font; + int FontColor; } ASSIGNMENT; /* This const assigns the color and metric numbers to the elements from the elements list */ -/* Size 1 (width) Size 2 (height) Color 1 Color 2 Font Fontcolor */ +/* Size 1 (width) Size 2 (height) Color 1 Color 2 Font Fontcolor */ const ASSIGNMENT g_Assignment[NUM_ELEMENTS] = -{ {-1, -1, COLOR_DESKTOP, -1, -1, -1}, /* -Desktop */ - {SIZE_CAPTION_Y, -1, COLOR_INACTIVECAPTION, COLOR_GRADIENTINACTIVECAPTION, FONT_CAPTION, -1}, /* inactive window caption */ - {SIZE_BORDER_X, SIZE_BORDER_Y, COLOR_INACTIVEBORDER, -1, -1, -1}, /* inactive window border */ - {SIZE_CAPTION_Y, -1, COLOR_ACTIVECAPTION, COLOR_GRADIENTACTIVECAPTION, FONT_CAPTION, COLOR_CAPTIONTEXT}, /* -active window caption */ - {SIZE_BORDER_X, SIZE_BORDER_Y, COLOR_ACTIVEBORDER, -1, -1, -1}, /* active window border */ - {SIZE_MENU_SIZE_X,SIZE_MENU_Y, COLOR_MENU, -1, FONT_MENU, COLOR_MENUTEXT}, /* menu */ - {SIZE_MENU_SIZE_X,SIZE_MENU_Y, COLOR_HIGHLIGHT, -1, FONT_HILIGHT, COLOR_HIGHLIGHTTEXT},/* marked element */ - {-1, -1, COLOR_WINDOW, -1 /*COLOR_WINDOWFRAME*/, -1, COLOR_WINDOWTEXT}, /* window */ - {SIZE_SCROLL_X, SIZE_SCROLL_Y, COLOR_SCROLLBAR, -1, -1, -1}, /* scroll bar */ - {-1, -1, COLOR_3DFACE, -1, -1, COLOR_BTNTEXT}, /* 3d objects */ - {SIZE_SMCAPTION_Y,-1, -1, -1, FONT_SMCAPTION, -1}, /* palette window caption */ - {-1, -1, -1, -1, -1, -1}, /* symbol caption FIXME: Access? */ - {SIZE_CAPTION_Y, -1, -1, -1, -1, -1}, /* caption bar */ - {-1, -1, -1, -1, -1, COLOR_GRAYTEXT}, /* inactive menu item FIXME: Access? */ - {-1, -1, -1, -1, FONT_DIALOG, COLOR_WINDOWTEXT}, /* dialog */ - {-1, -1, -1, -1, -1, -1}, /* scrollbar controls FIXME: Access? */ - {-1, -1, COLOR_APPWORKSPACE, -1, -1, -1}, /* application background */ - {-1, -1, -1, -1, -1, -1}, /* small caption bar FIXME: Access? */ - {SIZE_ICON_SPC_X, -1, -1, -1, -1, -1}, /* symbol distance horiz. */ - {SIZE_ICON_SPC_Y, -1, -1, -1, -1, -1}, /* symbol distance vert. */ - {-1, -1, COLOR_INFOBK, -1, FONT_INFO, COLOR_INFOTEXT}, /* quickinfo */ - {SIZE_ICON_X, SIZE_ICON_Y, -1, -1, FONT_ICON, -1}}; /* symbol */ +{ {-1, -1, COLOR_DESKTOP, -1, -1, -1}, /* -Desktop */ + {SIZE_CAPTION_Y, -1, COLOR_INACTIVECAPTION, COLOR_GRADIENTINACTIVECAPTION, FONT_CAPTION, -1}, /* inactive window caption */ + {SIZE_BORDER_X, SIZE_BORDER_Y, COLOR_INACTIVEBORDER, -1, -1, -1}, /* inactive window border */ + {SIZE_CAPTION_Y, -1, COLOR_ACTIVECAPTION, COLOR_GRADIENTACTIVECAPTION, FONT_CAPTION, COLOR_CAPTIONTEXT}, /* -active window caption */ + {SIZE_BORDER_X, SIZE_BORDER_Y, COLOR_ACTIVEBORDER, -1, -1, -1}, /* active window border */ + {SIZE_MENU_SIZE_X, SIZE_MENU_Y, COLOR_MENU, -1, FONT_MENU, COLOR_MENUTEXT}, /* menu */ + {SIZE_MENU_SIZE_X, SIZE_MENU_Y, COLOR_HIGHLIGHT, -1, FONT_HILIGHT, COLOR_HIGHLIGHTTEXT}, /* marked element */ + {-1, -1, COLOR_WINDOW, -1 /*COLOR_WINDOWFRAME*/, -1, COLOR_WINDOWTEXT}, /* window */ + {SIZE_SCROLL_X, SIZE_SCROLL_Y, COLOR_SCROLLBAR, -1, -1, -1}, /* scroll bar */ + {-1, -1, COLOR_3DFACE, -1, -1, COLOR_BTNTEXT}, /* 3d objects */ + {SIZE_SMCAPTION_Y, -1, -1, -1, FONT_SMCAPTION, -1}, /* palette window caption */ + {-1, -1, -1, -1, -1, -1}, /* symbol caption FIXME: Access? */ + {SIZE_CAPTION_Y, -1, -1, -1, -1, -1}, /* caption bar */ + {-1, -1, -1, -1, -1, COLOR_GRAYTEXT}, /* inactive menu item FIXME: Access? */ + {-1, -1, -1, -1, FONT_DIALOG, COLOR_WINDOWTEXT}, /* dialog */ + {-1, -1, -1, -1, -1, -1}, /* scrollbar controls FIXME: Access? */ + {-1, -1, COLOR_APPWORKSPACE, -1, -1, -1}, /* application background */ + {-1, -1, -1, -1, -1, -1}, /* small caption bar FIXME: Access? */ + {SIZE_ICON_SPC_X, -1, -1, -1, -1, -1}, /* symbol distance horiz. */ + {SIZE_ICON_SPC_Y, -1, -1, -1, -1, -1}, /* symbol distance vert. */ + {-1, -1, COLOR_INFOBK, -1, FONT_INFO, COLOR_INFOTEXT}, /* quickinfo */ + {SIZE_ICON_X, SIZE_ICON_Y, -1, -1, FONT_ICON, -1}}; /* symbol */ /******************************************************************************/ @@ -55,44 +55,44 @@ const ASSIGNMENT g_Assignment[NUM_ELEMENTS] = static VOID UpdateButtonColor(HWND hwndDlg, GLOBALS* g, INT ID, INT nButton, INT nColor) { - HDC hdcColorButton, hdcCompat; - RECT rect; - HBRUSH hbrush; - HWND hwndColorButton; - HGDIOBJ hgdiTmp; + HDC hdcColorButton, hdcCompat; + RECT rect; + HBRUSH hbrush; + HWND hwndColorButton; + HGDIOBJ hgdiTmp; - if (nColor != -1) - { - /* Create a DC to draw on */ - hwndColorButton = GetDlgItem(hwndDlg, ID); - hdcColorButton = GetDC(hwndColorButton); - hdcCompat = CreateCompatibleDC(hdcColorButton); - ReleaseDC(hwndColorButton, hdcColorButton); + if (nColor != -1) + { + /* Create a DC to draw on */ + hwndColorButton = GetDlgItem(hwndDlg, ID); + hdcColorButton = GetDC(hwndColorButton); + hdcCompat = CreateCompatibleDC(hdcColorButton); + ReleaseDC(hwndColorButton, hdcColorButton); - /* Select the button image to it */ - hgdiTmp = SelectObject(hdcCompat, g->hbmpColor[nButton]); + /* Select the button image to it */ + hgdiTmp = SelectObject(hdcCompat, g->hbmpColor[nButton]); - /* Create a brush and draw the rectangle */ - rect.left = 2; - rect.top = 2; - rect.right = 22; - rect.bottom = 13; - hbrush = CreateSolidBrush(g->SchemeAdv.crColor[nColor]); - FillRect(hdcCompat, &rect, hbrush); - DeleteObject(hbrush); + /* Create a brush and draw the rectangle */ + rect.left = 2; + rect.top = 2; + rect.right = 22; + rect.bottom = 13; + hbrush = CreateSolidBrush(g->SchemeAdv.crColor[nColor]); + FillRect(hdcCompat, &rect, hbrush); + DeleteObject(hbrush); - /* hdcCompat is not needed anymore */ - SelectObject(hdcCompat,hgdiTmp); - DeleteDC(hdcCompat); + /* hdcCompat is not needed anymore */ + SelectObject(hdcCompat,hgdiTmp); + DeleteDC(hdcCompat); - SendDlgItemMessage(hwndDlg, ID, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[nButton]); - EnableWindow(GetDlgItem(hwndDlg, ID), TRUE); - } - else - { - SendDlgItemMessage(hwndDlg, ID, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)NULL); - EnableWindow(GetDlgItem(hwndDlg, ID), FALSE); - } + SendDlgItemMessage(hwndDlg, ID, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[nButton]); + EnableWindow(GetDlgItem(hwndDlg, ID), TRUE); + } + else + { + SendDlgItemMessage(hwndDlg, ID, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)NULL); + EnableWindow(GetDlgItem(hwndDlg, ID), FALSE); + } } @@ -100,87 +100,87 @@ UpdateButtonColor(HWND hwndDlg, GLOBALS* g, INT ID, INT nButton, INT nColor) static VOID InitColorButtons(HWND hwndDlg, GLOBALS* g) { - INT i; - HDC hdcColorButton, hdcCompat; - RECT rect; - HBRUSH hbrush; - HPEN hPen; - HWND hwndColorButton; - HGDIOBJ hgdiTemp; + INT i; + HDC hdcColorButton, hdcCompat; + RECT rect; + HBRUSH hbrush; + HPEN hPen; + HWND hwndColorButton; + HGDIOBJ hgdiTemp; COLOR_SCHEME *scheme = &g->SchemeAdv; - const POINT Points[3] = {{29,6},{33,6},{31,8}}; + const POINT Points[3] = {{29,6},{33,6},{31,8}}; - hwndColorButton = GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_COLOR1_B); - hdcColorButton = GetDC(hwndColorButton); - for (i = 0; i <= 2; i++) - { - /* Create a DC to draw on */ - hdcCompat = CreateCompatibleDC(hdcColorButton); + hwndColorButton = GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_COLOR1_B); + hdcColorButton = GetDC(hwndColorButton); + for (i = 0; i <= 2; i++) + { + /* Create a DC to draw on */ + hdcCompat = CreateCompatibleDC(hdcColorButton); - /* Create the button image */ - g->hbmpColor[i] = CreateCompatibleBitmap(hdcColorButton, 36, 15); + /* Create the button image */ + g->hbmpColor[i] = CreateCompatibleBitmap(hdcColorButton, 36, 15); - /* Select the button image to the DC */ - hgdiTemp = SelectObject(hdcCompat, g->hbmpColor[i]); + /* Select the button image to the DC */ + hgdiTemp = SelectObject(hdcCompat, g->hbmpColor[i]); - /* Draw the buttons background color */ - rect.left = 0; - rect.top = 0; - rect.right = 36; - rect.bottom = 15; - hbrush = CreateSolidBrush(scheme->crColor[COLOR_BTNFACE]); - FillRect(hdcCompat, &rect, hbrush); - DeleteObject(hbrush); + /* Draw the buttons background color */ + rect.left = 0; + rect.top = 0; + rect.right = 36; + rect.bottom = 15; + hbrush = CreateSolidBrush(scheme->crColor[COLOR_BTNFACE]); + FillRect(hdcCompat, &rect, hbrush); + DeleteObject(hbrush); - /* Draw the rectangle */ - rect.left = 1; - rect.top = 1; - rect.right = 23; - rect.bottom = 14; - hbrush = CreateSolidBrush(scheme->crColor[COLOR_BTNTEXT]); - FillRect(hdcCompat, &rect, hbrush); - DeleteObject(hbrush); + /* Draw the rectangle */ + rect.left = 1; + rect.top = 1; + rect.right = 23; + rect.bottom = 14; + hbrush = CreateSolidBrush(scheme->crColor[COLOR_BTNTEXT]); + FillRect(hdcCompat, &rect, hbrush); + DeleteObject(hbrush); - /* Draw left side of line */ - hPen = CreatePen(PS_SOLID, 1, scheme->crColor[COLOR_BTNSHADOW]); - SelectObject(hdcCompat, hPen); - MoveToEx(hdcCompat, 26, 1, NULL); - LineTo(hdcCompat, 26, 14); - SelectObject(hdcCompat, GetStockObject(BLACK_PEN)); - DeleteObject(hPen); + /* Draw left side of line */ + hPen = CreatePen(PS_SOLID, 1, scheme->crColor[COLOR_BTNSHADOW]); + SelectObject(hdcCompat, hPen); + MoveToEx(hdcCompat, 26, 1, NULL); + LineTo(hdcCompat, 26, 14); + SelectObject(hdcCompat, GetStockObject(BLACK_PEN)); + DeleteObject(hPen); - /* Draw right side of line */ - hPen = CreatePen(PS_SOLID, 1, scheme->crColor[COLOR_BTNHIGHLIGHT]); - SelectObject(hdcCompat,hPen); - MoveToEx(hdcCompat, 27, 1, NULL); - LineTo(hdcCompat, 27, 14); - SelectObject(hdcCompat, GetStockObject(BLACK_PEN)); - DeleteObject(hPen); + /* Draw right side of line */ + hPen = CreatePen(PS_SOLID, 1, scheme->crColor[COLOR_BTNHIGHLIGHT]); + SelectObject(hdcCompat,hPen); + MoveToEx(hdcCompat, 27, 1, NULL); + LineTo(hdcCompat, 27, 14); + SelectObject(hdcCompat, GetStockObject(BLACK_PEN)); + DeleteObject(hPen); - /* Draw triangle */ - hPen = CreatePen(PS_SOLID, 1, scheme->crColor[COLOR_BTNTEXT]); - hbrush = CreateSolidBrush(scheme->crColor[COLOR_BTNTEXT]); - SelectObject(hdcCompat, hPen); - SelectObject(hdcCompat, hbrush); - SetPolyFillMode(hdcCompat, WINDING); + /* Draw triangle */ + hPen = CreatePen(PS_SOLID, 1, scheme->crColor[COLOR_BTNTEXT]); + hbrush = CreateSolidBrush(scheme->crColor[COLOR_BTNTEXT]); + SelectObject(hdcCompat, hPen); + SelectObject(hdcCompat, hbrush); + SetPolyFillMode(hdcCompat, WINDING); - /* FIXME: HACK, see Points definition */ - Polygon(hdcCompat, Points, 3); + /* FIXME: HACK, see Points definition */ + Polygon(hdcCompat, Points, 3); - /* Cleanup */ - SelectObject(hdcCompat,hgdiTemp); - DeleteDC(hdcCompat); - DeleteObject(hPen); - DeleteObject(hbrush); - } + /* Cleanup */ + SelectObject(hdcCompat,hgdiTemp); + DeleteDC(hdcCompat); + DeleteObject(hPen); + DeleteObject(hbrush); + } - ReleaseDC(hwndColorButton, hdcColorButton); + ReleaseDC(hwndColorButton, hdcColorButton); - /* Set the images of the buttons */ - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_COLOR1_B, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[0]); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_COLOR2_B, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[1]); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTCOLOR_B, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[2]); + /* Set the images of the buttons */ + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_COLOR1_B, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[0]); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_COLOR2_B, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[1]); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTCOLOR_B, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g->hbmpColor[2]); } @@ -188,17 +188,17 @@ InitColorButtons(HWND hwndDlg, GLOBALS* g) static int CALLBACK EnumFontFamExProc(ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme, DWORD dwFontType, LPARAM lParam) { - /* Don't enumerate more than 100 fonts */ - if (SendMessage((HWND)lParam, CB_GETCOUNT, 0, 0) >= 100) - return 0; + /* Don't enumerate more than 100 fonts */ + if (SendMessage((HWND)lParam, CB_GETCOUNT, 0, 0) >= 100) + return 0; - /* Only add the string once */ - if (SendMessage((HWND)lParam, CB_FINDSTRINGEXACT, -1, (WPARAM)&(lpelfe->elfLogFont.lfFaceName)) != CB_ERR) - return 2; + /* Only add the string once */ + if (SendMessage((HWND)lParam, CB_FINDSTRINGEXACT, -1, (WPARAM)&(lpelfe->elfLogFont.lfFaceName)) != CB_ERR) + return 2; - SendMessage((HWND)lParam, CB_ADDSTRING, 0, (WPARAM)&(lpelfe->elfLogFont.lfFaceName)); + SendMessage((HWND)lParam, CB_ADDSTRING, 0, (WPARAM)&(lpelfe->elfLogFont.lfFaceName)); - return 1; + return 1; } @@ -206,78 +206,78 @@ EnumFontFamExProc(ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme, DWORD dwFontTy static VOID UpdateControls(HWND hwndDlg, GLOBALS *g) { - INT iElement; - HDC hdcDlg; + INT iElement; + HDC hdcDlg; - iElement = g->CurrentElement; + iElement = g->CurrentElement; - /* First enable / disable the controls */ - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E), (g_Assignment[iElement].Size != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD), (g_Assignment[iElement].Size != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_T), (g_Assignment[iElement].Size != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_COLOR1_T), (g_Assignment[iElement].Color1 != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_COLOR2_T), (g_Assignment[iElement].Color2 != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONT_T), (g_Assignment[iElement].Font != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONT_C), (g_Assignment[iElement].Font != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_T), (g_Assignment[iElement].Font != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E), (g_Assignment[iElement].Font != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTCOLOR_T), (g_Assignment[iElement].FontColor != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD), (g_Assignment[iElement].Font != -1)); - EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC), (g_Assignment[iElement].Font != -1)); + /* First enable / disable the controls */ + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E), (g_Assignment[iElement].Size != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD), (g_Assignment[iElement].Size != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_T), (g_Assignment[iElement].Size != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_COLOR1_T), (g_Assignment[iElement].Color1 != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_COLOR2_T), (g_Assignment[iElement].Color2 != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONT_T), (g_Assignment[iElement].Font != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONT_C), (g_Assignment[iElement].Font != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_T), (g_Assignment[iElement].Font != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E), (g_Assignment[iElement].Font != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTCOLOR_T), (g_Assignment[iElement].FontColor != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD), (g_Assignment[iElement].Font != -1)); + EnableWindow(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC), (g_Assignment[iElement].Font != -1)); - /* Update the colors of the color buttons */ - UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_COLOR1_B, 0, g_Assignment[iElement].Color1); - UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_COLOR2_B, 1, g_Assignment[iElement].Color2); - UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_FONTCOLOR_B, 2, g_Assignment[iElement].FontColor); + /* Update the colors of the color buttons */ + UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_COLOR1_B, 0, g_Assignment[iElement].Color1); + UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_COLOR2_B, 1, g_Assignment[iElement].Color2); + UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_FONTCOLOR_B, 2, g_Assignment[iElement].FontColor); - if (g_Assignment[iElement].Size != -1) - SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, g->SchemeAdv.Size[g_Assignment[iElement].Size], FALSE); - else - SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, TEXT("")); + if (g_Assignment[iElement].Size != -1) + SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, g->SchemeAdv.Size[g_Assignment[iElement].Size], FALSE); + else + SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, TEXT("")); - hdcDlg = GetDC(hwndDlg); - if (g_Assignment[iElement].Font != -1) - { - LOGFONT lfFont = g->SchemeAdv.lfFont[g_Assignment[iElement].Font]; + hdcDlg = GetDC(hwndDlg); + if (g_Assignment[iElement].Font != -1) + { + LOGFONT lfFont = g->SchemeAdv.lfFont[g_Assignment[iElement].Font]; - SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, lfFont.lfFaceName); - SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, -MulDiv(g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfHeight, 72, GetDeviceCaps(hdcDlg, LOGPIXELSY)),FALSE); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, CB_FINDSTRINGEXACT, -1, (WPARAM)lfFont.lfFaceName); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_SETCHECK, g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfWeight == FW_BOLD?1:0, 0); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_SETCHECK, g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfItalic, 0); - } - else - { - SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, NULL); - SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, NULL); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_SETCHECK, 0, 0); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_SETCHECK, 0, 0); - } + SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, lfFont.lfFaceName); + SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, -MulDiv(g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfHeight, 72, GetDeviceCaps(hdcDlg, LOGPIXELSY)),FALSE); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, CB_FINDSTRINGEXACT, -1, (WPARAM)lfFont.lfFaceName); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_SETCHECK, g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfWeight == FW_BOLD?1:0, 0); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_SETCHECK, g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfItalic, 0); + } + else + { + SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, NULL); + SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, NULL); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_SETCHECK, 0, 0); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_SETCHECK, 0, 0); + } - ReleaseDC(hwndDlg, hdcDlg); + ReleaseDC(hwndDlg, hdcDlg); } static VOID SaveCurrentValues(HWND hwndDlg, GLOBALS *g) { - BOOL bTranslated; - HDC hdcDlg = GetDC(hwndDlg); + BOOL bTranslated; + HDC hdcDlg = GetDC(hwndDlg); - if (g_Assignment[g->CurrentElement].Size != -1) - { - g->SchemeAdv.Size[g_Assignment[g->CurrentElement].Size] = GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, &bTranslated, FALSE); - } + if (g_Assignment[g->CurrentElement].Size != -1) + { + g->SchemeAdv.Size[g_Assignment[g->CurrentElement].Size] = GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, &bTranslated, FALSE); + } - if (g_Assignment[g->CurrentElement].Font != -1) - { - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = -MulDiv(GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, &bTranslated, FALSE), GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = (SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0) == 1) ? FW_BOLD : FW_NORMAL; - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); - GetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName, LF_FACESIZE * sizeof(TCHAR)); - } + if (g_Assignment[g->CurrentElement].Font != -1) + { + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = -MulDiv(GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, &bTranslated, FALSE), GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = (SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0) == 1) ? FW_BOLD : FW_NORMAL; + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); + GetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName, LF_FACESIZE * sizeof(TCHAR)); + } - ReleaseDC(hwndDlg, hdcDlg); + ReleaseDC(hwndDlg, hdcDlg); } @@ -285,57 +285,57 @@ SaveCurrentValues(HWND hwndDlg, GLOBALS *g) static BOOL GetColor(HWND hwndDlg, GLOBALS* g, INT nButton) { - CHOOSECOLOR cc; - COLORREF crCustom[16] = { 0 }; - COLORREF crColor; - INT ID = 0; - INT ColorIndex = 0; + CHOOSECOLOR cc; + COLORREF crCustom[16] = { 0 }; + COLORREF crColor; + INT ID = 0; + INT ColorIndex = 0; - /* Get the color index from the element index and button number */ - switch (nButton) - { - case 0: - ColorIndex = g_Assignment[g->CurrentElement].Color1; - ID = IDC_ADVAPPEARANCE_COLOR1_B; - break; + /* Get the color index from the element index and button number */ + switch (nButton) + { + case 0: + ColorIndex = g_Assignment[g->CurrentElement].Color1; + ID = IDC_ADVAPPEARANCE_COLOR1_B; + break; - case 1: - ColorIndex = g_Assignment[g->CurrentElement].Color2; - ID = IDC_ADVAPPEARANCE_COLOR2_B; - break; + case 1: + ColorIndex = g_Assignment[g->CurrentElement].Color2; + ID = IDC_ADVAPPEARANCE_COLOR2_B; + break; - case 2: - ColorIndex = g_Assignment[g->CurrentElement].FontColor; - ID = IDC_ADVAPPEARANCE_FONTCOLOR_B; - break; - } + case 2: + ColorIndex = g_Assignment[g->CurrentElement].FontColor; + ID = IDC_ADVAPPEARANCE_FONTCOLOR_B; + break; + } - crColor = g->SchemeAdv.crColor[ColorIndex]; + crColor = g->SchemeAdv.crColor[ColorIndex]; - /* Prepare cc structure */ - cc.lStructSize = sizeof(CHOOSECOLOR); - cc.hwndOwner = hwndDlg; - cc.hInstance = NULL; - cc.rgbResult = crColor; - cc.lpCustColors = crCustom; - cc.Flags = CC_ANYCOLOR | CC_FULLOPEN | CC_RGBINIT; - cc.lCustData = 0; - cc.lpfnHook = NULL; - cc.lpTemplateName = NULL; + /* Prepare cc structure */ + cc.lStructSize = sizeof(CHOOSECOLOR); + cc.hwndOwner = hwndDlg; + cc.hInstance = NULL; + cc.rgbResult = crColor; + cc.lpCustColors = crCustom; + cc.Flags = CC_ANYCOLOR | CC_FULLOPEN | CC_RGBINIT; + cc.lCustData = 0; + cc.lpfnHook = NULL; + cc.lpTemplateName = NULL; - /* Create the colorpicker */ - if (ChooseColor(&cc)) - { - g->SchemeAdv.crColor[ColorIndex] = cc.rgbResult; - if (crColor != cc.rgbResult) - { - UpdateButtonColor(hwndDlg, g, ID, nButton, ColorIndex); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - return TRUE; - } - } + /* Create the colorpicker */ + if (ChooseColor(&cc)) + { + g->SchemeAdv.crColor[ColorIndex] = cc.rgbResult; + if (crColor != cc.rgbResult) + { + UpdateButtonColor(hwndDlg, g, ID, nButton, ColorIndex); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + return TRUE; + } + } - return FALSE; + return FALSE; } @@ -343,103 +343,103 @@ GetColor(HWND hwndDlg, GLOBALS* g, INT nButton) static VOID AdvAppearanceDlg_Init(HWND hwndDlg, GLOBALS *g) { - INT i, iElement, iListIndex, iDeskIndex = 0; - TCHAR tstrText[80]; - LOGFONT lfFont; - LOGFONT lfButtonFont; - HFONT hMyFont; - HDC hScreenDC; - TCHAR Size[4]; + INT i, iElement, iListIndex, iDeskIndex = 0; + TCHAR tstrText[80]; + LOGFONT lfFont; + LOGFONT lfButtonFont; + HFONT hMyFont; + HDC hScreenDC; + TCHAR Size[4]; - /* Copy the current theme values */ - g->SchemeAdv = g->Scheme; + /* Copy the current theme values */ + g->SchemeAdv = g->Scheme; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - /* Add the elements to the combo */ - for (iElement = 0; iElement < NUM_ELEMENTS; iElement++) - { - LoadString(hApplet, IDS_ELEMENT_1 + iElement, (LPTSTR)&tstrText, 79); - iListIndex = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_ADDSTRING, 0, (LPARAM)&tstrText); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_SETITEMDATA, (WPARAM)iListIndex, (LPARAM)iElement); - } + /* Add the elements to the combo */ + for (iElement = 0; iElement < NUM_ELEMENTS; iElement++) + { + LoadString(hApplet, IDS_ELEMENT_1 + iElement, (LPTSTR)&tstrText, 79); + iListIndex = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_ADDSTRING, 0, (LPARAM)&tstrText); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_SETITEMDATA, (WPARAM)iListIndex, (LPARAM)iElement); + } - /* Get the list index of the desktop element */ - for (iListIndex = 0; iListIndex < NUM_ELEMENTS; iListIndex++) - { - iElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, (WPARAM)iListIndex, 0); - if (iElement == 0) - { - iDeskIndex = iListIndex; - break; - } - } + /* Get the list index of the desktop element */ + for (iListIndex = 0; iListIndex < NUM_ELEMENTS; iListIndex++) + { + iElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, (WPARAM)iListIndex, 0); + if (iElement == 0) + { + iDeskIndex = iListIndex; + break; + } + } - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_SETCURSEL, iDeskIndex, 0); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_SETCURSEL, iDeskIndex, 0); - /* Create font for bold button */ - lfButtonFont = g->Scheme.lfFont[FONT_DIALOG]; - lfButtonFont.lfWeight = FW_BOLD; - lfButtonFont.lfItalic = FALSE; - hMyFont = CreateFontIndirect(&lfButtonFont); - if (hMyFont) - { - if (g->hBoldFont) - DeleteObject(g->hBoldFont); + /* Create font for bold button */ + lfButtonFont = g->Scheme.lfFont[FONT_DIALOG]; + lfButtonFont.lfWeight = FW_BOLD; + lfButtonFont.lfItalic = FALSE; + hMyFont = CreateFontIndirect(&lfButtonFont); + if (hMyFont) + { + if (g->hBoldFont) + DeleteObject(g->hBoldFont); - g->hBoldFont = hMyFont; - } + g->hBoldFont = hMyFont; + } - /* Create font for italic button */ - lfButtonFont.lfWeight = FW_REGULAR; - lfButtonFont.lfItalic = TRUE; - hMyFont = CreateFontIndirect(&lfButtonFont); - if (hMyFont) - { - if (g->hItalicFont) - DeleteObject(g->hItalicFont); + /* Create font for italic button */ + lfButtonFont.lfWeight = FW_REGULAR; + lfButtonFont.lfItalic = TRUE; + hMyFont = CreateFontIndirect(&lfButtonFont); + if (hMyFont) + { + if (g->hItalicFont) + DeleteObject(g->hItalicFont); - g->hItalicFont = hMyFont; - } + g->hItalicFont = hMyFont; + } - /* Set the fonts for the font style buttons */ - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, WM_SETFONT, (WPARAM)g->hBoldFont, (LPARAM)TRUE); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, WM_SETFONT, (WPARAM)g->hItalicFont, (LPARAM)TRUE); + /* Set the fonts for the font style buttons */ + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, WM_SETFONT, (WPARAM)g->hBoldFont, (LPARAM)TRUE); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, WM_SETFONT, (WPARAM)g->hItalicFont, (LPARAM)TRUE); - /* Draw Bitmaps for the colorbuttons */ - InitColorButtons(hwndDlg, g); + /* Draw Bitmaps for the colorbuttons */ + InitColorButtons(hwndDlg, g); - /* Make the UpDown control count correctly */ - SendMessage(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD), UDM_SETRANGE, 0L, MAKELONG (200, 1)); + /* Make the UpDown control count correctly */ + SendMessage(GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD), UDM_SETRANGE, 0L, MAKELONG (200, 1)); - /* Fill font selection combo */ - lfFont.lfCharSet = DEFAULT_CHARSET; - lfFont.lfFaceName[0] = (TCHAR)0; - lfFont.lfPitchAndFamily = 0; - hScreenDC = GetDC(0); - EnumFontFamiliesEx(hScreenDC, &lfFont, (FONTENUMPROC)EnumFontFamExProc, (LPARAM)GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONT_C), 0); - ReleaseDC(0, hScreenDC); + /* Fill font selection combo */ + lfFont.lfCharSet = DEFAULT_CHARSET; + lfFont.lfFaceName[0] = (TCHAR)0; + lfFont.lfPitchAndFamily = 0; + hScreenDC = GetDC(0); + EnumFontFamiliesEx(hScreenDC, &lfFont, (FONTENUMPROC)EnumFontFamExProc, (LPARAM)GetDlgItem(hwndDlg, IDC_ADVAPPEARANCE_FONT_C), 0); + ReleaseDC(0, hScreenDC); - /* Fill font size combo */ - for (i = 6; i <= 24; i++) - { - wsprintf(Size, TEXT("%d"), i); - SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, CB_ADDSTRING, 0, (LPARAM)&Size); - } + /* Fill font size combo */ + for (i = 6; i <= 24; i++) + { + wsprintf(Size, TEXT("%d"), i); + SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, CB_ADDSTRING, 0, (LPARAM)&Size); + } - /* Update the controls */ - iListIndex = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETCURSEL, 0, 0); - g->CurrentElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, (WPARAM)iListIndex, 0); - UpdateControls(hwndDlg, g); + /* Update the controls */ + iListIndex = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETCURSEL, 0, 0); + g->CurrentElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, (WPARAM)iListIndex, 0); + UpdateControls(hwndDlg, g); } static VOID AdvAppearanceDlg_CleanUp(HWND hwndDlg, GLOBALS* g) { - DeleteObject(g->hBoldFont); - DeleteObject(g->hItalicFont); + DeleteObject(g->hBoldFont); + DeleteObject(g->hItalicFont); } @@ -520,261 +520,261 @@ GetEditedComboInt(HWND hwnd, INT id) INT_PTR CALLBACK AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { - INT iListIndex; - GLOBALS* g; + INT iListIndex; + GLOBALS* g; - g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER); + g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER); - switch (uMsg) - { - case WM_INITDIALOG: - g = (GLOBALS*)lParam; - SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g); - AdvAppearanceDlg_Init(hwndDlg, g); - break; + switch (uMsg) + { + case WM_INITDIALOG: + g = (GLOBALS*)lParam; + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g); + AdvAppearanceDlg_Init(hwndDlg, g); + break; - case WM_DESTROY: - AdvAppearanceDlg_CleanUp(hwndDlg, g); - break; + case WM_DESTROY: + AdvAppearanceDlg_CleanUp(hwndDlg, g); + break; - case WM_COMMAND: - switch(LOWORD(wParam)) - { - case IDOK: - SaveCurrentValues(hwndDlg, g); - EndDialog(hwndDlg, IDOK); - break; + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDOK: + SaveCurrentValues(hwndDlg, g); + EndDialog(hwndDlg, IDOK); + break; - case IDCANCEL: - g->SchemeAdv = g->Scheme; - EndDialog(hwndDlg, IDCANCEL); - break; + case IDCANCEL: + g->SchemeAdv = g->Scheme; + EndDialog(hwndDlg, IDCANCEL); + break; - case IDC_APPEARANCE_PREVIEW: - SaveCurrentValues(hwndDlg, g); - SelectComboByElement(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, lParam); - g->CurrentElement = (INT)lParam; - UpdateControls(hwndDlg, g); - break; + case IDC_APPEARANCE_PREVIEW: + SaveCurrentValues(hwndDlg, g); + SelectComboByElement(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, lParam); + g->CurrentElement = (INT)lParam; + UpdateControls(hwndDlg, g); + break; - case IDC_ADVAPPEARANCE_ELEMENT: - if (HIWORD(wParam) == CBN_SELCHANGE) - { - SaveCurrentValues(hwndDlg, g); - iListIndex = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETCURSEL, 0, 0); - g->CurrentElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, (WPARAM)iListIndex, 0); - UpdateControls(hwndDlg, g); - } - break; + case IDC_ADVAPPEARANCE_ELEMENT: + if (HIWORD(wParam) == CBN_SELCHANGE) + { + SaveCurrentValues(hwndDlg, g); + iListIndex = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETCURSEL, 0, 0); + g->CurrentElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, (WPARAM)iListIndex, 0); + UpdateControls(hwndDlg, g); + } + break; - case IDC_ADVAPPEARANCE_SIZE_E: - if (g && HIWORD(wParam) == EN_CHANGE) - { - INT i = (INT)LOWORD(SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD, UDM_GETPOS,0,0L)); + case IDC_ADVAPPEARANCE_SIZE_E: + if (g && HIWORD(wParam) == EN_CHANGE) + { + INT i = (INT)LOWORD(SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD, UDM_GETPOS,0,0L)); - switch (g->CurrentElement) - { - case IDX_INACTIVE_CAPTION: - case IDX_ACTIVE_CAPTION: - case IDX_CAPTION_BUTTON: - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYCAPTION, 0, i); - break; + switch (g->CurrentElement) + { + case IDX_INACTIVE_CAPTION: + case IDX_ACTIVE_CAPTION: + case IDX_CAPTION_BUTTON: + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYCAPTION, 0, i); + break; - case IDX_MENU: - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYMENU, 0, i); - break; + case IDX_MENU: + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYMENU, 0, i); + break; - case IDX_SCROLLBAR: - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCXSCROLLBAR, 0, i); - break; + case IDX_SCROLLBAR: + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCXSCROLLBAR, 0, i); + break; - case IDX_INACTIVE_BORDER: - case IDX_ACTIVE_BORDER: - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYSIZEFRAME, 0, i); - break; - } - } - break; + case IDX_INACTIVE_BORDER: + case IDX_ACTIVE_BORDER: + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYSIZEFRAME, 0, i); + break; + } + } + break; - case IDC_ADVAPPEARANCE_FONT_C: - if (g && HIWORD(wParam) == CBN_SELCHANGE) - { - switch (g->CurrentElement) - { - case IDX_INACTIVE_CAPTION: - case IDX_ACTIVE_CAPTION: - GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + case IDC_ADVAPPEARANCE_FONT_C: + if (g && HIWORD(wParam) == CBN_SELCHANGE) + { + switch (g->CurrentElement) + { + case IDX_INACTIVE_CAPTION: + case IDX_ACTIVE_CAPTION: + GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_MENU: - GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + case IDX_MENU: + GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_DIALOG: - GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; - } - } - break; + case IDX_DIALOG: + GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; + } + } + break; - case IDC_ADVAPPEARANCE_FONTSIZE_E: - if (g && HIWORD(wParam) == CBN_SELCHANGE) - { - HDC hdcDlg = GetDC(hwndDlg); - INT i; + case IDC_ADVAPPEARANCE_FONTSIZE_E: + if (g && HIWORD(wParam) == CBN_SELCHANGE) + { + HDC hdcDlg = GetDC(hwndDlg); + INT i; - switch (g->CurrentElement) - { - case IDX_INACTIVE_CAPTION: - case IDX_ACTIVE_CAPTION: - i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = - -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + switch (g->CurrentElement) + { + case IDX_INACTIVE_CAPTION: + case IDX_ACTIVE_CAPTION: + i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = + -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_MENU: - i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = - -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + case IDX_MENU: + i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = + -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_DIALOG: - i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = - -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; - } + case IDX_DIALOG: + i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = + -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; + } - ReleaseDC(hwndDlg, hdcDlg); - } - else if (g && HIWORD(wParam) == CBN_EDITCHANGE) - { - HDC hdcDlg = GetDC(hwndDlg); - INT i; + ReleaseDC(hwndDlg, hdcDlg); + } + else if (g && HIWORD(wParam) == CBN_EDITCHANGE) + { + HDC hdcDlg = GetDC(hwndDlg); + INT i; - switch (g->CurrentElement) - { - case IDX_INACTIVE_CAPTION: - case IDX_ACTIVE_CAPTION: - i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = - -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + switch (g->CurrentElement) + { + case IDX_INACTIVE_CAPTION: + case IDX_ACTIVE_CAPTION: + i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = + -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_MENU: - i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = - -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + case IDX_MENU: + i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = + -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_DIALOG: - i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = - -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; - } + case IDX_DIALOG: + i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = + -MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; + } - ReleaseDC(hwndDlg, hdcDlg); - } - break; + ReleaseDC(hwndDlg, hdcDlg); + } + break; - case IDC_ADVAPPEARANCE_FONTBOLD: - if (g && HIWORD(wParam) == BN_CLICKED) - { - INT i; + case IDC_ADVAPPEARANCE_FONTBOLD: + if (g && HIWORD(wParam) == BN_CLICKED) + { + INT i; - switch (g->CurrentElement) - { - case IDX_INACTIVE_CAPTION: - case IDX_ACTIVE_CAPTION: - i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = - (i == BST_CHECKED) ? FW_BOLD : FW_NORMAL; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + switch (g->CurrentElement) + { + case IDX_INACTIVE_CAPTION: + case IDX_ACTIVE_CAPTION: + i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = + (i == BST_CHECKED) ? FW_BOLD : FW_NORMAL; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_MENU: - i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0); + case IDX_MENU: + i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = - (i == BST_CHECKED) ? FW_BOLD : FW_NORMAL; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = + (i == BST_CHECKED) ? FW_BOLD : FW_NORMAL; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_DIALOG: - i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = - (i == BST_CHECKED) ? FW_BOLD : FW_NORMAL; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; - } - } - break; + case IDX_DIALOG: + i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = + (i == BST_CHECKED) ? FW_BOLD : FW_NORMAL; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; + } + } + break; - case IDC_ADVAPPEARANCE_FONTITALIC: - if (g && HIWORD(wParam) == BN_CLICKED) - { - INT i; + case IDC_ADVAPPEARANCE_FONTITALIC: + if (g && HIWORD(wParam) == BN_CLICKED) + { + INT i; - switch (g->CurrentElement) - { - case IDX_INACTIVE_CAPTION: - case IDX_ACTIVE_CAPTION: - i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = - (i == BST_CHECKED) ? TRUE : FALSE; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + switch (g->CurrentElement) + { + case IDX_INACTIVE_CAPTION: + case IDX_ACTIVE_CAPTION: + i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = + (i == BST_CHECKED) ? TRUE : FALSE; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_MENU: - i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = - (i == BST_CHECKED) ? TRUE : FALSE; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; + case IDX_MENU: + i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = + (i == BST_CHECKED) ? TRUE : FALSE; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; - case IDX_DIALOG: - i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); - g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = - (i == BST_CHECKED) ? TRUE : FALSE; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); - break; - } - } - break; + case IDX_DIALOG: + i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); + g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = + (i == BST_CHECKED) ? TRUE : FALSE; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); + break; + } + } + break; - case IDC_ADVAPPEARANCE_COLOR1_B: - GetColor(hwndDlg, g, 0); - break; + case IDC_ADVAPPEARANCE_COLOR1_B: + GetColor(hwndDlg, g, 0); + break; - case IDC_ADVAPPEARANCE_COLOR2_B: - GetColor(hwndDlg, g, 1); - break; + case IDC_ADVAPPEARANCE_COLOR2_B: + GetColor(hwndDlg, g, 1); + break; - case IDC_ADVAPPEARANCE_FONTCOLOR_B: - GetColor(hwndDlg, g, 2); - break; + case IDC_ADVAPPEARANCE_FONTCOLOR_B: + GetColor(hwndDlg, g, 2); + break; - default: - return FALSE; - } - break; + default: + return FALSE; + } + break; - default: - return FALSE; - } + default: + return FALSE; + } - return TRUE; + return TRUE; } diff --git a/reactos/dll/cpl/desk/appearance.c b/reactos/dll/cpl/desk/appearance.c index 1d707cab0bd..092c433ca8d 100644 --- a/reactos/dll/cpl/desk/appearance.c +++ b/reactos/dll/cpl/desk/appearance.c @@ -15,245 +15,245 @@ static void AppearancePage_ShowColorScemes(GLOBALS *g, HWND hwndColor, INT ThemeId) { - int i, iListIndex; + int i, iListIndex; - SendMessage(hwndColor, CB_RESETCONTENT , 0, 0); + SendMessage(hwndColor, CB_RESETCONTENT , 0, 0); - if(g->bThemeActive == FALSE) - { - for(i = 0; i < g_TemplateCount; i++) - { - iListIndex = SendMessage(hwndColor, CB_ADDSTRING, 0, (LPARAM)g_ColorSchemes[i].strLegacyName); - SendMessage(hwndColor, CB_SETITEMDATA, iListIndex, i); - if (lstrcmp(g_ColorSchemes[i].strKeyName, g->strSelectedStyle) == 0) - { - g->SchemeId = i; - SendMessage(hwndColor, CB_SETCURSEL, (WPARAM)iListIndex, 0); - } - } - } - else - { - PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, ThemeId); - for(i = 0; i < pTheme->ColorsCount; i++) - { - PTHEME_STYLE pStyleName; - pStyleName = (PTHEME_STYLE)DSA_GetItemPtr(pTheme->Colors, i); - iListIndex = SendMessage(hwndColor, CB_ADDSTRING, 0, (LPARAM)pStyleName->DisplayName); - SendMessage(hwndColor, CB_SETITEMDATA, iListIndex, i); - if(i == 0 || (g->pszColorName && wcscmp(pStyleName->StlyeName, g->pszColorName) == 0)) - { - g->SchemeId = i; - SendMessage(hwndColor, CB_SETCURSEL, (WPARAM)iListIndex, 0); - } - } - } + if(g->bThemeActive == FALSE) + { + for(i = 0; i < g_TemplateCount; i++) + { + iListIndex = SendMessage(hwndColor, CB_ADDSTRING, 0, (LPARAM)g_ColorSchemes[i].strLegacyName); + SendMessage(hwndColor, CB_SETITEMDATA, iListIndex, i); + if (lstrcmp(g_ColorSchemes[i].strKeyName, g->strSelectedStyle) == 0) + { + g->SchemeId = i; + SendMessage(hwndColor, CB_SETCURSEL, (WPARAM)iListIndex, 0); + } + } + } + else + { + PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, ThemeId); + for(i = 0; i < pTheme->ColorsCount; i++) + { + PTHEME_STYLE pStyleName; + pStyleName = (PTHEME_STYLE)DSA_GetItemPtr(pTheme->Colors, i); + iListIndex = SendMessage(hwndColor, CB_ADDSTRING, 0, (LPARAM)pStyleName->DisplayName); + SendMessage(hwndColor, CB_SETITEMDATA, iListIndex, i); + if(i == 0 || (g->pszColorName && wcscmp(pStyleName->StlyeName, g->pszColorName) == 0)) + { + g->SchemeId = i; + SendMessage(hwndColor, CB_SETCURSEL, (WPARAM)iListIndex, 0); + } + } + } } static INT_PTR AppearancePage_OnInit(HWND hwndDlg) { - INT i, /*TemplateCount,*/ iListIndex; - HWND hwndColor, hwndTheme; - GLOBALS *g; + INT i, /*TemplateCount,*/ iListIndex; + HWND hwndColor, hwndTheme; + GLOBALS *g; - g = (GLOBALS*)LocalAlloc(LPTR, sizeof(GLOBALS)); - if (g == NULL) - return FALSE; + g = (GLOBALS*)LocalAlloc(LPTR, sizeof(GLOBALS)); + if (g == NULL) + return FALSE; - SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g); + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g); - LoadCurrentScheme(&g->Scheme); - g->SchemeAdv = g->Scheme; - g->bThemeChanged = FALSE; - g->bSchemeChanged = FALSE; - g->hBoldFont = g->hItalicFont = NULL; - g->hbmpColor[0] = g->hbmpColor[1] = g->hbmpColor[2] = NULL; - g->bInitializing = FALSE; - g->bThemeActive = FALSE; + LoadCurrentScheme(&g->Scheme); + g->SchemeAdv = g->Scheme; + g->bThemeChanged = FALSE; + g->bSchemeChanged = FALSE; + g->hBoldFont = g->hItalicFont = NULL; + g->hbmpColor[0] = g->hbmpColor[1] = g->hbmpColor[2] = NULL; + g->bInitializing = FALSE; + g->bThemeActive = FALSE; - LoadThemes(g); + LoadThemes(g); - /*TemplateCount = */ LoadSchemePresetEntries(g->strSelectedStyle); + /*TemplateCount = */ LoadSchemePresetEntries(g->strSelectedStyle); - hwndColor = GetDlgItem(hwndDlg, IDC_APPEARANCE_COLORSCHEME); - g->SchemeId = -1; - g->bInitializing = TRUE; + hwndColor = GetDlgItem(hwndDlg, IDC_APPEARANCE_COLORSCHEME); + g->SchemeId = -1; + g->bInitializing = TRUE; - hwndTheme = GetDlgItem(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); - for(i = 0; i < g->ThemesCount; i++) - { - PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, i); - iListIndex = SendMessage(hwndTheme, CB_ADDSTRING, 0, (LPARAM)pTheme->displayName); - SendMessage(hwndTheme, CB_SETITEMDATA, iListIndex, i); - if((!pTheme->themeFileName && !IsThemeActive()) || - (pTheme->themeFileName && g->pszThemeFileName && wcscmp(pTheme->themeFileName, g->pszThemeFileName) == 0 )) - { - g->ThemeId = i; - g->bThemeActive = (pTheme->themeFileName != NULL); - SendMessage(hwndTheme, CB_SETCURSEL, (WPARAM)iListIndex, 0); - AppearancePage_ShowColorScemes(g, hwndColor, i); - } + hwndTheme = GetDlgItem(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); + for(i = 0; i < g->ThemesCount; i++) + { + PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, i); + iListIndex = SendMessage(hwndTheme, CB_ADDSTRING, 0, (LPARAM)pTheme->displayName); + SendMessage(hwndTheme, CB_SETITEMDATA, iListIndex, i); + if((!pTheme->themeFileName && !IsThemeActive()) || + (pTheme->themeFileName && g->pszThemeFileName && wcscmp(pTheme->themeFileName, g->pszThemeFileName) == 0 )) + { + g->ThemeId = i; + g->bThemeActive = (pTheme->themeFileName != NULL); + SendMessage(hwndTheme, CB_SETCURSEL, (WPARAM)iListIndex, 0); + AppearancePage_ShowColorScemes(g, hwndColor, i); + } - } + } - g->bInitializing = FALSE; + g->bInitializing = FALSE; - return FALSE; + return FALSE; } static VOID AppearancePage_OnDestroy(HWND hwndDlg, GLOBALS *g) { - LocalFree(g); + LocalFree(g); } static INT GetSelectedId(HWND hwndDlg, int nIDDlgItem) { - HWND hwndCombo; - INT sel; + HWND hwndCombo; + INT sel; - hwndCombo = GetDlgItem(hwndDlg, nIDDlgItem); - sel = SendMessage(hwndCombo, CB_GETCURSEL, 0, 0); - if (sel == CB_ERR) - return -1; - return (INT)SendMessage(hwndCombo, CB_GETITEMDATA, (WPARAM)sel, 0); + hwndCombo = GetDlgItem(hwndDlg, nIDDlgItem); + sel = SendMessage(hwndCombo, CB_GETCURSEL, 0, 0); + if (sel == CB_ERR) + return -1; + return (INT)SendMessage(hwndCombo, CB_GETITEMDATA, (WPARAM)sel, 0); } INT_PTR CALLBACK AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { - GLOBALS *g; - LPNMHDR lpnm; + GLOBALS *g; + LPNMHDR lpnm; - g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER); + g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER); - switch (uMsg) - { - case WM_INITDIALOG: - return AppearancePage_OnInit(hwndDlg); + switch (uMsg) + { + case WM_INITDIALOG: + return AppearancePage_OnInit(hwndDlg); - case WM_DESTROY: - AppearancePage_OnDestroy(hwndDlg, g); - break; + case WM_DESTROY: + AppearancePage_OnDestroy(hwndDlg, g); + break; - case WM_COMMAND: - switch (LOWORD(wParam)) - { - case IDC_APPEARANCE_EFFECTS: - if (DialogBoxParam(hApplet, MAKEINTRESOURCE(IDD_EFFAPPEARANCE), - hwndDlg, EffAppearanceDlgProc, (LPARAM)g) == IDOK) - { - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - g->Scheme = g->SchemeAdv; - g->bSchemeChanged = TRUE; - // Effects dialog doesn't change the color scheme, therefore the following lines are commented out, until fixed finally - //g->SchemeId = -1; /* Customized */ - //SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_SETCURSEL, (WPARAM)-1, 0); - //SetDlgItemText(hwndDlg, IDC_APPEARANCE_COLORSCHEME, TEXT("")); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); - } - break; + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_APPEARANCE_EFFECTS: + if (DialogBoxParam(hApplet, MAKEINTRESOURCE(IDD_EFFAPPEARANCE), + hwndDlg, EffAppearanceDlgProc, (LPARAM)g) == IDOK) + { + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + g->Scheme = g->SchemeAdv; + g->bSchemeChanged = TRUE; + // Effects dialog doesn't change the color scheme, therefore the following lines are commented out, until fixed finally + //g->SchemeId = -1; /* Customized */ + //SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_SETCURSEL, (WPARAM)-1, 0); + //SetDlgItemText(hwndDlg, IDC_APPEARANCE_COLORSCHEME, TEXT("")); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); + } + break; - case IDC_APPEARANCE_ADVANCED: - if (DialogBoxParam(hApplet, MAKEINTRESOURCE(IDD_ADVAPPEARANCE), - hwndDlg, AdvAppearanceDlgProc, (LPARAM)g) == IDOK) - { - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - g->bSchemeChanged = TRUE; - g->Scheme = g->SchemeAdv; - g->SchemeId = -1; /* Customized */ - g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP]; + case IDC_APPEARANCE_ADVANCED: + if (DialogBoxParam(hApplet, MAKEINTRESOURCE(IDD_ADVAPPEARANCE), + hwndDlg, AdvAppearanceDlgProc, (LPARAM)g) == IDOK) + { + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + g->bSchemeChanged = TRUE; + g->Scheme = g->SchemeAdv; + g->SchemeId = -1; /* Customized */ + g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP]; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_SETCURSEL, (WPARAM)-1, 0); - SetDlgItemText(hwndDlg, IDC_APPEARANCE_COLORSCHEME, TEXT("")); + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_SETCURSEL, (WPARAM)-1, 0); + SetDlgItemText(hwndDlg, IDC_APPEARANCE_COLORSCHEME, TEXT("")); - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); - } - break; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); + } + break; - case IDC_APPEARANCE_COLORSCHEME: - if (HIWORD(wParam) == CBN_SELCHANGE && !g->bInitializing) - { - INT SchemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_COLORSCHEME); + case IDC_APPEARANCE_COLORSCHEME: + if (HIWORD(wParam) == CBN_SELCHANGE && !g->bInitializing) + { + INT SchemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_COLORSCHEME); - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - if(g->bThemeActive == FALSE) - { - COLOR_SCHEME Scheme; + if(g->bThemeActive == FALSE) + { + COLOR_SCHEME Scheme; - g->bSchemeChanged = TRUE; - if (SchemeId != -1 && LoadSchemeFromReg(&Scheme, SchemeId)) - { - g->Scheme = Scheme; - g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP]; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&Scheme); - } - } - else - { - g->bThemeChanged = TRUE; - } - } - break; - case IDC_APPEARANCE_VISUAL_STYLE: - if (HIWORD(wParam) == CBN_SELCHANGE && !g->bInitializing) - { - INT ThemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); - HWND hwndColor = GetDlgItem(hwndDlg, IDC_APPEARANCE_COLORSCHEME); + g->bSchemeChanged = TRUE; + if (SchemeId != -1 && LoadSchemeFromReg(&Scheme, SchemeId)) + { + g->Scheme = Scheme; + g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP]; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&Scheme); + } + } + else + { + g->bThemeChanged = TRUE; + } + } + break; + case IDC_APPEARANCE_VISUAL_STYLE: + if (HIWORD(wParam) == CBN_SELCHANGE && !g->bInitializing) + { + INT ThemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); + HWND hwndColor = GetDlgItem(hwndDlg, IDC_APPEARANCE_COLORSCHEME); - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - g->bThemeActive = (ThemeId!=0); - g->bThemeChanged = TRUE; - AppearancePage_ShowColorScemes(g, hwndColor, ThemeId); - } - break; - } - break; + g->bThemeActive = (ThemeId!=0); + g->bThemeChanged = TRUE; + AppearancePage_ShowColorScemes(g, hwndColor, ThemeId); + } + break; + } + break; - case WM_NOTIFY: - lpnm = (LPNMHDR)lParam; - switch (lpnm->code) - { - case PSN_APPLY: + case WM_NOTIFY: + lpnm = (LPNMHDR)lParam; + switch (lpnm->code) + { + case PSN_APPLY: - g->ThemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); - g->SchemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_COLORSCHEME); + g->ThemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); + g->SchemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_COLORSCHEME); - if(g->bSchemeChanged) - { - ApplyScheme(&g->Scheme, g->SchemeId); - } + if(g->bSchemeChanged) + { + ApplyScheme(&g->Scheme, g->SchemeId); + } - if(g->bThemeChanged) - { - PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, g->ThemeId); - ActivateTheme(pTheme, g->SchemeId, 0); - } + if(g->bThemeChanged) + { + PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, g->ThemeId); + ActivateTheme(pTheme, g->SchemeId, 0); + } - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); - g->bThemeChanged = FALSE; - g->bSchemeChanged = FALSE; - SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, (LONG_PTR)PSNRET_NOERROR); - return TRUE; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); + g->bThemeChanged = FALSE; + g->bSchemeChanged = FALSE; + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, (LONG_PTR)PSNRET_NOERROR); + return TRUE; - case PSN_KILLACTIVE: - SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, (LONG_PTR)FALSE); - return TRUE; + case PSN_KILLACTIVE: + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, (LONG_PTR)FALSE); + return TRUE; - case PSN_SETACTIVE: - if (g->Scheme.crColor[COLOR_DESKTOP] != g_GlobalData.desktop_color) - { - g->Scheme.crColor[COLOR_DESKTOP] = g_GlobalData.desktop_color; - SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); - } - break; - } - break; - } + case PSN_SETACTIVE: + if (g->Scheme.crColor[COLOR_DESKTOP] != g_GlobalData.desktop_color) + { + g->Scheme.crColor[COLOR_DESKTOP] = g_GlobalData.desktop_color; + SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); + } + break; + } + break; + } - return FALSE; + return FALSE; } diff --git a/reactos/dll/cpl/desk/appearance.h b/reactos/dll/cpl/desk/appearance.h index f6193e78434..6aef607d0f4 100644 --- a/reactos/dll/cpl/desk/appearance.h +++ b/reactos/dll/cpl/desk/appearance.h @@ -40,57 +40,57 @@ /* Most (but not all) fields below correspond to HKCU\Control Panel\Desktop\UserPreferencesMask */ typedef struct { - BOOL bActiveWindowTracking; - BOOL bMenuAnimation; - BOOL bComboBoxAnimation; - BOOL bListBoxSmoothScrolling; - BOOL bGradientCaptions; - BOOL bKeyboardCues; - BOOL bActiveWndTrkZorder; - BOOL bHotTracking; - BOOL bMenuFade; - BOOL bSelectionFade; - BOOL bTooltipAnimation; - BOOL bTooltipFade; - BOOL bCursorShadow; - BOOL bUiEffects; - BOOL bFontSmoothing; - BOOL bDragFullWindows; - UINT uiFontSmoothingType; + BOOL bActiveWindowTracking; + BOOL bMenuAnimation; + BOOL bComboBoxAnimation; + BOOL bListBoxSmoothScrolling; + BOOL bGradientCaptions; + BOOL bKeyboardCues; + BOOL bActiveWndTrkZorder; + BOOL bHotTracking; + BOOL bMenuFade; + BOOL bSelectionFade; + BOOL bTooltipAnimation; + BOOL bTooltipFade; + BOOL bCursorShadow; + BOOL bUiEffects; + BOOL bFontSmoothing; + BOOL bDragFullWindows; + UINT uiFontSmoothingType; } EFFECTS; typedef struct { - COLORREF crColor[NUM_COLORS]; - LOGFONT lfFont[NUM_FONTS]; - INT Size[NUM_SIZES]; - BOOL bFlatMenus; - EFFECTS Effects; + COLORREF crColor[NUM_COLORS]; + LOGFONT lfFont[NUM_FONTS]; + INT Size[NUM_SIZES]; + BOOL bFlatMenus; + EFFECTS Effects; } COLOR_SCHEME; typedef struct { - TCHAR strKeyName[4]; - TCHAR strSizeName[4]; - TCHAR strDisplayName[MAX_TEMPLATENAMELENTGH]; - TCHAR strLegacyName[MAX_TEMPLATENAMELENTGH]; + TCHAR strKeyName[4]; + TCHAR strSizeName[4]; + TCHAR strDisplayName[MAX_TEMPLATENAMELENTGH]; + TCHAR strLegacyName[MAX_TEMPLATENAMELENTGH]; } SCHEME_PRESET; /* struct for holding theme colors and sizes */ typedef struct _THEME_STYLE { - WCHAR* StlyeName; - WCHAR* DisplayName; + WCHAR* StlyeName; + WCHAR* DisplayName; } THEME_STYLE, *PTHEME_STYLE; typedef struct _THEME { - WCHAR* themeFileName; - WCHAR* displayName; - HDSA Colors; - int ColorsCount; - HDSA Sizes; - int SizesCount; + WCHAR* themeFileName; + WCHAR* displayName; + HDSA Colors; + int ColorsCount; + HDSA Sizes; + int SizesCount; } THEME, *PTHEME; @@ -99,27 +99,27 @@ typedef struct _THEME or by passing hwnd and getting the pointer by GetWindowLongPtr */ typedef struct tagGLOBALS { - HDSA Themes; - int ThemesCount; - BOOL bThemeActive; + HDSA Themes; + int ThemesCount; + BOOL bThemeActive; - INT ThemeId; - INT SchemeId; /* Theme is customized if SchemeId == -1 */ - INT SizeID; - TCHAR strSelectedStyle[4]; + INT ThemeId; + INT SchemeId; /* Theme is customized if SchemeId == -1 */ + INT SizeID; + TCHAR strSelectedStyle[4]; - LPWSTR pszThemeFileName; - LPWSTR pszColorName; - LPWSTR pszSizeName; + LPWSTR pszThemeFileName; + LPWSTR pszColorName; + LPWSTR pszSizeName; - COLOR_SCHEME Scheme; - COLOR_SCHEME SchemeAdv; - BOOL bThemeChanged; - BOOL bSchemeChanged; - HBITMAP hbmpColor[3]; - INT CurrentElement; - HFONT hBoldFont; - HFONT hItalicFont; + COLOR_SCHEME Scheme; + COLOR_SCHEME SchemeAdv; + BOOL bThemeChanged; + BOOL bSchemeChanged; + HBITMAP hbmpColor[3]; + INT CurrentElement; + HFONT hBoldFont; + HFONT hItalicFont; BOOL bInitializing; } GLOBALS; diff --git a/reactos/dll/cpl/desk/classinst.c b/reactos/dll/cpl/desk/classinst.c index 610eb779d87..e1cff5d486c 100644 --- a/reactos/dll/cpl/desk/classinst.c +++ b/reactos/dll/cpl/desk/classinst.c @@ -14,218 +14,218 @@ DWORD WINAPI DisplayClassInstaller( - IN DI_FUNCTION InstallFunction, - IN HDEVINFO DeviceInfoSet, - IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL) + IN DI_FUNCTION InstallFunction, + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL) { - SP_DEVINSTALL_PARAMS InstallParams; - SP_DRVINFO_DATA DriverInfoData; - HINF hInf = INVALID_HANDLE_VALUE; - TCHAR SectionName[MAX_PATH]; - TCHAR ServiceName[MAX_SERVICE_NAME_LEN]; - SP_DRVINFO_DETAIL_DATA DriverInfoDetailData; - HKEY hDriverKey = INVALID_HANDLE_VALUE; /* SetupDiOpenDevRegKey returns INVALID_HANDLE_VALUE in case of error! */ - HKEY hSettingsKey = NULL; - HKEY hServicesKey = NULL; - HKEY hServiceKey = NULL; - HKEY hDeviceSubKey = NULL; - DWORD disposition; - BOOL result; - LONG rc; + SP_DEVINSTALL_PARAMS InstallParams; + SP_DRVINFO_DATA DriverInfoData; + HINF hInf = INVALID_HANDLE_VALUE; + TCHAR SectionName[MAX_PATH]; + TCHAR ServiceName[MAX_SERVICE_NAME_LEN]; + SP_DRVINFO_DETAIL_DATA DriverInfoDetailData; + HKEY hDriverKey = INVALID_HANDLE_VALUE; /* SetupDiOpenDevRegKey returns INVALID_HANDLE_VALUE in case of error! */ + HKEY hSettingsKey = NULL; + HKEY hServicesKey = NULL; + HKEY hServiceKey = NULL; + HKEY hDeviceSubKey = NULL; + DWORD disposition; + BOOL result; + LONG rc; - if (InstallFunction != DIF_INSTALLDEVICE) - return ERROR_DI_DO_DEFAULT; + if (InstallFunction != DIF_INSTALLDEVICE) + return ERROR_DI_DO_DEFAULT; - /* Set DI_DONOTCALLCONFIGMG flag */ - InstallParams.cbSize = sizeof(SP_DEVINSTALL_PARAMS); - result = SetupDiGetDeviceInstallParams(DeviceInfoSet, DeviceInfoData, &InstallParams); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupDiGetDeviceInstallParams() failed with error 0x%lx\n", rc); - goto cleanup; - } + /* Set DI_DONOTCALLCONFIGMG flag */ + InstallParams.cbSize = sizeof(SP_DEVINSTALL_PARAMS); + result = SetupDiGetDeviceInstallParams(DeviceInfoSet, DeviceInfoData, &InstallParams); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupDiGetDeviceInstallParams() failed with error 0x%lx\n", rc); + goto cleanup; + } - InstallParams.Flags |= DI_DONOTCALLCONFIGMG; + InstallParams.Flags |= DI_DONOTCALLCONFIGMG; - result = SetupDiSetDeviceInstallParams(DeviceInfoSet, DeviceInfoData, &InstallParams); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupDiSetDeviceInstallParams() failed with error 0x%lx\n", rc); - goto cleanup; - } + result = SetupDiSetDeviceInstallParams(DeviceInfoSet, DeviceInfoData, &InstallParams); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupDiSetDeviceInstallParams() failed with error 0x%lx\n", rc); + goto cleanup; + } - /* Do normal install */ - result = SetupDiInstallDevice(DeviceInfoSet, DeviceInfoData); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupDiInstallDevice() failed with error 0x%lx\n", rc); - goto cleanup; - } + /* Do normal install */ + result = SetupDiInstallDevice(DeviceInfoSet, DeviceInfoData); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupDiInstallDevice() failed with error 0x%lx\n", rc); + goto cleanup; + } - /* Get .inf file name and section name */ - DriverInfoData.cbSize = sizeof(SP_DRVINFO_DATA); - result = SetupDiGetSelectedDriver(DeviceInfoSet, DeviceInfoData, &DriverInfoData); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupDiGetSelectedDriver() failed with error 0x%lx\n", rc); - goto cleanup; - } + /* Get .inf file name and section name */ + DriverInfoData.cbSize = sizeof(SP_DRVINFO_DATA); + result = SetupDiGetSelectedDriver(DeviceInfoSet, DeviceInfoData, &DriverInfoData); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupDiGetSelectedDriver() failed with error 0x%lx\n", rc); + goto cleanup; + } - DriverInfoDetailData.cbSize = sizeof(SP_DRVINFO_DETAIL_DATA); - result = SetupDiGetDriverInfoDetail( - DeviceInfoSet, DeviceInfoData, - &DriverInfoData, &DriverInfoDetailData, - sizeof(SP_DRVINFO_DETAIL_DATA), NULL); - if (!result && GetLastError() != ERROR_INSUFFICIENT_BUFFER) - { - rc = GetLastError(); - DPRINT("SetupDiGetDriverInfoDetail() failed with error 0x%lx\n", rc); - goto cleanup; - } + DriverInfoDetailData.cbSize = sizeof(SP_DRVINFO_DETAIL_DATA); + result = SetupDiGetDriverInfoDetail( + DeviceInfoSet, DeviceInfoData, + &DriverInfoData, &DriverInfoDetailData, + sizeof(SP_DRVINFO_DETAIL_DATA), NULL); + if (!result && GetLastError() != ERROR_INSUFFICIENT_BUFFER) + { + rc = GetLastError(); + DPRINT("SetupDiGetDriverInfoDetail() failed with error 0x%lx\n", rc); + goto cleanup; + } - hInf = SetupOpenInfFile(DriverInfoDetailData.InfFileName, NULL, INF_STYLE_WIN4, NULL); - if (hInf == INVALID_HANDLE_VALUE) - { - rc = GetLastError(); - DPRINT("SetupOpenInfFile() failed with error 0x%lx\n", rc); - goto cleanup; - } + hInf = SetupOpenInfFile(DriverInfoDetailData.InfFileName, NULL, INF_STYLE_WIN4, NULL); + if (hInf == INVALID_HANDLE_VALUE) + { + rc = GetLastError(); + DPRINT("SetupOpenInfFile() failed with error 0x%lx\n", rc); + goto cleanup; + } - result = SetupDiGetActualSectionToInstall( - hInf, DriverInfoDetailData.SectionName, - SectionName, MAX_PATH - _tcslen(_T(".SoftwareSettings")), NULL, NULL); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupDiGetActualSectionToInstall() failed with error 0x%lx\n", rc); - goto cleanup; - } - _tcscat(SectionName, _T(".SoftwareSettings")); + result = SetupDiGetActualSectionToInstall( + hInf, DriverInfoDetailData.SectionName, + SectionName, MAX_PATH - _tcslen(_T(".SoftwareSettings")), NULL, NULL); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupDiGetActualSectionToInstall() failed with error 0x%lx\n", rc); + goto cleanup; + } + _tcscat(SectionName, _T(".SoftwareSettings")); - /* Open driver registry key and create Settings subkey */ - hDriverKey = SetupDiOpenDevRegKey( - DeviceInfoSet, DeviceInfoData, - DICS_FLAG_GLOBAL, 0, DIREG_DRV, - KEY_CREATE_SUB_KEY); - if (hDriverKey == INVALID_HANDLE_VALUE) - { - rc = GetLastError(); - DPRINT("SetupDiOpenDevRegKey() failed with error 0x%lx\n", rc); - goto cleanup; - } - rc = RegCreateKeyEx( - hDriverKey, L"Settings", - 0, NULL, REG_OPTION_NON_VOLATILE, + /* Open driver registry key and create Settings subkey */ + hDriverKey = SetupDiOpenDevRegKey( + DeviceInfoSet, DeviceInfoData, + DICS_FLAG_GLOBAL, 0, DIREG_DRV, + KEY_CREATE_SUB_KEY); + if (hDriverKey == INVALID_HANDLE_VALUE) + { + rc = GetLastError(); + DPRINT("SetupDiOpenDevRegKey() failed with error 0x%lx\n", rc); + goto cleanup; + } + rc = RegCreateKeyEx( + hDriverKey, L"Settings", + 0, NULL, REG_OPTION_NON_VOLATILE, #if _WIN32_WINNT >= 0x502 - KEY_READ | KEY_WRITE, + KEY_READ | KEY_WRITE, #else - KEY_ALL_ACCESS, + KEY_ALL_ACCESS, #endif - NULL, &hSettingsKey, &disposition); - if (rc != ERROR_SUCCESS) - { - DPRINT("RegCreateKeyEx() failed with error 0x%lx\n", rc); - goto cleanup; - } + NULL, &hSettingsKey, &disposition); + if (rc != ERROR_SUCCESS) + { + DPRINT("RegCreateKeyEx() failed with error 0x%lx\n", rc); + goto cleanup; + } - /* Install .SoftwareSettings to Settings subkey */ - result = SetupInstallFromInfSection( - InstallParams.hwndParent, hInf, SectionName, - SPINST_REGISTRY, hSettingsKey, - NULL, 0, NULL, NULL, - NULL, NULL); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupInstallFromInfSection() failed with error 0x%lx\n", rc); - goto cleanup; - } + /* Install .SoftwareSettings to Settings subkey */ + result = SetupInstallFromInfSection( + InstallParams.hwndParent, hInf, SectionName, + SPINST_REGISTRY, hSettingsKey, + NULL, 0, NULL, NULL, + NULL, NULL); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupInstallFromInfSection() failed with error 0x%lx\n", rc); + goto cleanup; + } - /* Get service name and open service registry key */ - result = SetupDiGetDeviceRegistryProperty( - DeviceInfoSet, DeviceInfoData, - SPDRP_SERVICE, NULL, - (PBYTE)ServiceName, MAX_SERVICE_NAME_LEN * sizeof(TCHAR), NULL); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupDiGetDeviceRegistryProperty() failed with error 0x%lx\n", rc); - goto cleanup; - } + /* Get service name and open service registry key */ + result = SetupDiGetDeviceRegistryProperty( + DeviceInfoSet, DeviceInfoData, + SPDRP_SERVICE, NULL, + (PBYTE)ServiceName, MAX_SERVICE_NAME_LEN * sizeof(TCHAR), NULL); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupDiGetDeviceRegistryProperty() failed with error 0x%lx\n", rc); + goto cleanup; + } - rc = RegOpenKeyEx( - HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Services"), - 0, KEY_ENUMERATE_SUB_KEYS, &hServicesKey); - if (rc != ERROR_SUCCESS) - { - DPRINT("RegOpenKeyEx() failed with error 0x%lx\n", rc); - goto cleanup; - } - rc = RegOpenKeyEx( - hServicesKey, ServiceName, - 0, KEY_CREATE_SUB_KEY, &hServiceKey); - if (rc != ERROR_SUCCESS) - { - DPRINT("RegOpenKeyEx() failed with error 0x%lx\n", rc); - goto cleanup; - } + rc = RegOpenKeyEx( + HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Services"), + 0, KEY_ENUMERATE_SUB_KEYS, &hServicesKey); + if (rc != ERROR_SUCCESS) + { + DPRINT("RegOpenKeyEx() failed with error 0x%lx\n", rc); + goto cleanup; + } + rc = RegOpenKeyEx( + hServicesKey, ServiceName, + 0, KEY_CREATE_SUB_KEY, &hServiceKey); + if (rc != ERROR_SUCCESS) + { + DPRINT("RegOpenKeyEx() failed with error 0x%lx\n", rc); + goto cleanup; + } - /* Create a Device0 subkey (FIXME: do a loop to find a free number?) */ - rc = RegCreateKeyEx( - hServiceKey, _T("Device0"), 0, NULL, - REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, - &hDeviceSubKey, &disposition); - if (rc != ERROR_SUCCESS) - { - DPRINT("RegCreateKeyEx() failed with error 0x%lx\n", rc); - goto cleanup; - } - if (disposition != REG_CREATED_NEW_KEY) - { - rc = ERROR_GEN_FAILURE; - DPRINT("RegCreateKeyEx() failed\n"); - goto cleanup; - } + /* Create a Device0 subkey (FIXME: do a loop to find a free number?) */ + rc = RegCreateKeyEx( + hServiceKey, _T("Device0"), 0, NULL, + REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, + &hDeviceSubKey, &disposition); + if (rc != ERROR_SUCCESS) + { + DPRINT("RegCreateKeyEx() failed with error 0x%lx\n", rc); + goto cleanup; + } + if (disposition != REG_CREATED_NEW_KEY) + { + rc = ERROR_GEN_FAILURE; + DPRINT("RegCreateKeyEx() failed\n"); + goto cleanup; + } - /* Install SoftwareSettings section */ - /* Yes, we're installing this section for the second time. - * We don't want to create a link to Settings subkey */ - result = SetupInstallFromInfSection( - InstallParams.hwndParent, hInf, SectionName, - SPINST_REGISTRY, hDeviceSubKey, - NULL, 0, NULL, NULL, - NULL, NULL); - if (!result) - { - rc = GetLastError(); - DPRINT("SetupInstallFromInfSection() failed with error 0x%lx\n", rc); - goto cleanup; - } + /* Install SoftwareSettings section */ + /* Yes, we're installing this section for the second time. + * We don't want to create a link to Settings subkey */ + result = SetupInstallFromInfSection( + InstallParams.hwndParent, hInf, SectionName, + SPINST_REGISTRY, hDeviceSubKey, + NULL, 0, NULL, NULL, + NULL, NULL); + if (!result) + { + rc = GetLastError(); + DPRINT("SetupInstallFromInfSection() failed with error 0x%lx\n", rc); + goto cleanup; + } - /* FIXME: install OpenGLSoftwareSettings section */ + /* FIXME: install OpenGLSoftwareSettings section */ - rc = ERROR_SUCCESS; + rc = ERROR_SUCCESS; cleanup: - if (hInf != INVALID_HANDLE_VALUE) - SetupCloseInfFile(hInf); - if (hDriverKey != INVALID_HANDLE_VALUE) - { - /* SetupDiOpenDevRegKey returns INVALID_HANDLE_VALUE in case of error! */ - RegCloseKey(hDriverKey); - } - if (hSettingsKey != NULL) - RegCloseKey(hSettingsKey); - if (hServicesKey != NULL) - RegCloseKey(hServicesKey); - if (hServiceKey != NULL) - RegCloseKey(hServiceKey); - if (hDeviceSubKey != NULL) - RegCloseKey(hDeviceSubKey); + if (hInf != INVALID_HANDLE_VALUE) + SetupCloseInfFile(hInf); + if (hDriverKey != INVALID_HANDLE_VALUE) + { + /* SetupDiOpenDevRegKey returns INVALID_HANDLE_VALUE in case of error! */ + RegCloseKey(hDriverKey); + } + if (hSettingsKey != NULL) + RegCloseKey(hSettingsKey); + if (hServicesKey != NULL) + RegCloseKey(hServicesKey); + if (hServiceKey != NULL) + RegCloseKey(hServiceKey); + if (hDeviceSubKey != NULL) + RegCloseKey(hDeviceSubKey); - return rc; + return rc; } diff --git a/reactos/dll/cpl/desk/desk.c b/reactos/dll/cpl/desk/desk.c index 0f3727100e6..bc19cef17a1 100644 --- a/reactos/dll/cpl/desk/desk.c +++ b/reactos/dll/cpl/desk/desk.c @@ -9,7 +9,7 @@ #include "desk.h" -#define NUM_APPLETS (1) +#define NUM_APPLETS (1) static LONG APIENTRY DisplayApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam); diff --git a/reactos/dll/cpl/desk/desk.h b/reactos/dll/cpl/desk/desk.h index 207cc7a84fc..c9ce87cd76b 100644 --- a/reactos/dll/cpl/desk/desk.h +++ b/reactos/dll/cpl/desk/desk.h @@ -69,39 +69,39 @@ ULONG __cdecl DbgPrint(PCCH Format,...); */ typedef struct _RESOLUTION_INFO { - DWORD dmPelsWidth; - DWORD dmPelsHeight; + DWORD dmPelsWidth; + DWORD dmPelsHeight; } RESOLUTION_INFO, *PRESOLUTION_INFO; typedef struct _SETTINGS_ENTRY { - struct _SETTINGS_ENTRY *Blink; - struct _SETTINGS_ENTRY *Flink; - DWORD dmBitsPerPel; - DWORD dmPelsWidth; - DWORD dmPelsHeight; - DWORD dmDisplayFrequency; + struct _SETTINGS_ENTRY *Blink; + struct _SETTINGS_ENTRY *Flink; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFrequency; } SETTINGS_ENTRY, *PSETTINGS_ENTRY; typedef struct _DISPLAY_DEVICE_ENTRY { - struct _DISPLAY_DEVICE_ENTRY *Flink; - LPTSTR DeviceDescription; - LPTSTR DeviceName; - LPTSTR DeviceKey; - LPTSTR DeviceID; - DWORD DeviceStateFlags; - PSETTINGS_ENTRY Settings; /* Sorted by increasing dmPelsHeight, BPP */ - DWORD SettingsCount; - PRESOLUTION_INFO Resolutions; - DWORD ResolutionsCount; - PSETTINGS_ENTRY CurrentSettings; /* Points into Settings list */ - SETTINGS_ENTRY InitialSettings; + struct _DISPLAY_DEVICE_ENTRY *Flink; + LPTSTR DeviceDescription; + LPTSTR DeviceName; + LPTSTR DeviceKey; + LPTSTR DeviceID; + DWORD DeviceStateFlags; + PSETTINGS_ENTRY Settings; /* Sorted by increasing dmPelsHeight, BPP */ + DWORD SettingsCount; + PRESOLUTION_INFO Resolutions; + DWORD ResolutionsCount; + PSETTINGS_ENTRY CurrentSettings; /* Points into Settings list */ + SETTINGS_ENTRY InitialSettings; } DISPLAY_DEVICE_ENTRY, *PDISPLAY_DEVICE_ENTRY; typedef struct _GLOBAL_DATA { - COLORREF desktop_color; + COLORREF desktop_color; } GLOBAL_DATA, *PGLOBAL_DATA; extern GLOBAL_DATA g_GlobalData; diff --git a/reactos/dll/cpl/desk/draw.c b/reactos/dll/cpl/desk/draw.c index 0ac722004bf..6c5840d5bab 100644 --- a/reactos/dll/cpl/desk/draw.c +++ b/reactos/dll/cpl/desk/draw.c @@ -58,226 +58,226 @@ static const signed char LTRBInnerMono[] = { static BOOL MyIntDrawRectEdge(HDC hdc, LPRECT rc, UINT uType, UINT uFlags, COLOR_SCHEME *scheme) { - signed char LTInnerI, LTOuterI; - signed char RBInnerI, RBOuterI; - HPEN LTInnerPen, LTOuterPen; - HPEN RBInnerPen, RBOuterPen; - RECT InnerRect = *rc; - POINT SavePoint; - HPEN SavePen; - int LBpenplus = 0; - int LTpenplus = 0; - int RTpenplus = 0; - int RBpenplus = 0; - /* Init some vars */ - LTInnerPen = LTOuterPen = RBInnerPen = RBOuterPen = (HPEN)GetStockObject(NULL_PEN); - SavePen = (HPEN)SelectObject(hdc, LTInnerPen); + signed char LTInnerI, LTOuterI; + signed char RBInnerI, RBOuterI; + HPEN LTInnerPen, LTOuterPen; + HPEN RBInnerPen, RBOuterPen; + RECT InnerRect = *rc; + POINT SavePoint; + HPEN SavePen; + int LBpenplus = 0; + int LTpenplus = 0; + int RTpenplus = 0; + int RBpenplus = 0; + /* Init some vars */ + LTInnerPen = LTOuterPen = RBInnerPen = RBOuterPen = (HPEN)GetStockObject(NULL_PEN); + SavePen = (HPEN)SelectObject(hdc, LTInnerPen); - /* Determine the colors of the edges */ - LTInnerI = LTInnerNormal[uType & (BDR_INNER|BDR_OUTER)]; - LTOuterI = LTOuterNormal[uType & (BDR_INNER|BDR_OUTER)]; - RBInnerI = RBInnerNormal[uType & (BDR_INNER|BDR_OUTER)]; - RBOuterI = RBOuterNormal[uType & (BDR_INNER|BDR_OUTER)]; + /* Determine the colors of the edges */ + LTInnerI = LTInnerNormal[uType & (BDR_INNER|BDR_OUTER)]; + LTOuterI = LTOuterNormal[uType & (BDR_INNER|BDR_OUTER)]; + RBInnerI = RBInnerNormal[uType & (BDR_INNER|BDR_OUTER)]; + RBOuterI = RBOuterNormal[uType & (BDR_INNER|BDR_OUTER)]; - if((uFlags & BF_BOTTOMLEFT) == BF_BOTTOMLEFT) - LBpenplus = 1; - if((uFlags & BF_TOPRIGHT) == BF_TOPRIGHT) - RTpenplus = 1; - if((uFlags & BF_BOTTOMRIGHT) == BF_BOTTOMRIGHT) - RBpenplus = 1; - if((uFlags & BF_TOPLEFT) == BF_TOPLEFT) - LTpenplus = 1; + if((uFlags & BF_BOTTOMLEFT) == BF_BOTTOMLEFT) + LBpenplus = 1; + if((uFlags & BF_TOPRIGHT) == BF_TOPRIGHT) + RTpenplus = 1; + if((uFlags & BF_BOTTOMRIGHT) == BF_BOTTOMRIGHT) + RBpenplus = 1; + if((uFlags & BF_TOPLEFT) == BF_TOPLEFT) + LTpenplus = 1; - if(LTInnerI != -1) - LTInnerPen = GetStockObject(DC_PEN); - if(LTOuterI != -1) - LTOuterPen = GetStockObject(DC_PEN); - if(RBInnerI != -1) - RBInnerPen = GetStockObject(DC_PEN); - if(RBOuterI != -1) - RBOuterPen = GetStockObject(DC_PEN); - { - HBRUSH hbr; - hbr = CreateSolidBrush(scheme->crColor[COLOR_BTNFACE]); - FillRect(hdc, &InnerRect, hbr); - DeleteObject(hbr); - } - MoveToEx(hdc, 0, 0, &SavePoint); + if(LTInnerI != -1) + LTInnerPen = GetStockObject(DC_PEN); + if(LTOuterI != -1) + LTOuterPen = GetStockObject(DC_PEN); + if(RBInnerI != -1) + RBInnerPen = GetStockObject(DC_PEN); + if(RBOuterI != -1) + RBOuterPen = GetStockObject(DC_PEN); + { + HBRUSH hbr; + hbr = CreateSolidBrush(scheme->crColor[COLOR_BTNFACE]); + FillRect(hdc, &InnerRect, hbr); + DeleteObject(hbr); + } + MoveToEx(hdc, 0, 0, &SavePoint); - /* Draw the outer edge */ - SelectObject(hdc, LTOuterPen); - SetDCPenColor(hdc, scheme->crColor[LTOuterI]); - if(uFlags & BF_TOP) - { - MoveToEx(hdc, InnerRect.left, InnerRect.top, NULL); - LineTo(hdc, InnerRect.right, InnerRect.top); - } - if(uFlags & BF_LEFT) - { - MoveToEx(hdc, InnerRect.left, InnerRect.top, NULL); - LineTo(hdc, InnerRect.left, InnerRect.bottom); - } - SelectObject(hdc, RBOuterPen); - SetDCPenColor(hdc, scheme->crColor[RBOuterI]); - if(uFlags & BF_BOTTOM) - { - MoveToEx(hdc, InnerRect.left, InnerRect.bottom-1, NULL); - LineTo(hdc, InnerRect.right, InnerRect.bottom-1); - } - if(uFlags & BF_RIGHT) - { - MoveToEx(hdc, InnerRect.right-1, InnerRect.top, NULL); - LineTo(hdc, InnerRect.right-1, InnerRect.bottom); - } + /* Draw the outer edge */ + SelectObject(hdc, LTOuterPen); + SetDCPenColor(hdc, scheme->crColor[LTOuterI]); + if(uFlags & BF_TOP) + { + MoveToEx(hdc, InnerRect.left, InnerRect.top, NULL); + LineTo(hdc, InnerRect.right, InnerRect.top); + } + if(uFlags & BF_LEFT) + { + MoveToEx(hdc, InnerRect.left, InnerRect.top, NULL); + LineTo(hdc, InnerRect.left, InnerRect.bottom); + } + SelectObject(hdc, RBOuterPen); + SetDCPenColor(hdc, scheme->crColor[RBOuterI]); + if(uFlags & BF_BOTTOM) + { + MoveToEx(hdc, InnerRect.left, InnerRect.bottom-1, NULL); + LineTo(hdc, InnerRect.right, InnerRect.bottom-1); + } + if(uFlags & BF_RIGHT) + { + MoveToEx(hdc, InnerRect.right-1, InnerRect.top, NULL); + LineTo(hdc, InnerRect.right-1, InnerRect.bottom); + } - /* Draw the inner edge */ - SelectObject(hdc, LTInnerPen); - SetDCPenColor(hdc, scheme->crColor[LTInnerI]); - if(uFlags & BF_TOP) - { - MoveToEx(hdc, InnerRect.left+LTpenplus, InnerRect.top+1, NULL); - LineTo(hdc, InnerRect.right-RTpenplus, InnerRect.top+1); - } - if(uFlags & BF_LEFT) - { - MoveToEx(hdc, InnerRect.left+1, InnerRect.top+LTpenplus, NULL); - LineTo(hdc, InnerRect.left+1, InnerRect.bottom-LBpenplus); - } - SelectObject(hdc, RBInnerPen); - SetDCPenColor(hdc, scheme->crColor[RBInnerI]); - if(uFlags & BF_BOTTOM) - { - MoveToEx(hdc, InnerRect.left+LBpenplus, InnerRect.bottom-2, NULL); - LineTo(hdc, InnerRect.right-RBpenplus, InnerRect.bottom-2); - } - if(uFlags & BF_RIGHT) - { - MoveToEx(hdc, InnerRect.right-2, InnerRect.top+RTpenplus, NULL); - LineTo(hdc, InnerRect.right-2, InnerRect.bottom-RBpenplus); - } + /* Draw the inner edge */ + SelectObject(hdc, LTInnerPen); + SetDCPenColor(hdc, scheme->crColor[LTInnerI]); + if(uFlags & BF_TOP) + { + MoveToEx(hdc, InnerRect.left+LTpenplus, InnerRect.top+1, NULL); + LineTo(hdc, InnerRect.right-RTpenplus, InnerRect.top+1); + } + if(uFlags & BF_LEFT) + { + MoveToEx(hdc, InnerRect.left+1, InnerRect.top+LTpenplus, NULL); + LineTo(hdc, InnerRect.left+1, InnerRect.bottom-LBpenplus); + } + SelectObject(hdc, RBInnerPen); + SetDCPenColor(hdc, scheme->crColor[RBInnerI]); + if(uFlags & BF_BOTTOM) + { + MoveToEx(hdc, InnerRect.left+LBpenplus, InnerRect.bottom-2, NULL); + LineTo(hdc, InnerRect.right-RBpenplus, InnerRect.bottom-2); + } + if(uFlags & BF_RIGHT) + { + MoveToEx(hdc, InnerRect.right-2, InnerRect.top+RTpenplus, NULL); + LineTo(hdc, InnerRect.right-2, InnerRect.bottom-RBpenplus); + } - if (uFlags & BF_ADJUST) - { - int add = (LTRBInnerMono[uType & (BDR_INNER|BDR_OUTER)] != -1 ? 1 : 0) - + (LTRBOuterMono[uType & (BDR_INNER|BDR_OUTER)] != -1 ? 1 : 0); + if (uFlags & BF_ADJUST) + { + int add = (LTRBInnerMono[uType & (BDR_INNER|BDR_OUTER)] != -1 ? 1 : 0) + + (LTRBOuterMono[uType & (BDR_INNER|BDR_OUTER)] != -1 ? 1 : 0); - if(uFlags & BF_LEFT) - InnerRect.left += add; - if(uFlags & BF_RIGHT) - InnerRect.right -= add; - if(uFlags & BF_TOP) - InnerRect.top += add; - if(uFlags & BF_BOTTOM) - InnerRect.bottom -= add; + if(uFlags & BF_LEFT) + InnerRect.left += add; + if(uFlags & BF_RIGHT) + InnerRect.right -= add; + if(uFlags & BF_TOP) + InnerRect.top += add; + if(uFlags & BF_BOTTOM) + InnerRect.bottom -= add; - if(uFlags & BF_ADJUST) - *rc = InnerRect; - } + if(uFlags & BF_ADJUST) + *rc = InnerRect; + } - /* Cleanup */ - SelectObject(hdc, SavePen); - MoveToEx(hdc, SavePoint.x, SavePoint.y, NULL); - return TRUE; + /* Cleanup */ + SelectObject(hdc, SavePen); + MoveToEx(hdc, SavePoint.x, SavePoint.y, NULL); + return TRUE; } static BOOL MyDrawFrameButton(HDC hdc, LPRECT rc, UINT uState, COLOR_SCHEME *scheme) { - UINT edge; - if(uState & (DFCS_PUSHED | DFCS_CHECKED | DFCS_FLAT)) - edge = EDGE_SUNKEN; - else - edge = EDGE_RAISED; - return MyIntDrawRectEdge(hdc, rc, edge, (uState & DFCS_FLAT) | BF_RECT | BF_SOFT, scheme); + UINT edge; + if(uState & (DFCS_PUSHED | DFCS_CHECKED | DFCS_FLAT)) + edge = EDGE_SUNKEN; + else + edge = EDGE_RAISED; + return MyIntDrawRectEdge(hdc, rc, edge, (uState & DFCS_FLAT) | BF_RECT | BF_SOFT, scheme); } static int MyMakeSquareRect(LPRECT src, LPRECT dst) { - int Width = src->right - src->left; - int Height = src->bottom - src->top; - int SmallDiam = Width > Height ? Height : Width; + int Width = src->right - src->left; + int Height = src->bottom - src->top; + int SmallDiam = Width > Height ? Height : Width; - *dst = *src; + *dst = *src; - /* Make it a square box */ - if (Width < Height) /* SmallDiam == Width */ - { - dst->top += (Height-Width)/2; - dst->bottom = dst->top + SmallDiam; - } - else if(Width > Height) /* SmallDiam == Height */ - { - dst->left += (Width-Height)/2; - dst->right = dst->left + SmallDiam; - } + /* Make it a square box */ + if (Width < Height) /* SmallDiam == Width */ + { + dst->top += (Height-Width)/2; + dst->bottom = dst->top + SmallDiam; + } + else if(Width > Height) /* SmallDiam == Height */ + { + dst->left += (Width-Height)/2; + dst->right = dst->left + SmallDiam; + } - return SmallDiam; + return SmallDiam; } static BOOL MyDrawFrameCaption(HDC dc, LPRECT r, UINT uFlags, COLOR_SCHEME *scheme) { - LOGFONT lf; - HFONT hFont, hOldFont; - COLORREF clrsave; - RECT myr; - INT bkmode; - TCHAR Symbol; - switch(uFlags & 0xff) - { - case DFCS_CAPTIONCLOSE: - Symbol = 'r'; - break; - case DFCS_CAPTIONHELP: - Symbol = 's'; - break; - case DFCS_CAPTIONMIN: - Symbol = '0'; - break; - case DFCS_CAPTIONMAX: - Symbol = '1'; - break; - case DFCS_CAPTIONRESTORE: - Symbol = '2'; - break; - } - MyIntDrawRectEdge(dc, r, (uFlags & DFCS_PUSHED) ? EDGE_SUNKEN : EDGE_RAISED, BF_RECT | BF_MIDDLE | BF_SOFT, scheme); - ZeroMemory(&lf, sizeof(LOGFONT)); - MyMakeSquareRect(r, &myr); - myr.left += 1; - myr.top += 1; - myr.right -= 1; - myr.bottom -= 1; - if(uFlags & DFCS_PUSHED) - OffsetRect(&myr,1,1); - lf.lfHeight = myr.bottom - myr.top; - lf.lfWidth = 0; - lf.lfWeight = FW_NORMAL; - lf.lfCharSet = DEFAULT_CHARSET; - lstrcpy(lf.lfFaceName, TEXT("Marlett")); - hFont = CreateFontIndirect(&lf); - /* Save font and text color */ - hOldFont = SelectObject(dc, hFont); - clrsave = GetTextColor(dc); - bkmode = GetBkMode(dc); - /* Set color and drawing mode */ - SetBkMode(dc, TRANSPARENT); - if(uFlags & DFCS_INACTIVE) - { - /* Draw shadow */ - SetTextColor(dc, scheme->crColor[COLOR_BTNHIGHLIGHT]); - TextOut(dc, myr.left + 1, myr.top + 1, &Symbol, 1); - } - SetTextColor(dc, scheme->crColor[(uFlags & DFCS_INACTIVE) ? COLOR_BTNSHADOW : COLOR_BTNTEXT]); - /* Draw selected symbol */ - TextOut(dc, myr.left, myr.top, &Symbol, 1); - /* Restore previous settings */ - SetTextColor(dc, clrsave); - SelectObject(dc, hOldFont); - SetBkMode(dc, bkmode); - DeleteObject(hFont); - return TRUE; + LOGFONT lf; + HFONT hFont, hOldFont; + COLORREF clrsave; + RECT myr; + INT bkmode; + TCHAR Symbol; + switch(uFlags & 0xff) + { + case DFCS_CAPTIONCLOSE: + Symbol = 'r'; + break; + case DFCS_CAPTIONHELP: + Symbol = 's'; + break; + case DFCS_CAPTIONMIN: + Symbol = '0'; + break; + case DFCS_CAPTIONMAX: + Symbol = '1'; + break; + case DFCS_CAPTIONRESTORE: + Symbol = '2'; + break; + } + MyIntDrawRectEdge(dc, r, (uFlags & DFCS_PUSHED) ? EDGE_SUNKEN : EDGE_RAISED, BF_RECT | BF_MIDDLE | BF_SOFT, scheme); + ZeroMemory(&lf, sizeof(LOGFONT)); + MyMakeSquareRect(r, &myr); + myr.left += 1; + myr.top += 1; + myr.right -= 1; + myr.bottom -= 1; + if(uFlags & DFCS_PUSHED) + OffsetRect(&myr,1,1); + lf.lfHeight = myr.bottom - myr.top; + lf.lfWidth = 0; + lf.lfWeight = FW_NORMAL; + lf.lfCharSet = DEFAULT_CHARSET; + lstrcpy(lf.lfFaceName, TEXT("Marlett")); + hFont = CreateFontIndirect(&lf); + /* Save font and text color */ + hOldFont = SelectObject(dc, hFont); + clrsave = GetTextColor(dc); + bkmode = GetBkMode(dc); + /* Set color and drawing mode */ + SetBkMode(dc, TRANSPARENT); + if(uFlags & DFCS_INACTIVE) + { + /* Draw shadow */ + SetTextColor(dc, scheme->crColor[COLOR_BTNHIGHLIGHT]); + TextOut(dc, myr.left + 1, myr.top + 1, &Symbol, 1); + } + SetTextColor(dc, scheme->crColor[(uFlags & DFCS_INACTIVE) ? COLOR_BTNSHADOW : COLOR_BTNTEXT]); + /* Draw selected symbol */ + TextOut(dc, myr.left, myr.top, &Symbol, 1); + /* Restore previous settings */ + SetTextColor(dc, clrsave); + SelectObject(dc, hOldFont); + SetBkMode(dc, bkmode); + DeleteObject(hFont); + return TRUE; } /******************************************************************************/ @@ -285,151 +285,151 @@ MyDrawFrameCaption(HDC dc, LPRECT r, UINT uFlags, COLOR_SCHEME *scheme) static BOOL MyDrawFrameScroll(HDC dc, LPRECT r, UINT uFlags, COLOR_SCHEME *scheme) { - LOGFONT lf; - HFONT hFont, hOldFont; - COLORREF clrsave; - RECT myr; - INT bkmode; - TCHAR Symbol; - switch(uFlags & 0xff) - { - case DFCS_SCROLLCOMBOBOX: - case DFCS_SCROLLDOWN: - Symbol = '6'; - break; + LOGFONT lf; + HFONT hFont, hOldFont; + COLORREF clrsave; + RECT myr; + INT bkmode; + TCHAR Symbol; + switch(uFlags & 0xff) + { + case DFCS_SCROLLCOMBOBOX: + case DFCS_SCROLLDOWN: + Symbol = '6'; + break; - case DFCS_SCROLLUP: - Symbol = '5'; - break; + case DFCS_SCROLLUP: + Symbol = '5'; + break; - case DFCS_SCROLLLEFT: - Symbol = '3'; - break; + case DFCS_SCROLLLEFT: + Symbol = '3'; + break; - case DFCS_SCROLLRIGHT: - Symbol = '4'; - break; - } - MyIntDrawRectEdge(dc, r, (uFlags & DFCS_PUSHED) ? EDGE_SUNKEN : EDGE_RAISED, (uFlags&DFCS_FLAT) | BF_MIDDLE | BF_RECT, scheme); - ZeroMemory(&lf, sizeof(LOGFONT)); - MyMakeSquareRect(r, &myr); - myr.left += 1; - myr.top += 1; - myr.right -= 1; - myr.bottom -= 1; - if(uFlags & DFCS_PUSHED) - OffsetRect(&myr,1,1); - lf.lfHeight = myr.bottom - myr.top; - lf.lfWidth = 0; - lf.lfWeight = FW_NORMAL; - lf.lfCharSet = DEFAULT_CHARSET; - lstrcpy(lf.lfFaceName, TEXT("Marlett")); - hFont = CreateFontIndirect(&lf); - /* Save font and text color */ - hOldFont = SelectObject(dc, hFont); - clrsave = GetTextColor(dc); - bkmode = GetBkMode(dc); - /* Set color and drawing mode */ - SetBkMode(dc, TRANSPARENT); - if(uFlags & DFCS_INACTIVE) - { - /* Draw shadow */ - SetTextColor(dc, scheme->crColor[COLOR_BTNHIGHLIGHT]); - TextOut(dc, myr.left + 1, myr.top + 1, &Symbol, 1); - } - SetTextColor(dc, scheme->crColor[(uFlags & DFCS_INACTIVE) ? COLOR_BTNSHADOW : COLOR_BTNTEXT]); - /* Draw selected symbol */ - TextOut(dc, myr.left, myr.top, &Symbol, 1); - /* restore previous settings */ - SetTextColor(dc, clrsave); - SelectObject(dc, hOldFont); - SetBkMode(dc, bkmode); - DeleteObject(hFont); - return TRUE; + case DFCS_SCROLLRIGHT: + Symbol = '4'; + break; + } + MyIntDrawRectEdge(dc, r, (uFlags & DFCS_PUSHED) ? EDGE_SUNKEN : EDGE_RAISED, (uFlags&DFCS_FLAT) | BF_MIDDLE | BF_RECT, scheme); + ZeroMemory(&lf, sizeof(LOGFONT)); + MyMakeSquareRect(r, &myr); + myr.left += 1; + myr.top += 1; + myr.right -= 1; + myr.bottom -= 1; + if(uFlags & DFCS_PUSHED) + OffsetRect(&myr,1,1); + lf.lfHeight = myr.bottom - myr.top; + lf.lfWidth = 0; + lf.lfWeight = FW_NORMAL; + lf.lfCharSet = DEFAULT_CHARSET; + lstrcpy(lf.lfFaceName, TEXT("Marlett")); + hFont = CreateFontIndirect(&lf); + /* Save font and text color */ + hOldFont = SelectObject(dc, hFont); + clrsave = GetTextColor(dc); + bkmode = GetBkMode(dc); + /* Set color and drawing mode */ + SetBkMode(dc, TRANSPARENT); + if(uFlags & DFCS_INACTIVE) + { + /* Draw shadow */ + SetTextColor(dc, scheme->crColor[COLOR_BTNHIGHLIGHT]); + TextOut(dc, myr.left + 1, myr.top + 1, &Symbol, 1); + } + SetTextColor(dc, scheme->crColor[(uFlags & DFCS_INACTIVE) ? COLOR_BTNSHADOW : COLOR_BTNTEXT]); + /* Draw selected symbol */ + TextOut(dc, myr.left, myr.top, &Symbol, 1); + /* restore previous settings */ + SetTextColor(dc, clrsave); + SelectObject(dc, hOldFont); + SetBkMode(dc, bkmode); + DeleteObject(hFont); + return TRUE; } BOOL MyDrawFrameControl(HDC hDC, LPRECT rc, UINT uType, UINT uState, COLOR_SCHEME *scheme) { - switch(uType) - { - case DFC_BUTTON: - return MyDrawFrameButton(hDC, rc, uState, scheme); - case DFC_CAPTION: - return MyDrawFrameCaption(hDC, rc, uState, scheme); - case DFC_SCROLL: - return MyDrawFrameScroll(hDC, rc, uState, scheme); - } - return FALSE; + switch(uType) + { + case DFC_BUTTON: + return MyDrawFrameButton(hDC, rc, uState, scheme); + case DFC_CAPTION: + return MyDrawFrameCaption(hDC, rc, uState, scheme); + case DFC_SCROLL: + return MyDrawFrameScroll(hDC, rc, uState, scheme); + } + return FALSE; } BOOL MyDrawEdge(HDC hDC, LPRECT rc, UINT edge, UINT flags, COLOR_SCHEME *scheme) { - return MyIntDrawRectEdge(hDC, rc, edge, flags, scheme); + return MyIntDrawRectEdge(hDC, rc, edge, flags, scheme); } VOID MyDrawCaptionButtons(HDC hdc, LPRECT lpRect, BOOL bMinMax, int x, COLOR_SCHEME *scheme) { - RECT rc3; - RECT rc4; - RECT rc5; + RECT rc3; + RECT rc4; + RECT rc5; - rc3.left = lpRect->right - 2 - x; - rc3.top = lpRect->top + 2; - rc3.right = lpRect->right - 2; - rc3.bottom = lpRect->bottom - 2; + rc3.left = lpRect->right - 2 - x; + rc3.top = lpRect->top + 2; + rc3.right = lpRect->right - 2; + rc3.bottom = lpRect->bottom - 2; - MyDrawFrameControl(hdc, &rc3, DFC_CAPTION, DFCS_CAPTIONCLOSE, scheme); + MyDrawFrameControl(hdc, &rc3, DFC_CAPTION, DFCS_CAPTIONCLOSE, scheme); - if (bMinMax) - { - rc4.left = rc3.left - x - 2; - rc4.top = rc3.top; - rc4.right = rc3.right - x - 2; - rc4.bottom = rc3.bottom; + if (bMinMax) + { + rc4.left = rc3.left - x - 2; + rc4.top = rc3.top; + rc4.right = rc3.right - x - 2; + rc4.bottom = rc3.bottom; - MyDrawFrameControl(hdc, &rc4, DFC_CAPTION, DFCS_CAPTIONMAX, scheme); + MyDrawFrameControl(hdc, &rc4, DFC_CAPTION, DFCS_CAPTIONMAX, scheme); - rc5.left = rc4.left - x; - rc5.top = rc4.top; - rc5.right = rc4.right - x; - rc5.bottom = rc4.bottom; + rc5.left = rc4.left - x; + rc5.top = rc4.top; + rc5.right = rc4.right - x; + rc5.bottom = rc4.bottom; - MyDrawFrameControl(hdc, &rc5, DFC_CAPTION, DFCS_CAPTIONMIN, scheme); - } + MyDrawFrameControl(hdc, &rc5, DFC_CAPTION, DFCS_CAPTIONMIN, scheme); + } } VOID MyDrawScrollbar(HDC hdc, LPRECT rc, HBRUSH hbrScrollbar, COLOR_SCHEME *scheme) { - RECT rcTop; - RECT rcBottom; - RECT rcMiddle; - int width; + RECT rcTop; + RECT rcBottom; + RECT rcMiddle; + int width; - width = rc->right - rc->left; + width = rc->right - rc->left; - rcTop.left = rc->left; - rcTop.right = rc->right; - rcTop.top = rc->top; - rcTop.bottom = rc->top + width; + rcTop.left = rc->left; + rcTop.right = rc->right; + rcTop.top = rc->top; + rcTop.bottom = rc->top + width; - rcMiddle.left = rc->left; - rcMiddle.right = rc->right; - rcMiddle.top = rc->top + width; - rcMiddle.bottom = rc->bottom - width; + rcMiddle.left = rc->left; + rcMiddle.right = rc->right; + rcMiddle.top = rc->top + width; + rcMiddle.bottom = rc->bottom - width; - rcBottom.left = rc->left; - rcBottom.right = rc->right; - rcBottom.top = rc->bottom - width; - rcBottom.bottom = rc->bottom; + rcBottom.left = rc->left; + rcBottom.right = rc->right; + rcBottom.top = rc->bottom - width; + rcBottom.bottom = rc->bottom; - MyDrawFrameControl(hdc, &rcTop, DFC_SCROLL, DFCS_SCROLLUP, scheme); - MyDrawFrameControl(hdc, &rcBottom, DFC_SCROLL, DFCS_SCROLLDOWN, scheme); + MyDrawFrameControl(hdc, &rcTop, DFC_SCROLL, DFCS_SCROLLUP, scheme); + MyDrawFrameControl(hdc, &rcBottom, DFC_SCROLL, DFCS_SCROLLDOWN, scheme); - FillRect(hdc, &rcMiddle, hbrScrollbar); + FillRect(hdc, &rcMiddle, hbrScrollbar); } /******************************************************************************/ @@ -437,69 +437,69 @@ MyDrawScrollbar(HDC hdc, LPRECT rc, HBRUSH hbrScrollbar, COLOR_SCHEME *scheme) BOOL MyDrawCaptionTemp(HWND hwnd, HDC hdc, const RECT *rect, HFONT hFont, HICON hIcon, LPCWSTR str, UINT uFlags, COLOR_SCHEME *scheme) { - //ULONG Height; - //UINT VCenter, Padding; - //LONG ButtonWidth; - HBRUSH hbr; - HGDIOBJ hFontOld; - RECT rc; + //ULONG Height; + //UINT VCenter, Padding; + //LONG ButtonWidth; + HBRUSH hbr; + HGDIOBJ hFontOld; + RECT rc; - //Height = scheme->Size[SIZE_CAPTION_Y] - 1; - //VCenter = (rect->bottom - rect->top) / 2; - //Padding = VCenter - (Height / 2); + //Height = scheme->Size[SIZE_CAPTION_Y] - 1; + //VCenter = (rect->bottom - rect->top) / 2; + //Padding = VCenter - (Height / 2); - //ButtonWidth = scheme->Size[SIZE_SIZE_X] - 2; + //ButtonWidth = scheme->Size[SIZE_SIZE_X] - 2; - if (uFlags & DC_GRADIENT) - { - GRADIENT_RECT gcap = {0, 1}; - TRIVERTEX vert[2]; - COLORREF Colors[2]; + if (uFlags & DC_GRADIENT) + { + GRADIENT_RECT gcap = {0, 1}; + TRIVERTEX vert[2]; + COLORREF Colors[2]; - Colors[0] = scheme->crColor[((uFlags & DC_ACTIVE) ? - COLOR_ACTIVECAPTION : COLOR_INACTIVECAPTION)]; - Colors[1] = scheme->crColor[((uFlags & DC_ACTIVE) ? - COLOR_GRADIENTACTIVECAPTION : COLOR_GRADIENTINACTIVECAPTION)]; + Colors[0] = scheme->crColor[((uFlags & DC_ACTIVE) ? + COLOR_ACTIVECAPTION : COLOR_INACTIVECAPTION)]; + Colors[1] = scheme->crColor[((uFlags & DC_ACTIVE) ? + COLOR_GRADIENTACTIVECAPTION : COLOR_GRADIENTINACTIVECAPTION)]; - vert[0].x = rect->left; - vert[0].y = rect->top; - vert[0].Red = (WORD)Colors[0]<<8; - vert[0].Green = (WORD)Colors[0] & 0xFF00; - vert[0].Blue = (WORD)(Colors[0]>>8) & 0xFF00; - vert[0].Alpha = 0; + vert[0].x = rect->left; + vert[0].y = rect->top; + vert[0].Red = (WORD)Colors[0]<<8; + vert[0].Green = (WORD)Colors[0] & 0xFF00; + vert[0].Blue = (WORD)(Colors[0]>>8) & 0xFF00; + vert[0].Alpha = 0; - vert[1].x = rect->right; - vert[1].y = rect->bottom; - vert[1].Red = (WORD)Colors[1]<<8; - vert[1].Green = (WORD)Colors[1] & 0xFF00; - vert[1].Blue = (WORD)(Colors[1]>>8) & 0xFF00; - vert[1].Alpha = 0; + vert[1].x = rect->right; + vert[1].y = rect->bottom; + vert[1].Red = (WORD)Colors[1]<<8; + vert[1].Green = (WORD)Colors[1] & 0xFF00; + vert[1].Blue = (WORD)(Colors[1]>>8) & 0xFF00; + vert[1].Alpha = 0; - GdiGradientFill(hdc, vert, 2, &gcap, 1, GRADIENT_FILL_RECT_H); - } - else - { - if (uFlags & DC_ACTIVE) - hbr = CreateSolidBrush(scheme->crColor[COLOR_ACTIVECAPTION]); - else - hbr = CreateSolidBrush(scheme->crColor[COLOR_INACTIVECAPTION]); - FillRect(hdc, rect, hbr); - DeleteObject(hbr); - } + GdiGradientFill(hdc, vert, 2, &gcap, 1, GRADIENT_FILL_RECT_H); + } + else + { + if (uFlags & DC_ACTIVE) + hbr = CreateSolidBrush(scheme->crColor[COLOR_ACTIVECAPTION]); + else + hbr = CreateSolidBrush(scheme->crColor[COLOR_INACTIVECAPTION]); + FillRect(hdc, rect, hbr); + DeleteObject(hbr); + } - hFontOld = SelectObject(hdc, hFont); - SetBkMode(hdc, TRANSPARENT); - if (uFlags & DC_ACTIVE) - SetTextColor(hdc, scheme->crColor[COLOR_CAPTIONTEXT]); - else - SetTextColor(hdc, scheme->crColor[COLOR_INACTIVECAPTIONTEXT]); - rc.left = rect->left + 2; - rc.top = rect->top; - rc.right = rect->right; - rc.bottom = rect->bottom; - DrawTextW(hdc, str, -1, &rc, DT_SINGLELINE | DT_VCENTER); - SelectObject(hdc, hFontOld); - return TRUE; + hFontOld = SelectObject(hdc, hFont); + SetBkMode(hdc, TRANSPARENT); + if (uFlags & DC_ACTIVE) + SetTextColor(hdc, scheme->crColor[COLOR_CAPTIONTEXT]); + else + SetTextColor(hdc, scheme->crColor[COLOR_INACTIVECAPTIONTEXT]); + rc.left = rect->left + 2; + rc.top = rect->top; + rc.right = rect->right; + rc.bottom = rect->bottom; + DrawTextW(hdc, str, -1, &rc, DT_SINGLELINE | DT_VCENTER); + SelectObject(hdc, hFontOld); + return TRUE; } /******************************************************************************/ @@ -507,99 +507,99 @@ MyDrawCaptionTemp(HWND hwnd, HDC hdc, const RECT *rect, HFONT hFont, HICON hIcon DWORD MyDrawMenuBarTemp(HWND Wnd, HDC DC, LPRECT Rect, HMENU Menu, HFONT Font, COLOR_SCHEME *scheme) { - HBRUSH hbr; - HPEN hPen; - HGDIOBJ hPenOld, hFontOld; - BOOL flat_menu; - INT i, bkgnd, x; - RECT rect; - WCHAR Text[128]; - UINT uFormat = DT_CENTER | DT_VCENTER | DT_SINGLELINE; + HBRUSH hbr; + HPEN hPen; + HGDIOBJ hPenOld, hFontOld; + BOOL flat_menu; + INT i, bkgnd, x; + RECT rect; + WCHAR Text[128]; + UINT uFormat = DT_CENTER | DT_VCENTER | DT_SINGLELINE; - flat_menu = scheme->bFlatMenus; + flat_menu = scheme->bFlatMenus; - if (flat_menu) - hbr = CreateSolidBrush(scheme->crColor[COLOR_MENUBAR]); - else - hbr = CreateSolidBrush(scheme->crColor[COLOR_MENU]); - FillRect(DC, Rect, hbr); - DeleteObject(hbr); + if (flat_menu) + hbr = CreateSolidBrush(scheme->crColor[COLOR_MENUBAR]); + else + hbr = CreateSolidBrush(scheme->crColor[COLOR_MENU]); + FillRect(DC, Rect, hbr); + DeleteObject(hbr); - hPen = CreatePen(PS_SOLID, 0, scheme->crColor[COLOR_3DFACE]); - hPenOld = SelectObject(DC, hPen); - MoveToEx(DC, Rect->left, Rect->bottom - 1, NULL); - LineTo(DC, Rect->right, Rect->bottom - 1); - SelectObject(DC, hPenOld); - DeleteObject(hPen); + hPen = CreatePen(PS_SOLID, 0, scheme->crColor[COLOR_3DFACE]); + hPenOld = SelectObject(DC, hPen); + MoveToEx(DC, Rect->left, Rect->bottom - 1, NULL); + LineTo(DC, Rect->right, Rect->bottom - 1); + SelectObject(DC, hPenOld); + DeleteObject(hPen); bkgnd = (flat_menu ? COLOR_MENUBAR : COLOR_MENU); - x = Rect->left; - hFontOld = SelectObject(DC, Font); - for(i = 0; i < 3; i++) - { - GetMenuStringW(Menu, i, Text, 128, MF_BYPOSITION); + x = Rect->left; + hFontOld = SelectObject(DC, Font); + for(i = 0; i < 3; i++) + { + GetMenuStringW(Menu, i, Text, 128, MF_BYPOSITION); - rect.left = rect.right = x; - rect.top = Rect->top; - rect.bottom = Rect->bottom; - DrawTextW(DC, Text, -1, &rect, DT_SINGLELINE | DT_CALCRECT); - rect.bottom = Rect->bottom; - rect.right += MENU_BAR_ITEMS_SPACE; - x += rect.right - rect.left; + rect.left = rect.right = x; + rect.top = Rect->top; + rect.bottom = Rect->bottom; + DrawTextW(DC, Text, -1, &rect, DT_SINGLELINE | DT_CALCRECT); + rect.bottom = Rect->bottom; + rect.right += MENU_BAR_ITEMS_SPACE; + x += rect.right - rect.left; - if (i == 2) - { - if (flat_menu) - { - SetTextColor(DC, scheme->crColor[COLOR_HIGHLIGHTTEXT]); - SetBkColor(DC, scheme->crColor[COLOR_HIGHLIGHT]); + if (i == 2) + { + if (flat_menu) + { + SetTextColor(DC, scheme->crColor[COLOR_HIGHLIGHTTEXT]); + SetBkColor(DC, scheme->crColor[COLOR_HIGHLIGHT]); - InflateRect (&rect, -1, -1); - hbr = CreateSolidBrush(scheme->crColor[COLOR_MENUHILIGHT]); - FillRect(DC, &rect, hbr); - DeleteObject(hbr); + InflateRect (&rect, -1, -1); + hbr = CreateSolidBrush(scheme->crColor[COLOR_MENUHILIGHT]); + FillRect(DC, &rect, hbr); + DeleteObject(hbr); - InflateRect (&rect, 1, 1); - hbr = CreateSolidBrush(scheme->crColor[COLOR_HIGHLIGHT]); - FrameRect(DC, &rect, hbr); - DeleteObject(hbr); - } - else - { - SetTextColor(DC, scheme->crColor[COLOR_MENUTEXT]); - SetBkColor(DC, scheme->crColor[COLOR_MENU]); - DrawEdge(DC, &rect, BDR_SUNKENOUTER, BF_RECT); - } - } - else - { - if (i == 1) - SetTextColor(DC, scheme->crColor[COLOR_GRAYTEXT]); - else - SetTextColor(DC, scheme->crColor[COLOR_MENUTEXT]); + InflateRect (&rect, 1, 1); + hbr = CreateSolidBrush(scheme->crColor[COLOR_HIGHLIGHT]); + FrameRect(DC, &rect, hbr); + DeleteObject(hbr); + } + else + { + SetTextColor(DC, scheme->crColor[COLOR_MENUTEXT]); + SetBkColor(DC, scheme->crColor[COLOR_MENU]); + DrawEdge(DC, &rect, BDR_SUNKENOUTER, BF_RECT); + } + } + else + { + if (i == 1) + SetTextColor(DC, scheme->crColor[COLOR_GRAYTEXT]); + else + SetTextColor(DC, scheme->crColor[COLOR_MENUTEXT]); - SetBkColor(DC, scheme->crColor[bkgnd]); - hbr = CreateSolidBrush(scheme->crColor[bkgnd]); - FillRect(DC, &rect, hbr); - DeleteObject(hbr); - } + SetBkColor(DC, scheme->crColor[bkgnd]); + hbr = CreateSolidBrush(scheme->crColor[bkgnd]); + FillRect(DC, &rect, hbr); + DeleteObject(hbr); + } - SetBkMode(DC, TRANSPARENT); + SetBkMode(DC, TRANSPARENT); - rect.left += MENU_BAR_ITEMS_SPACE / 2; - rect.right -= MENU_BAR_ITEMS_SPACE / 2; + rect.left += MENU_BAR_ITEMS_SPACE / 2; + rect.right -= MENU_BAR_ITEMS_SPACE / 2; - if (i == 1) - { - ++rect.left; ++rect.top; ++rect.right; ++rect.bottom; - SetTextColor(DC, RGB(0xff, 0xff, 0xff)); - DrawTextW(DC, Text, -1, &rect, uFormat); - --rect.left; --rect.top; --rect.right; --rect.bottom; - SetTextColor(DC, RGB(0x80, 0x80, 0x80)); - } - DrawTextW(DC, Text, -1, &rect, uFormat); - } - SelectObject(DC, hFontOld); + if (i == 1) + { + ++rect.left; ++rect.top; ++rect.right; ++rect.bottom; + SetTextColor(DC, RGB(0xff, 0xff, 0xff)); + DrawTextW(DC, Text, -1, &rect, uFormat); + --rect.left; --rect.top; --rect.right; --rect.bottom; + SetTextColor(DC, RGB(0x80, 0x80, 0x80)); + } + DrawTextW(DC, Text, -1, &rect, uFormat); + } + SelectObject(DC, hFontOld); - return TRUE; + return TRUE; } diff --git a/reactos/dll/cpl/desk/effappdlg.c b/reactos/dll/cpl/desk/effappdlg.c index 02198b48a89..57be021c037 100644 --- a/reactos/dll/cpl/desk/effappdlg.c +++ b/reactos/dll/cpl/desk/effappdlg.c @@ -82,61 +82,61 @@ EffAppearanceDlg_CleanUp(HWND hwndDlg, GLOBALS* g) INT_PTR CALLBACK EffAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { - GLOBALS* g; + GLOBALS* g; - g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER); + g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER); - switch (uMsg) - { - case WM_INITDIALOG: - g = (GLOBALS*)lParam; - SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g); - EffAppearanceDlg_Init(hwndDlg, g); - break; + switch (uMsg) + { + case WM_INITDIALOG: + g = (GLOBALS*)lParam; + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g); + EffAppearanceDlg_Init(hwndDlg, g); + break; - case WM_DESTROY: - EffAppearanceDlg_CleanUp(hwndDlg, g); - break; + case WM_DESTROY: + EffAppearanceDlg_CleanUp(hwndDlg, g); + break; - case WM_COMMAND: - switch(LOWORD(wParam)) - { - case IDOK: - SaveCurrentValues(hwndDlg, g); - EndDialog(hwndDlg, IDOK); - break; + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDOK: + SaveCurrentValues(hwndDlg, g); + EndDialog(hwndDlg, IDOK); + break; - case IDCANCEL: - g->SchemeAdv = g->Scheme; - EndDialog(hwndDlg, IDCANCEL); - break; + case IDCANCEL: + g->SchemeAdv = g->Scheme; + EndDialog(hwndDlg, IDCANCEL); + break; - case IDC_EFFAPPEARANCE_ANIMATION: - case IDC_EFFAPPEARANCE_KEYBOARDCUES: - case IDC_EFFAPPEARANCE_DRAGFULLWINDOWS: + case IDC_EFFAPPEARANCE_ANIMATION: + case IDC_EFFAPPEARANCE_KEYBOARDCUES: + case IDC_EFFAPPEARANCE_DRAGFULLWINDOWS: if (HIWORD(wParam) == BN_CLICKED) { - UpdateControls(hwndDlg, g); + UpdateControls(hwndDlg, g); } - break; + break; - case IDC_EFFAPPEARANCE_ANIMATIONTYPE: - if (HIWORD(wParam) == CBN_SELCHANGE) - { - SaveCurrentValues(hwndDlg, g); - g->SchemeAdv.Effects.bMenuFade = SendDlgItemMessage(hwndDlg, IDC_EFFAPPEARANCE_ANIMATIONTYPE, CB_GETCURSEL, 0, 0); - UpdateControls(hwndDlg, g); - } - break; + case IDC_EFFAPPEARANCE_ANIMATIONTYPE: + if (HIWORD(wParam) == CBN_SELCHANGE) + { + SaveCurrentValues(hwndDlg, g); + g->SchemeAdv.Effects.bMenuFade = SendDlgItemMessage(hwndDlg, IDC_EFFAPPEARANCE_ANIMATIONTYPE, CB_GETCURSEL, 0, 0); + UpdateControls(hwndDlg, g); + } + break; - default: - return FALSE; - } - break; + default: + return FALSE; + } + break; - default: - return FALSE; - } + default: + return FALSE; + } - return TRUE; + return TRUE; } diff --git a/reactos/dll/cpl/desk/general.c b/reactos/dll/cpl/desk/general.c index 32b89917e40..57bd8337645 100644 --- a/reactos/dll/cpl/desk/general.c +++ b/reactos/dll/cpl/desk/general.c @@ -123,21 +123,21 @@ AdvGeneralPageProc(HWND hwndDlg, Ret = TRUE; break; case WM_COMMAND: - switch (LOWORD(wParam)) - { - case IDC_FONTSIZE_COMBO: - if (HIWORD(wParam) == CBN_SELCHANGE) - { - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - } - break; - case IDC_RESTART_RB: - case IDC_WITHOUTREBOOT_RB: - case IDC_ASKME_RB: - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - break; - } - break; + switch (LOWORD(wParam)) + { + case IDC_FONTSIZE_COMBO: + if (HIWORD(wParam) == CBN_SELCHANGE) + { + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + } + break; + case IDC_RESTART_RB: + case IDC_WITHOUTREBOOT_RB: + case IDC_ASKME_RB: + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + break; + } + break; } return Ret; diff --git a/reactos/dll/cpl/desk/resource.h b/reactos/dll/cpl/desk/resource.h index 4ba076f42c7..0936a09410c 100644 --- a/reactos/dll/cpl/desk/resource.h +++ b/reactos/dll/cpl/desk/resource.h @@ -157,9 +157,9 @@ #define IDS_UNKNOWNMONITOR 3301 #define IDS_ADVANCEDTITLEFMT 3302 -#define IDS_DISPLAY_SETTINGS 3400 +#define IDS_DISPLAY_SETTINGS 3400 -#define IDS_APPLY_FAILED 3500 +#define IDS_APPLY_FAILED 3500 #define IDS_APPLY_NEEDS_RESTART 3501 /* Effects Appearance Dialog */ diff --git a/reactos/dll/cpl/desk/settings.c b/reactos/dll/cpl/desk/settings.c index 304fb75de7e..9bfa915376b 100644 --- a/reactos/dll/cpl/desk/settings.c +++ b/reactos/dll/cpl/desk/settings.c @@ -12,850 +12,850 @@ typedef struct _DATA { - PDISPLAY_DEVICE_ENTRY DisplayDeviceList; - PDISPLAY_DEVICE_ENTRY CurrentDisplayDevice; - HBITMAP hSpectrumBitmaps[NUM_SPECTRUM_BITMAPS]; - int cxSource[NUM_SPECTRUM_BITMAPS]; - int cySource[NUM_SPECTRUM_BITMAPS]; + PDISPLAY_DEVICE_ENTRY DisplayDeviceList; + PDISPLAY_DEVICE_ENTRY CurrentDisplayDevice; + HBITMAP hSpectrumBitmaps[NUM_SPECTRUM_BITMAPS]; + int cxSource[NUM_SPECTRUM_BITMAPS]; + int cySource[NUM_SPECTRUM_BITMAPS]; } DATA, *PDATA; static VOID UpdateDisplay(IN HWND hwndDlg, PDATA pData, IN BOOL bUpdateThumb) { - TCHAR Buffer[64]; - TCHAR Pixel[64]; - DWORD index; + TCHAR Buffer[64]; + TCHAR Pixel[64]; + DWORD index; - LoadString(hApplet, IDS_PIXEL, Pixel, sizeof(Pixel) / sizeof(TCHAR)); - _stprintf(Buffer, Pixel, pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth, pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight, Pixel); - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION_TEXT, WM_SETTEXT, 0, (LPARAM)Buffer); + LoadString(hApplet, IDS_PIXEL, Pixel, sizeof(Pixel) / sizeof(TCHAR)); + _stprintf(Buffer, Pixel, pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth, pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight, Pixel); + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION_TEXT, WM_SETTEXT, 0, (LPARAM)Buffer); - for (index = 0; index < pData->CurrentDisplayDevice->ResolutionsCount; index++) - { - if (pData->CurrentDisplayDevice->Resolutions[index].dmPelsWidth == pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth && - pData->CurrentDisplayDevice->Resolutions[index].dmPelsHeight == pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight) - { - if (bUpdateThumb) - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_SETPOS, TRUE, index); - break; - } - } - if (LoadString(hApplet, (2900 + pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel), Buffer, sizeof(Buffer) / sizeof(TCHAR))) - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SELECTSTRING, (WPARAM)-1, (LPARAM)Buffer); + for (index = 0; index < pData->CurrentDisplayDevice->ResolutionsCount; index++) + { + if (pData->CurrentDisplayDevice->Resolutions[index].dmPelsWidth == pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth && + pData->CurrentDisplayDevice->Resolutions[index].dmPelsHeight == pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight) + { + if (bUpdateThumb) + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_SETPOS, TRUE, index); + break; + } + } + if (LoadString(hApplet, (2900 + pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel), Buffer, sizeof(Buffer) / sizeof(TCHAR))) + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SELECTSTRING, (WPARAM)-1, (LPARAM)Buffer); } static PSETTINGS_ENTRY GetPossibleSettings(IN LPCTSTR DeviceName, OUT DWORD* pSettingsCount, OUT PSETTINGS_ENTRY* CurrentSettings) { - DEVMODE devmode; - DWORD NbSettings = 0; - DWORD iMode = 0; - DWORD dwFlags = 0; - PSETTINGS_ENTRY Settings = NULL; - HDC hDC; - PSETTINGS_ENTRY Current; - DWORD bpp, xres, yres, checkbpp; - DWORD curDispFreq; + DEVMODE devmode; + DWORD NbSettings = 0; + DWORD iMode = 0; + DWORD dwFlags = 0; + PSETTINGS_ENTRY Settings = NULL; + HDC hDC; + PSETTINGS_ENTRY Current; + DWORD bpp, xres, yres, checkbpp; + DWORD curDispFreq; - /* Get current settings */ - *CurrentSettings = NULL; - hDC = CreateIC(NULL, DeviceName, NULL, NULL); - bpp = GetDeviceCaps(hDC, PLANES); - bpp *= GetDeviceCaps(hDC, BITSPIXEL); - xres = GetDeviceCaps(hDC, HORZRES); - yres = GetDeviceCaps(hDC, VERTRES); - DeleteDC(hDC); + /* Get current settings */ + *CurrentSettings = NULL; + hDC = CreateIC(NULL, DeviceName, NULL, NULL); + bpp = GetDeviceCaps(hDC, PLANES); + bpp *= GetDeviceCaps(hDC, BITSPIXEL); + xres = GetDeviceCaps(hDC, HORZRES); + yres = GetDeviceCaps(hDC, VERTRES); + DeleteDC(hDC); - /* List all settings */ - devmode.dmSize = (WORD)sizeof(DEVMODE); - devmode.dmDriverExtra = 0; + /* List all settings */ + devmode.dmSize = (WORD)sizeof(DEVMODE); + devmode.dmDriverExtra = 0; - if (!EnumDisplaySettingsEx(DeviceName, ENUM_CURRENT_SETTINGS, &devmode, dwFlags)) - return NULL; + if (!EnumDisplaySettingsEx(DeviceName, ENUM_CURRENT_SETTINGS, &devmode, dwFlags)) + return NULL; - curDispFreq = devmode.dmDisplayFrequency; + curDispFreq = devmode.dmDisplayFrequency; - while (EnumDisplaySettingsEx(DeviceName, iMode, &devmode, dwFlags)) - { - if ((devmode.dmBitsPerPel == 4 || - devmode.dmBitsPerPel == 8 || - devmode.dmBitsPerPel == 16 || - devmode.dmBitsPerPel == 24 || - devmode.dmBitsPerPel == 32) && - devmode.dmDisplayFrequency == curDispFreq) - { - checkbpp=1; - } - else - checkbpp=0; + while (EnumDisplaySettingsEx(DeviceName, iMode, &devmode, dwFlags)) + { + if ((devmode.dmBitsPerPel == 4 || + devmode.dmBitsPerPel == 8 || + devmode.dmBitsPerPel == 16 || + devmode.dmBitsPerPel == 24 || + devmode.dmBitsPerPel == 32) && + devmode.dmDisplayFrequency == curDispFreq) + { + checkbpp=1; + } + else + checkbpp=0; - if (devmode.dmPelsWidth < 640 || - devmode.dmPelsHeight < 480 || checkbpp == 0) - { - iMode++; - continue; - } + if (devmode.dmPelsWidth < 640 || + devmode.dmPelsHeight < 480 || checkbpp == 0) + { + iMode++; + continue; + } - Current = HeapAlloc(GetProcessHeap(), 0, sizeof(SETTINGS_ENTRY)); - if (Current != NULL) - { - /* Sort resolutions by increasing height, and BPP */ - PSETTINGS_ENTRY Previous = NULL; - PSETTINGS_ENTRY Next = Settings; - Current->dmPelsWidth = devmode.dmPelsWidth; - Current->dmPelsHeight = devmode.dmPelsHeight; - Current->dmBitsPerPel = devmode.dmBitsPerPel; - Current->dmDisplayFrequency = devmode.dmDisplayFrequency; - while (Next != NULL && ( - Next->dmPelsWidth < Current->dmPelsWidth || - (Next->dmPelsWidth == Current->dmPelsWidth && Next->dmPelsHeight < Current->dmPelsHeight) || - (Next->dmPelsHeight == Current->dmPelsHeight && - Next->dmPelsWidth == Current->dmPelsWidth && - Next->dmBitsPerPel < Current->dmBitsPerPel ))) - { - Previous = Next; - Next = Next->Flink; - } - Current->Blink = Previous; - Current->Flink = Next; - if (Previous == NULL) - Settings = Current; - else - Previous->Flink = Current; - if (Next != NULL) - Next->Blink = Current; - if (devmode.dmPelsWidth == xres && devmode.dmPelsHeight == yres && devmode.dmBitsPerPel == bpp) - { - *CurrentSettings = Current; - } - NbSettings++; - } - iMode++; - } + Current = HeapAlloc(GetProcessHeap(), 0, sizeof(SETTINGS_ENTRY)); + if (Current != NULL) + { + /* Sort resolutions by increasing height, and BPP */ + PSETTINGS_ENTRY Previous = NULL; + PSETTINGS_ENTRY Next = Settings; + Current->dmPelsWidth = devmode.dmPelsWidth; + Current->dmPelsHeight = devmode.dmPelsHeight; + Current->dmBitsPerPel = devmode.dmBitsPerPel; + Current->dmDisplayFrequency = devmode.dmDisplayFrequency; + while (Next != NULL && ( + Next->dmPelsWidth < Current->dmPelsWidth || + (Next->dmPelsWidth == Current->dmPelsWidth && Next->dmPelsHeight < Current->dmPelsHeight) || + (Next->dmPelsHeight == Current->dmPelsHeight && + Next->dmPelsWidth == Current->dmPelsWidth && + Next->dmBitsPerPel < Current->dmBitsPerPel ))) + { + Previous = Next; + Next = Next->Flink; + } + Current->Blink = Previous; + Current->Flink = Next; + if (Previous == NULL) + Settings = Current; + else + Previous->Flink = Current; + if (Next != NULL) + Next->Blink = Current; + if (devmode.dmPelsWidth == xres && devmode.dmPelsHeight == yres && devmode.dmBitsPerPel == bpp) + { + *CurrentSettings = Current; + } + NbSettings++; + } + iMode++; + } - *pSettingsCount = NbSettings; - return Settings; + *pSettingsCount = NbSettings; + return Settings; } static BOOL AddDisplayDevice(IN PDATA pData, IN const DISPLAY_DEVICE *DisplayDevice) { - PDISPLAY_DEVICE_ENTRY newEntry = NULL; - LPTSTR description = NULL; - LPTSTR name = NULL; - LPTSTR key = NULL; - LPTSTR devid = NULL; - DWORD descriptionSize, nameSize, keySize, devidSize; - PSETTINGS_ENTRY Current; - DWORD ResolutionsCount = 1; - DWORD i; + PDISPLAY_DEVICE_ENTRY newEntry = NULL; + LPTSTR description = NULL; + LPTSTR name = NULL; + LPTSTR key = NULL; + LPTSTR devid = NULL; + DWORD descriptionSize, nameSize, keySize, devidSize; + PSETTINGS_ENTRY Current; + DWORD ResolutionsCount = 1; + DWORD i; - newEntry = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DISPLAY_DEVICE_ENTRY)); - if (!newEntry) goto ByeBye; + newEntry = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DISPLAY_DEVICE_ENTRY)); + if (!newEntry) goto ByeBye; - newEntry->Settings = GetPossibleSettings(DisplayDevice->DeviceName, &newEntry->SettingsCount, &newEntry->CurrentSettings); - if (!newEntry->Settings) goto ByeBye; + newEntry->Settings = GetPossibleSettings(DisplayDevice->DeviceName, &newEntry->SettingsCount, &newEntry->CurrentSettings); + if (!newEntry->Settings) goto ByeBye; - newEntry->InitialSettings.dmPelsWidth = newEntry->CurrentSettings->dmPelsWidth; - newEntry->InitialSettings.dmPelsHeight = newEntry->CurrentSettings->dmPelsHeight; - newEntry->InitialSettings.dmBitsPerPel = newEntry->CurrentSettings->dmBitsPerPel; + newEntry->InitialSettings.dmPelsWidth = newEntry->CurrentSettings->dmPelsWidth; + newEntry->InitialSettings.dmPelsHeight = newEntry->CurrentSettings->dmPelsHeight; + newEntry->InitialSettings.dmBitsPerPel = newEntry->CurrentSettings->dmBitsPerPel; - /* Count different resolutions */ - for (Current = newEntry->Settings; Current != NULL; Current = Current->Flink) - { - if (Current->Flink != NULL && - ((Current->dmPelsWidth != Current->Flink->dmPelsWidth) && - (Current->dmPelsHeight != Current->Flink->dmPelsHeight))) - { - ResolutionsCount++; - } - } + /* Count different resolutions */ + for (Current = newEntry->Settings; Current != NULL; Current = Current->Flink) + { + if (Current->Flink != NULL && + ((Current->dmPelsWidth != Current->Flink->dmPelsWidth) && + (Current->dmPelsHeight != Current->Flink->dmPelsHeight))) + { + ResolutionsCount++; + } + } - newEntry->Resolutions = HeapAlloc(GetProcessHeap(), 0, ResolutionsCount * sizeof(RESOLUTION_INFO)); - if (!newEntry->Resolutions) goto ByeBye; + newEntry->Resolutions = HeapAlloc(GetProcessHeap(), 0, ResolutionsCount * sizeof(RESOLUTION_INFO)); + if (!newEntry->Resolutions) goto ByeBye; - newEntry->ResolutionsCount = ResolutionsCount; + newEntry->ResolutionsCount = ResolutionsCount; - /* Fill resolutions infos */ - for (Current = newEntry->Settings, i = 0; Current != NULL; Current = Current->Flink) - { - if (Current->Flink == NULL || - (Current->Flink != NULL && - ((Current->dmPelsWidth != Current->Flink->dmPelsWidth) && - (Current->dmPelsHeight != Current->Flink->dmPelsHeight)))) - { - newEntry->Resolutions[i].dmPelsWidth = Current->dmPelsWidth; - newEntry->Resolutions[i].dmPelsHeight = Current->dmPelsHeight; - i++; - } - } - descriptionSize = (_tcslen(DisplayDevice->DeviceString) + 1) * sizeof(TCHAR); - description = HeapAlloc(GetProcessHeap(), 0, descriptionSize); - if (!description) goto ByeBye; + /* Fill resolutions infos */ + for (Current = newEntry->Settings, i = 0; Current != NULL; Current = Current->Flink) + { + if (Current->Flink == NULL || + (Current->Flink != NULL && + ((Current->dmPelsWidth != Current->Flink->dmPelsWidth) && + (Current->dmPelsHeight != Current->Flink->dmPelsHeight)))) + { + newEntry->Resolutions[i].dmPelsWidth = Current->dmPelsWidth; + newEntry->Resolutions[i].dmPelsHeight = Current->dmPelsHeight; + i++; + } + } + descriptionSize = (_tcslen(DisplayDevice->DeviceString) + 1) * sizeof(TCHAR); + description = HeapAlloc(GetProcessHeap(), 0, descriptionSize); + if (!description) goto ByeBye; - nameSize = (_tcslen(DisplayDevice->DeviceName) + 1) * sizeof(TCHAR); - name = HeapAlloc(GetProcessHeap(), 0, nameSize); - if (!name) goto ByeBye; + nameSize = (_tcslen(DisplayDevice->DeviceName) + 1) * sizeof(TCHAR); + name = HeapAlloc(GetProcessHeap(), 0, nameSize); + if (!name) goto ByeBye; - keySize = (_tcslen(DisplayDevice->DeviceKey) + 1) * sizeof(TCHAR); - key = HeapAlloc(GetProcessHeap(), 0, keySize); - if (!key) goto ByeBye; + keySize = (_tcslen(DisplayDevice->DeviceKey) + 1) * sizeof(TCHAR); + key = HeapAlloc(GetProcessHeap(), 0, keySize); + if (!key) goto ByeBye; - devidSize = (_tcslen(DisplayDevice->DeviceID) + 1) * sizeof(TCHAR); - devid = HeapAlloc(GetProcessHeap(), 0, devidSize); - if (!devid) goto ByeBye; + devidSize = (_tcslen(DisplayDevice->DeviceID) + 1) * sizeof(TCHAR); + devid = HeapAlloc(GetProcessHeap(), 0, devidSize); + if (!devid) goto ByeBye; - memcpy(description, DisplayDevice->DeviceString, descriptionSize); - memcpy(name, DisplayDevice->DeviceName, nameSize); - memcpy(key, DisplayDevice->DeviceKey, keySize); - memcpy(devid, DisplayDevice->DeviceID, devidSize); - newEntry->DeviceDescription = description; - newEntry->DeviceName = name; - newEntry->DeviceKey = key; - newEntry->DeviceID = devid; - newEntry->DeviceStateFlags = DisplayDevice->StateFlags; - newEntry->Flink = pData->DisplayDeviceList; - pData->DisplayDeviceList = newEntry; - return TRUE; + memcpy(description, DisplayDevice->DeviceString, descriptionSize); + memcpy(name, DisplayDevice->DeviceName, nameSize); + memcpy(key, DisplayDevice->DeviceKey, keySize); + memcpy(devid, DisplayDevice->DeviceID, devidSize); + newEntry->DeviceDescription = description; + newEntry->DeviceName = name; + newEntry->DeviceKey = key; + newEntry->DeviceID = devid; + newEntry->DeviceStateFlags = DisplayDevice->StateFlags; + newEntry->Flink = pData->DisplayDeviceList; + pData->DisplayDeviceList = newEntry; + return TRUE; ByeBye: - if (newEntry != NULL) - { - if (newEntry->Settings != NULL) - { - Current = newEntry->Settings; - while (Current != NULL) - { - PSETTINGS_ENTRY Next = Current->Flink; - HeapFree(GetProcessHeap(), 0, Current); - Current = Next; - } - } - if (newEntry->Resolutions != NULL) - HeapFree(GetProcessHeap(), 0, newEntry->Resolutions); - HeapFree(GetProcessHeap(), 0, newEntry); - } - if (description != NULL) - HeapFree(GetProcessHeap(), 0, description); - if (name != NULL) - HeapFree(GetProcessHeap(), 0, name); - if (key != NULL) - HeapFree(GetProcessHeap(), 0, key); - return FALSE; + if (newEntry != NULL) + { + if (newEntry->Settings != NULL) + { + Current = newEntry->Settings; + while (Current != NULL) + { + PSETTINGS_ENTRY Next = Current->Flink; + HeapFree(GetProcessHeap(), 0, Current); + Current = Next; + } + } + if (newEntry->Resolutions != NULL) + HeapFree(GetProcessHeap(), 0, newEntry->Resolutions); + HeapFree(GetProcessHeap(), 0, newEntry); + } + if (description != NULL) + HeapFree(GetProcessHeap(), 0, description); + if (name != NULL) + HeapFree(GetProcessHeap(), 0, name); + if (key != NULL) + HeapFree(GetProcessHeap(), 0, key); + return FALSE; } static VOID OnDisplayDeviceChanged(IN HWND hwndDlg, IN PDATA pData, IN PDISPLAY_DEVICE_ENTRY pDeviceEntry) { - PSETTINGS_ENTRY Current; - DWORD index; + PSETTINGS_ENTRY Current; + DWORD index; - pData->CurrentDisplayDevice = pDeviceEntry; /* Update variable */ + pData->CurrentDisplayDevice = pDeviceEntry; /* Update variable */ - /* Fill color depths combo box */ - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_RESETCONTENT, 0, 0); - for (Current = pDeviceEntry->Settings; Current != NULL; Current = Current->Flink) - { - TCHAR Buffer[64]; - if (LoadString(hApplet, (2900 + Current->dmBitsPerPel), Buffer, sizeof(Buffer) / sizeof(TCHAR))) - { - index = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_FINDSTRINGEXACT, (WPARAM)-1, (LPARAM)Buffer); - if (index == (DWORD)CB_ERR) - { - index = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_ADDSTRING, 0, (LPARAM)Buffer); - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SETITEMDATA, index, Current->dmBitsPerPel); - } - } - } + /* Fill color depths combo box */ + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_RESETCONTENT, 0, 0); + for (Current = pDeviceEntry->Settings; Current != NULL; Current = Current->Flink) + { + TCHAR Buffer[64]; + if (LoadString(hApplet, (2900 + Current->dmBitsPerPel), Buffer, sizeof(Buffer) / sizeof(TCHAR))) + { + index = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_FINDSTRINGEXACT, (WPARAM)-1, (LPARAM)Buffer); + if (index == (DWORD)CB_ERR) + { + index = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_ADDSTRING, 0, (LPARAM)Buffer); + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_SETITEMDATA, index, Current->dmBitsPerPel); + } + } + } - /* Fill resolutions slider */ - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_CLEARTICS, TRUE, 0); - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_SETRANGE, TRUE, MAKELONG(0, pDeviceEntry->ResolutionsCount - 1)); + /* Fill resolutions slider */ + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_CLEARTICS, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_SETRANGE, TRUE, MAKELONG(0, pDeviceEntry->ResolutionsCount - 1)); - UpdateDisplay(hwndDlg, pData, TRUE); + UpdateDisplay(hwndDlg, pData, TRUE); } static VOID OnInitDialog(IN HWND hwndDlg) { - BITMAP bitmap; - DWORD Result = 0; - DWORD iDevNum = 0; - DWORD i; - DISPLAY_DEVICE displayDevice; - PDATA pData; + BITMAP bitmap; + DWORD Result = 0; + DWORD iDevNum = 0; + DWORD i; + DISPLAY_DEVICE displayDevice; + PDATA pData; - pData = HeapAlloc(GetProcessHeap(), 0, sizeof(DATA)); - if (pData == NULL) - return; + pData = HeapAlloc(GetProcessHeap(), 0, sizeof(DATA)); + if (pData == NULL) + return; - SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pData); + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pData); - /* Get video cards list */ - pData->DisplayDeviceList = NULL; - displayDevice.cb = (DWORD)sizeof(DISPLAY_DEVICE); - while (EnumDisplayDevices(NULL, iDevNum, &displayDevice, 0x1)) - { - if ((displayDevice.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) != 0) - { - if (AddDisplayDevice(pData, &displayDevice)) - Result++; - } - iDevNum++; - } + /* Get video cards list */ + pData->DisplayDeviceList = NULL; + displayDevice.cb = (DWORD)sizeof(DISPLAY_DEVICE); + while (EnumDisplayDevices(NULL, iDevNum, &displayDevice, 0x1)) + { + if ((displayDevice.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) != 0) + { + if (AddDisplayDevice(pData, &displayDevice)) + Result++; + } + iDevNum++; + } - if (Result == 0) - { - /* No adapter found */ - EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_BPP), FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_RESOLUTION), FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_RESOLUTION_TEXT), FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_ADVANCED), FALSE); - ShowWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_SPECTRUM), SW_HIDE); + if (Result == 0) + { + /* No adapter found */ + EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_BPP), FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_RESOLUTION), FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_RESOLUTION_TEXT), FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_ADVANCED), FALSE); + ShowWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_SPECTRUM), SW_HIDE); - /* Do not initialize the color spectrum bitmaps */ - memset(pData->hSpectrumBitmaps, 0, sizeof(pData->hSpectrumBitmaps)); - return; - } - else if (Result == 1) - { - MONSL_MONINFO monitors; + /* Do not initialize the color spectrum bitmaps */ + memset(pData->hSpectrumBitmaps, 0, sizeof(pData->hSpectrumBitmaps)); + return; + } + else if (Result == 1) + { + MONSL_MONINFO monitors; - /* Single video adapter */ - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_DEVICE, WM_SETTEXT, 0, (LPARAM)pData->DisplayDeviceList->DeviceDescription); - OnDisplayDeviceChanged(hwndDlg, pData, pData->DisplayDeviceList); + /* Single video adapter */ + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_DEVICE, WM_SETTEXT, 0, (LPARAM)pData->DisplayDeviceList->DeviceDescription); + OnDisplayDeviceChanged(hwndDlg, pData, pData->DisplayDeviceList); - monitors.Position.x = monitors.Position.y = 0; - monitors.Size.cx = pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth; - monitors.Size.cy = pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight; - monitors.Flags = 0; - SendDlgItemMessage(hwndDlg, - IDC_SETTINGS_MONSEL, - MSLM_SETMONITORSINFO, - 1, - (LPARAM)&monitors); - } - else /* FIXME: Incomplete! */ - { - PMONSL_MONINFO pMonitors; - DWORD i; + monitors.Position.x = monitors.Position.y = 0; + monitors.Size.cx = pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth; + monitors.Size.cy = pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight; + monitors.Flags = 0; + SendDlgItemMessage(hwndDlg, + IDC_SETTINGS_MONSEL, + MSLM_SETMONITORSINFO, + 1, + (LPARAM)&monitors); + } + else /* FIXME: Incomplete! */ + { + PMONSL_MONINFO pMonitors; + DWORD i; - SendDlgItemMessage(hwndDlg, IDC_SETTINGS_DEVICE, WM_SETTEXT, 0, (LPARAM)pData->DisplayDeviceList->DeviceDescription); - OnDisplayDeviceChanged(hwndDlg, pData, pData->DisplayDeviceList); + SendDlgItemMessage(hwndDlg, IDC_SETTINGS_DEVICE, WM_SETTEXT, 0, (LPARAM)pData->DisplayDeviceList->DeviceDescription); + OnDisplayDeviceChanged(hwndDlg, pData, pData->DisplayDeviceList); - pMonitors = (PMONSL_MONINFO)HeapAlloc(GetProcessHeap(), 0, sizeof(MONSL_MONINFO) * Result); - if (pMonitors) - { - DWORD hack = 1280; - for (i = 0; i < Result; i++) - { - pMonitors[i].Position.x = hack * i; - pMonitors[i].Position.y = 0; - pMonitors[i].Size.cx = pData->DisplayDeviceList->CurrentSettings->dmPelsWidth; - pMonitors[i].Size.cy = pData->DisplayDeviceList->CurrentSettings->dmPelsHeight; - pMonitors[i].Flags = 0; - } + pMonitors = (PMONSL_MONINFO)HeapAlloc(GetProcessHeap(), 0, sizeof(MONSL_MONINFO) * Result); + if (pMonitors) + { + DWORD hack = 1280; + for (i = 0; i < Result; i++) + { + pMonitors[i].Position.x = hack * i; + pMonitors[i].Position.y = 0; + pMonitors[i].Size.cx = pData->DisplayDeviceList->CurrentSettings->dmPelsWidth; + pMonitors[i].Size.cy = pData->DisplayDeviceList->CurrentSettings->dmPelsHeight; + pMonitors[i].Flags = 0; + } - SendDlgItemMessage(hwndDlg, - IDC_SETTINGS_MONSEL, - MSLM_SETMONITORSINFO, - Result, - (LPARAM)pMonitors); + SendDlgItemMessage(hwndDlg, + IDC_SETTINGS_MONSEL, + MSLM_SETMONITORSINFO, + Result, + (LPARAM)pMonitors); - HeapFree(GetProcessHeap(), 0, pMonitors); - } - } + HeapFree(GetProcessHeap(), 0, pMonitors); + } + } - /* Initialize the color spectrum bitmaps */ - for(i = 0; i < NUM_SPECTRUM_BITMAPS; i++) - { - pData->hSpectrumBitmaps[i] = LoadImageW(hApplet, MAKEINTRESOURCEW(IDB_SPECTRUM_4 + i), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); + /* Initialize the color spectrum bitmaps */ + for(i = 0; i < NUM_SPECTRUM_BITMAPS; i++) + { + pData->hSpectrumBitmaps[i] = LoadImageW(hApplet, MAKEINTRESOURCEW(IDB_SPECTRUM_4 + i), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); - if (pData->hSpectrumBitmaps[i] != NULL) - { - if (GetObjectW(pData->hSpectrumBitmaps[i], sizeof(BITMAP), &bitmap) != 0) - { - pData->cxSource[i] = bitmap.bmWidth; - pData->cySource[i] = bitmap.bmHeight; - } - else - { - pData->cxSource[i] = 0; - pData->cySource[i] = 0; - } - } - } + if (pData->hSpectrumBitmaps[i] != NULL) + { + if (GetObjectW(pData->hSpectrumBitmaps[i], sizeof(BITMAP), &bitmap) != 0) + { + pData->cxSource[i] = bitmap.bmWidth; + pData->cySource[i] = bitmap.bmHeight; + } + else + { + pData->cxSource[i] = 0; + pData->cySource[i] = 0; + } + } + } } /* Get the ID for DATA::hSpectrumBitmaps */ static VOID ShowColorSpectrum(IN HDC hDC, IN LPRECT client, IN DWORD BitsPerPel, IN PDATA pData) { - HDC hdcMem; - INT iBitmap; + HDC hdcMem; + INT iBitmap; - hdcMem = CreateCompatibleDC(hDC); + hdcMem = CreateCompatibleDC(hDC); - if (!hdcMem) - return; + if (!hdcMem) + return; - switch(BitsPerPel) - { - case 4: iBitmap = 0; break; - case 8: iBitmap = 1; break; - default: iBitmap = 2; - } + switch(BitsPerPel) + { + case 4: iBitmap = 0; break; + case 8: iBitmap = 1; break; + default: iBitmap = 2; + } - if (SelectObject(hdcMem, pData->hSpectrumBitmaps[iBitmap])) - { - StretchBlt(hDC, - client->left, client->top, - client->right - client->left, - client->bottom - client->top, - hdcMem, 0, 0, - pData->cxSource[iBitmap], - pData->cySource[iBitmap], SRCCOPY); - } + if (SelectObject(hdcMem, pData->hSpectrumBitmaps[iBitmap])) + { + StretchBlt(hDC, + client->left, client->top, + client->right - client->left, + client->bottom - client->top, + hdcMem, 0, 0, + pData->cxSource[iBitmap], + pData->cySource[iBitmap], SRCCOPY); + } - DeleteDC(hdcMem); + DeleteDC(hdcMem); } static VOID OnBPPChanged(IN HWND hwndDlg, IN PDATA pData) { - /* If new BPP is not compatible with resolution: - * 1) try to find the nearest smaller matching resolution - * 2) otherwise, get the nearest bigger resolution - */ - PSETTINGS_ENTRY Current; - DWORD dmNewBitsPerPel; - DWORD index; - HDC hSpectrumDC; - HWND hSpectrumControl; - RECT client; + /* If new BPP is not compatible with resolution: + * 1) try to find the nearest smaller matching resolution + * 2) otherwise, get the nearest bigger resolution + */ + PSETTINGS_ENTRY Current; + DWORD dmNewBitsPerPel; + DWORD index; + HDC hSpectrumDC; + HWND hSpectrumControl; + RECT client; - index = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_GETCURSEL, 0, 0); - dmNewBitsPerPel = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_GETITEMDATA, index, 0); + index = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_GETCURSEL, 0, 0); + dmNewBitsPerPel = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_BPP, CB_GETITEMDATA, index, 0); - /* Show a new spectrum bitmap */ - hSpectrumControl = GetDlgItem(hwndDlg, IDC_SETTINGS_SPECTRUM); - hSpectrumDC = GetDC(hSpectrumControl); - GetClientRect(hSpectrumControl, &client); - ShowColorSpectrum(hSpectrumDC, &client, dmNewBitsPerPel, pData); + /* Show a new spectrum bitmap */ + hSpectrumControl = GetDlgItem(hwndDlg, IDC_SETTINGS_SPECTRUM); + hSpectrumDC = GetDC(hSpectrumControl); + GetClientRect(hSpectrumControl, &client); + ShowColorSpectrum(hSpectrumDC, &client, dmNewBitsPerPel, pData); - /* Find if new parameters are valid */ - Current = pData->CurrentDisplayDevice->CurrentSettings; - if (dmNewBitsPerPel == Current->dmBitsPerPel) - { - /* No change */ - return; - } + /* Find if new parameters are valid */ + Current = pData->CurrentDisplayDevice->CurrentSettings; + if (dmNewBitsPerPel == Current->dmBitsPerPel) + { + /* No change */ + return; + } - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - if (dmNewBitsPerPel < Current->dmBitsPerPel) - { - Current = Current->Blink; - while (Current != NULL) - { - if (Current->dmBitsPerPel == dmNewBitsPerPel - && Current->dmPelsHeight == pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight - && Current->dmPelsWidth == pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, TRUE); - return; - } - Current = Current->Blink; - } - } - else - { - Current = Current->Flink; - while (Current != NULL) - { - if (Current->dmBitsPerPel == dmNewBitsPerPel - && Current->dmPelsHeight == pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight - && Current->dmPelsWidth == pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, TRUE); - return; - } - Current = Current->Flink; - } - } + if (dmNewBitsPerPel < Current->dmBitsPerPel) + { + Current = Current->Blink; + while (Current != NULL) + { + if (Current->dmBitsPerPel == dmNewBitsPerPel + && Current->dmPelsHeight == pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight + && Current->dmPelsWidth == pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, TRUE); + return; + } + Current = Current->Blink; + } + } + else + { + Current = Current->Flink; + while (Current != NULL) + { + if (Current->dmBitsPerPel == dmNewBitsPerPel + && Current->dmPelsHeight == pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight + && Current->dmPelsWidth == pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, TRUE); + return; + } + Current = Current->Flink; + } + } - /* Search smaller resolution compatible with current color depth */ - Current = pData->CurrentDisplayDevice->CurrentSettings->Blink; - while (Current != NULL) - { - if (Current->dmBitsPerPel == dmNewBitsPerPel) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, TRUE); - return; - } - Current = Current->Blink; - } + /* Search smaller resolution compatible with current color depth */ + Current = pData->CurrentDisplayDevice->CurrentSettings->Blink; + while (Current != NULL) + { + if (Current->dmBitsPerPel == dmNewBitsPerPel) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, TRUE); + return; + } + Current = Current->Blink; + } - /* Search bigger resolution compatible with current color depth */ - Current = pData->CurrentDisplayDevice->CurrentSettings->Flink; - while (Current != NULL) - { - if (Current->dmBitsPerPel == dmNewBitsPerPel) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, TRUE); - return; - } - Current = Current->Flink; - } + /* Search bigger resolution compatible with current color depth */ + Current = pData->CurrentDisplayDevice->CurrentSettings->Flink; + while (Current != NULL) + { + if (Current->dmBitsPerPel == dmNewBitsPerPel) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, TRUE); + return; + } + Current = Current->Flink; + } - /* We shouldn't go there */ + /* We shouldn't go there */ } static VOID OnResolutionChanged(IN HWND hwndDlg, IN PDATA pData, IN DWORD NewPosition, IN BOOL bUpdateThumb) { - /* If new resolution is not compatible with color depth: - * 1) try to find the nearest bigger matching color depth - * 2) otherwise, get the nearest smaller color depth - */ - PSETTINGS_ENTRY Current; - DWORD dmNewPelsHeight = pData->CurrentDisplayDevice->Resolutions[NewPosition].dmPelsHeight; - DWORD dmNewPelsWidth = pData->CurrentDisplayDevice->Resolutions[NewPosition].dmPelsWidth; + /* If new resolution is not compatible with color depth: + * 1) try to find the nearest bigger matching color depth + * 2) otherwise, get the nearest smaller color depth + */ + PSETTINGS_ENTRY Current; + DWORD dmNewPelsHeight = pData->CurrentDisplayDevice->Resolutions[NewPosition].dmPelsHeight; + DWORD dmNewPelsWidth = pData->CurrentDisplayDevice->Resolutions[NewPosition].dmPelsWidth; - /* Find if new parameters are valid */ - Current = pData->CurrentDisplayDevice->CurrentSettings; - if (dmNewPelsHeight == Current->dmPelsHeight && dmNewPelsWidth == Current->dmPelsWidth) - { - /* No change */ - return; - } + /* Find if new parameters are valid */ + Current = pData->CurrentDisplayDevice->CurrentSettings; + if (dmNewPelsHeight == Current->dmPelsHeight && dmNewPelsWidth == Current->dmPelsWidth) + { + /* No change */ + return; + } - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - if (dmNewPelsHeight < Current->dmPelsHeight) - { - Current = Current->Blink; - while (Current != NULL) - { - if (Current->dmPelsHeight == dmNewPelsHeight - && Current->dmPelsWidth == dmNewPelsWidth - && Current->dmBitsPerPel == pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, bUpdateThumb); - return; - } - Current = Current->Blink; - } - } - else - { - Current = Current->Flink; - while (Current != NULL) - { - if (Current->dmPelsHeight == dmNewPelsHeight - && Current->dmPelsWidth == dmNewPelsWidth - && Current->dmBitsPerPel == pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, bUpdateThumb); - return; - } - Current = Current->Flink; - } - } + if (dmNewPelsHeight < Current->dmPelsHeight) + { + Current = Current->Blink; + while (Current != NULL) + { + if (Current->dmPelsHeight == dmNewPelsHeight + && Current->dmPelsWidth == dmNewPelsWidth + && Current->dmBitsPerPel == pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, bUpdateThumb); + return; + } + Current = Current->Blink; + } + } + else + { + Current = Current->Flink; + while (Current != NULL) + { + if (Current->dmPelsHeight == dmNewPelsHeight + && Current->dmPelsWidth == dmNewPelsWidth + && Current->dmBitsPerPel == pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, bUpdateThumb); + return; + } + Current = Current->Flink; + } + } - /* Search bigger color depth compatible with current resolution */ - Current = pData->CurrentDisplayDevice->CurrentSettings->Flink; - while (Current != NULL) - { - if (dmNewPelsHeight == Current->dmPelsHeight && dmNewPelsWidth == Current->dmPelsWidth) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, bUpdateThumb); - return; - } - Current = Current->Flink; - } + /* Search bigger color depth compatible with current resolution */ + Current = pData->CurrentDisplayDevice->CurrentSettings->Flink; + while (Current != NULL) + { + if (dmNewPelsHeight == Current->dmPelsHeight && dmNewPelsWidth == Current->dmPelsWidth) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, bUpdateThumb); + return; + } + Current = Current->Flink; + } - /* Search smaller color depth compatible with current resolution */ - Current = pData->CurrentDisplayDevice->CurrentSettings->Blink; - while (Current != NULL) - { - if (dmNewPelsHeight == Current->dmPelsHeight && dmNewPelsWidth == Current->dmPelsWidth) - { - pData->CurrentDisplayDevice->CurrentSettings = Current; - UpdateDisplay(hwndDlg, pData, bUpdateThumb); - return; - } - Current = Current->Blink; - } + /* Search smaller color depth compatible with current resolution */ + Current = pData->CurrentDisplayDevice->CurrentSettings->Blink; + while (Current != NULL) + { + if (dmNewPelsHeight == Current->dmPelsHeight && dmNewPelsWidth == Current->dmPelsWidth) + { + pData->CurrentDisplayDevice->CurrentSettings = Current; + UpdateDisplay(hwndDlg, pData, bUpdateThumb); + return; + } + Current = Current->Blink; + } - /* We shouldn't go there */ + /* We shouldn't go there */ } /* Property sheet page callback */ UINT CALLBACK SettingsPageCallbackProc(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp) { - UINT Ret = 0; + UINT Ret = 0; - switch (uMsg) - { - case PSPCB_CREATE: - Ret = RegisterMonitorSelectionControl(hApplet); - break; + switch (uMsg) + { + case PSPCB_CREATE: + Ret = RegisterMonitorSelectionControl(hApplet); + break; - case PSPCB_RELEASE: - UnregisterMonitorSelectionControl(hApplet); - break; - } + case PSPCB_RELEASE: + UnregisterMonitorSelectionControl(hApplet); + break; + } - return Ret; + return Ret; } /* Property page dialog callback */ INT_PTR CALLBACK SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) { - PDATA pData; - TCHAR Message[1024], Title[256]; + PDATA pData; + TCHAR Message[1024], Title[256]; - pData = (PDATA)GetWindowLongPtr(hwndDlg, DWLP_USER); + pData = (PDATA)GetWindowLongPtr(hwndDlg, DWLP_USER); - switch(uMsg) - { - case WM_INITDIALOG: - { - OnInitDialog(hwndDlg); - break; - } - case WM_DRAWITEM: - { - LPDRAWITEMSTRUCT lpDrawItem; - lpDrawItem = (LPDRAWITEMSTRUCT) lParam; + switch(uMsg) + { + case WM_INITDIALOG: + { + OnInitDialog(hwndDlg); + break; + } + case WM_DRAWITEM: + { + LPDRAWITEMSTRUCT lpDrawItem; + lpDrawItem = (LPDRAWITEMSTRUCT) lParam; - if (lpDrawItem->CtlID == IDC_SETTINGS_SPECTRUM) - ShowColorSpectrum(lpDrawItem->hDC, &lpDrawItem->rcItem, pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel, pData); - break; - } - case WM_COMMAND: - { - DWORD controlId = LOWORD(wParam); - DWORD command = HIWORD(wParam); + if (lpDrawItem->CtlID == IDC_SETTINGS_SPECTRUM) + ShowColorSpectrum(lpDrawItem->hDC, &lpDrawItem->rcItem, pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel, pData); + break; + } + case WM_COMMAND: + { + DWORD controlId = LOWORD(wParam); + DWORD command = HIWORD(wParam); - if (controlId == IDC_SETTINGS_ADVANCED && command == BN_CLICKED) - DisplayAdvancedSettings(hwndDlg, pData->CurrentDisplayDevice); - else if (controlId == IDC_SETTINGS_BPP && command == CBN_SELCHANGE) - OnBPPChanged(hwndDlg, pData); - break; - } - case WM_HSCROLL: - { - switch (LOWORD(wParam)) - { - case TB_LINEUP: - case TB_LINEDOWN: - case TB_PAGEUP: - case TB_PAGEDOWN: - case TB_TOP: - case TB_BOTTOM: - case TB_ENDTRACK: - { - DWORD newPosition = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_GETPOS, 0, 0); - OnResolutionChanged(hwndDlg, pData, newPosition, TRUE); - break; - } + if (controlId == IDC_SETTINGS_ADVANCED && command == BN_CLICKED) + DisplayAdvancedSettings(hwndDlg, pData->CurrentDisplayDevice); + else if (controlId == IDC_SETTINGS_BPP && command == CBN_SELCHANGE) + OnBPPChanged(hwndDlg, pData); + break; + } + case WM_HSCROLL: + { + switch (LOWORD(wParam)) + { + case TB_LINEUP: + case TB_LINEDOWN: + case TB_PAGEUP: + case TB_PAGEDOWN: + case TB_TOP: + case TB_BOTTOM: + case TB_ENDTRACK: + { + DWORD newPosition = (DWORD) SendDlgItemMessage(hwndDlg, IDC_SETTINGS_RESOLUTION, TBM_GETPOS, 0, 0); + OnResolutionChanged(hwndDlg, pData, newPosition, TRUE); + break; + } - case TB_THUMBTRACK: - OnResolutionChanged(hwndDlg, pData, HIWORD(wParam), FALSE); - break; - } - break; - } - case WM_NOTIFY: - { - LPNMHDR lpnm = (LPNMHDR)lParam; - if (lpnm->code == (UINT)PSN_APPLY) - { - if (pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth != pData->CurrentDisplayDevice->InitialSettings.dmPelsWidth - || pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight != pData->CurrentDisplayDevice->InitialSettings.dmPelsHeight - || pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel != pData->CurrentDisplayDevice->InitialSettings.dmBitsPerPel) - { - /* FIXME: Need to test changes */ - /* Apply new settings */ - LONG rc; - DEVMODE devmode; - RtlZeroMemory(&devmode, sizeof(DEVMODE)); - devmode.dmSize = (WORD)sizeof(DEVMODE); - devmode.dmPelsWidth = pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth; - devmode.dmPelsHeight = pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight; - devmode.dmBitsPerPel = pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel; - devmode.dmDisplayFrequency = pData->CurrentDisplayDevice->CurrentSettings->dmDisplayFrequency; - devmode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY; - rc = ChangeDisplaySettingsEx( - pData->CurrentDisplayDevice->DeviceName, - &devmode, - NULL, - CDS_UPDATEREGISTRY, - NULL); - switch (rc) - { - case DISP_CHANGE_SUCCESSFUL: - pData->CurrentDisplayDevice->InitialSettings.dmPelsWidth = pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth; - pData->CurrentDisplayDevice->InitialSettings.dmPelsHeight = pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight; - pData->CurrentDisplayDevice->InitialSettings.dmBitsPerPel = pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel; - break; - case DISP_CHANGE_RESTART: - LoadString(hApplet, IDS_DISPLAY_SETTINGS, Title, sizeof(Title) / sizeof(TCHAR)); - LoadString(hApplet, IDS_APPLY_NEEDS_RESTART, Message, sizeof(Message) / sizeof (TCHAR)); - MessageBox(hwndDlg, Message, Title, MB_OK | MB_ICONINFORMATION); - break; - case DISP_CHANGE_FAILED: - default: - LoadString(hApplet, IDS_DISPLAY_SETTINGS, Title, sizeof(Title) / sizeof(TCHAR)); - LoadString(hApplet, IDS_APPLY_FAILED, Message, sizeof(Message) / sizeof (TCHAR)); - MessageBox(hwndDlg, Message, Title, MB_OK | MB_ICONSTOP); - break; - } - } - } - break; - } + case TB_THUMBTRACK: + OnResolutionChanged(hwndDlg, pData, HIWORD(wParam), FALSE); + break; + } + break; + } + case WM_NOTIFY: + { + LPNMHDR lpnm = (LPNMHDR)lParam; + if (lpnm->code == (UINT)PSN_APPLY) + { + if (pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth != pData->CurrentDisplayDevice->InitialSettings.dmPelsWidth + || pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight != pData->CurrentDisplayDevice->InitialSettings.dmPelsHeight + || pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel != pData->CurrentDisplayDevice->InitialSettings.dmBitsPerPel) + { + /* FIXME: Need to test changes */ + /* Apply new settings */ + LONG rc; + DEVMODE devmode; + RtlZeroMemory(&devmode, sizeof(DEVMODE)); + devmode.dmSize = (WORD)sizeof(DEVMODE); + devmode.dmPelsWidth = pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth; + devmode.dmPelsHeight = pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight; + devmode.dmBitsPerPel = pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel; + devmode.dmDisplayFrequency = pData->CurrentDisplayDevice->CurrentSettings->dmDisplayFrequency; + devmode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY; + rc = ChangeDisplaySettingsEx( + pData->CurrentDisplayDevice->DeviceName, + &devmode, + NULL, + CDS_UPDATEREGISTRY, + NULL); + switch (rc) + { + case DISP_CHANGE_SUCCESSFUL: + pData->CurrentDisplayDevice->InitialSettings.dmPelsWidth = pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth; + pData->CurrentDisplayDevice->InitialSettings.dmPelsHeight = pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight; + pData->CurrentDisplayDevice->InitialSettings.dmBitsPerPel = pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel; + break; + case DISP_CHANGE_RESTART: + LoadString(hApplet, IDS_DISPLAY_SETTINGS, Title, sizeof(Title) / sizeof(TCHAR)); + LoadString(hApplet, IDS_APPLY_NEEDS_RESTART, Message, sizeof(Message) / sizeof (TCHAR)); + MessageBox(hwndDlg, Message, Title, MB_OK | MB_ICONINFORMATION); + break; + case DISP_CHANGE_FAILED: + default: + LoadString(hApplet, IDS_DISPLAY_SETTINGS, Title, sizeof(Title) / sizeof(TCHAR)); + LoadString(hApplet, IDS_APPLY_FAILED, Message, sizeof(Message) / sizeof (TCHAR)); + MessageBox(hwndDlg, Message, Title, MB_OK | MB_ICONSTOP); + break; + } + } + } + break; + } - case WM_CONTEXTMENU: - { - HWND hwndMonSel; - HMENU hPopup; - UINT uiCmd; - POINT pt, ptClient; - INT Index; + case WM_CONTEXTMENU: + { + HWND hwndMonSel; + HMENU hPopup; + UINT uiCmd; + POINT pt, ptClient; + INT Index; - pt.x = (SHORT)LOWORD(lParam); - pt.y = (SHORT)HIWORD(lParam); + pt.x = (SHORT)LOWORD(lParam); + pt.y = (SHORT)HIWORD(lParam); - hwndMonSel = GetDlgItem(hwndDlg, - IDC_SETTINGS_MONSEL); - if ((HWND)wParam == hwndMonSel) - { - if (pt.x == -1 && pt.y == -1) - { - RECT rcMon; + hwndMonSel = GetDlgItem(hwndDlg, + IDC_SETTINGS_MONSEL); + if ((HWND)wParam == hwndMonSel) + { + if (pt.x == -1 && pt.y == -1) + { + RECT rcMon; - Index = (INT)SendMessage(hwndMonSel, - MSLM_GETCURSEL, - 0, - 0); + Index = (INT)SendMessage(hwndMonSel, + MSLM_GETCURSEL, + 0, + 0); - if (Index >= 0 && - (INT)SendMessage(hwndMonSel, - MSLM_GETMONITORRECT, - Index, - (LPARAM)&rcMon) > 0) - { - pt.x = rcMon.left + ((rcMon.right - rcMon.left) / 2); - pt.y = rcMon.top + ((rcMon.bottom - rcMon.top) / 2); - } - else - pt.x = pt.y = 0; + if (Index >= 0 && + (INT)SendMessage(hwndMonSel, + MSLM_GETMONITORRECT, + Index, + (LPARAM)&rcMon) > 0) + { + pt.x = rcMon.left + ((rcMon.right - rcMon.left) / 2); + pt.y = rcMon.top + ((rcMon.bottom - rcMon.top) / 2); + } + else + pt.x = pt.y = 0; - MapWindowPoints(hwndMonSel, - NULL, - &pt, - 1); - } - else - { - ptClient = pt; - MapWindowPoints(NULL, - hwndMonSel, - &ptClient, - 1); + MapWindowPoints(hwndMonSel, + NULL, + &pt, + 1); + } + else + { + ptClient = pt; + MapWindowPoints(NULL, + hwndMonSel, + &ptClient, + 1); - Index = (INT)SendMessage(hwndMonSel, - MSLM_HITTEST, - (WPARAM)&ptClient, - 0); - } + Index = (INT)SendMessage(hwndMonSel, + MSLM_HITTEST, + (WPARAM)&ptClient, + 0); + } - if (Index >= 0) - { - hPopup = LoadPopupMenu(hApplet, - MAKEINTRESOURCE(IDM_MONITOR_MENU)); - if (hPopup != NULL) - { - /* FIXME: Enable/Disable menu items */ - EnableMenuItem(hPopup, - ID_MENU_ATTACHED, - MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); - EnableMenuItem(hPopup, - ID_MENU_PRIMARY, - MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); - EnableMenuItem(hPopup, - ID_MENU_IDENTIFY, - MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); - EnableMenuItem(hPopup, - ID_MENU_PROPERTIES, - MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + if (Index >= 0) + { + hPopup = LoadPopupMenu(hApplet, + MAKEINTRESOURCE(IDM_MONITOR_MENU)); + if (hPopup != NULL) + { + /* FIXME: Enable/Disable menu items */ + EnableMenuItem(hPopup, + ID_MENU_ATTACHED, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + EnableMenuItem(hPopup, + ID_MENU_PRIMARY, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + EnableMenuItem(hPopup, + ID_MENU_IDENTIFY, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + EnableMenuItem(hPopup, + ID_MENU_PROPERTIES, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); - uiCmd = (UINT)TrackPopupMenu(hPopup, - TPM_RETURNCMD | TPM_RIGHTBUTTON, - pt.x, - pt.y, - 0, - hwndDlg, - NULL); + uiCmd = (UINT)TrackPopupMenu(hPopup, + TPM_RETURNCMD | TPM_RIGHTBUTTON, + pt.x, + pt.y, + 0, + hwndDlg, + NULL); - switch (uiCmd) - { - case ID_MENU_ATTACHED: - case ID_MENU_PRIMARY: - case ID_MENU_IDENTIFY: - case ID_MENU_PROPERTIES: - /* FIXME: Implement */ - break; - } + switch (uiCmd) + { + case ID_MENU_ATTACHED: + case ID_MENU_PRIMARY: + case ID_MENU_IDENTIFY: + case ID_MENU_PROPERTIES: + /* FIXME: Implement */ + break; + } - DestroyMenu(hPopup); - } - } - } - break; - } + DestroyMenu(hPopup); + } + } + } + break; + } - case WM_DESTROY: - { - DWORD i; - PDISPLAY_DEVICE_ENTRY Current = pData->DisplayDeviceList; + case WM_DESTROY: + { + DWORD i; + PDISPLAY_DEVICE_ENTRY Current = pData->DisplayDeviceList; - while (Current != NULL) - { - PDISPLAY_DEVICE_ENTRY Next = Current->Flink; - PSETTINGS_ENTRY CurrentSettings = Current->Settings; - while (CurrentSettings != NULL) - { - PSETTINGS_ENTRY NextSettings = CurrentSettings->Flink; - HeapFree(GetProcessHeap(), 0, CurrentSettings); - CurrentSettings = NextSettings; - } - HeapFree(GetProcessHeap(), 0, Current); - Current = Next; - } + while (Current != NULL) + { + PDISPLAY_DEVICE_ENTRY Next = Current->Flink; + PSETTINGS_ENTRY CurrentSettings = Current->Settings; + while (CurrentSettings != NULL) + { + PSETTINGS_ENTRY NextSettings = CurrentSettings->Flink; + HeapFree(GetProcessHeap(), 0, CurrentSettings); + CurrentSettings = NextSettings; + } + HeapFree(GetProcessHeap(), 0, Current); + Current = Next; + } - for (i = 0; i < NUM_SPECTRUM_BITMAPS; i++) - { - if (pData->hSpectrumBitmaps[i]) - DeleteObject(pData->hSpectrumBitmaps[i]); - } + for (i = 0; i < NUM_SPECTRUM_BITMAPS; i++) + { + if (pData->hSpectrumBitmaps[i]) + DeleteObject(pData->hSpectrumBitmaps[i]); + } - HeapFree(GetProcessHeap(), 0, pData); - } - } - return FALSE; + HeapFree(GetProcessHeap(), 0, pData); + } + } + return FALSE; } diff --git a/reactos/dll/cpl/desk/theme.c b/reactos/dll/cpl/desk/theme.c index e7fd9c055cf..6e8ad7d170c 100644 --- a/reactos/dll/cpl/desk/theme.c +++ b/reactos/dll/cpl/desk/theme.c @@ -24,360 +24,360 @@ SCHEME_PRESET g_ColorSchemes[MAX_TEMPLATES]; /* This is the list of names for the colors stored in the registry */ static const TCHAR *g_RegColorNames[NUM_COLORS] = - {TEXT("Scrollbar"), /* 00 = COLOR_SCROLLBAR */ - TEXT("Background"), /* 01 = COLOR_DESKTOP */ - TEXT("ActiveTitle"), /* 02 = COLOR_ACTIVECAPTION */ - TEXT("InactiveTitle"), /* 03 = COLOR_INACTIVECAPTION */ - TEXT("Menu"), /* 04 = COLOR_MENU */ - TEXT("Window"), /* 05 = COLOR_WINDOW */ - TEXT("WindowFrame"), /* 06 = COLOR_WINDOWFRAME */ - TEXT("MenuText"), /* 07 = COLOR_MENUTEXT */ - TEXT("WindowText"), /* 08 = COLOR_WINDOWTEXT */ - TEXT("TitleText"), /* 09 = COLOR_CAPTIONTEXT */ - TEXT("ActiveBorder"), /* 10 = COLOR_ACTIVEBORDER */ - TEXT("InactiveBorder"), /* 11 = COLOR_INACTIVEBORDER */ - TEXT("AppWorkSpace"), /* 12 = COLOR_APPWORKSPACE */ - TEXT("Hilight"), /* 13 = COLOR_HIGHLIGHT */ - TEXT("HilightText"), /* 14 = COLOR_HIGHLIGHTTEXT */ - TEXT("ButtonFace"), /* 15 = COLOR_BTNFACE */ - TEXT("ButtonShadow"), /* 16 = COLOR_BTNSHADOW */ - TEXT("GrayText"), /* 17 = COLOR_GRAYTEXT */ - TEXT("ButtonText"), /* 18 = COLOR_BTNTEXT */ - TEXT("InactiveTitleText"), /* 19 = COLOR_INACTIVECAPTIONTEXT */ - TEXT("ButtonHilight"), /* 20 = COLOR_BTNHIGHLIGHT */ - TEXT("ButtonDkShadow"), /* 21 = COLOR_3DDKSHADOW */ - TEXT("ButtonLight"), /* 22 = COLOR_3DLIGHT */ - TEXT("InfoText"), /* 23 = COLOR_INFOTEXT */ - TEXT("InfoWindow"), /* 24 = COLOR_INFOBK */ - TEXT("ButtonAlternateFace"), /* 25 = COLOR_ALTERNATEBTNFACE */ - TEXT("HotTrackingColor"), /* 26 = COLOR_HOTLIGHT */ - TEXT("GradientActiveTitle"), /* 27 = COLOR_GRADIENTACTIVECAPTION */ - TEXT("GradientInactiveTitle"), /* 28 = COLOR_GRADIENTINACTIVECAPTION */ - TEXT("MenuHilight"), /* 29 = COLOR_MENUHILIGHT */ - TEXT("MenuBar"), /* 30 = COLOR_MENUBAR */ + {TEXT("Scrollbar"), /* 00 = COLOR_SCROLLBAR */ + TEXT("Background"), /* 01 = COLOR_DESKTOP */ + TEXT("ActiveTitle"), /* 02 = COLOR_ACTIVECAPTION */ + TEXT("InactiveTitle"), /* 03 = COLOR_INACTIVECAPTION */ + TEXT("Menu"), /* 04 = COLOR_MENU */ + TEXT("Window"), /* 05 = COLOR_WINDOW */ + TEXT("WindowFrame"), /* 06 = COLOR_WINDOWFRAME */ + TEXT("MenuText"), /* 07 = COLOR_MENUTEXT */ + TEXT("WindowText"), /* 08 = COLOR_WINDOWTEXT */ + TEXT("TitleText"), /* 09 = COLOR_CAPTIONTEXT */ + TEXT("ActiveBorder"), /* 10 = COLOR_ACTIVEBORDER */ + TEXT("InactiveBorder"), /* 11 = COLOR_INACTIVEBORDER */ + TEXT("AppWorkSpace"), /* 12 = COLOR_APPWORKSPACE */ + TEXT("Hilight"), /* 13 = COLOR_HIGHLIGHT */ + TEXT("HilightText"), /* 14 = COLOR_HIGHLIGHTTEXT */ + TEXT("ButtonFace"), /* 15 = COLOR_BTNFACE */ + TEXT("ButtonShadow"), /* 16 = COLOR_BTNSHADOW */ + TEXT("GrayText"), /* 17 = COLOR_GRAYTEXT */ + TEXT("ButtonText"), /* 18 = COLOR_BTNTEXT */ + TEXT("InactiveTitleText"), /* 19 = COLOR_INACTIVECAPTIONTEXT */ + TEXT("ButtonHilight"), /* 20 = COLOR_BTNHIGHLIGHT */ + TEXT("ButtonDkShadow"), /* 21 = COLOR_3DDKSHADOW */ + TEXT("ButtonLight"), /* 22 = COLOR_3DLIGHT */ + TEXT("InfoText"), /* 23 = COLOR_INFOTEXT */ + TEXT("InfoWindow"), /* 24 = COLOR_INFOBK */ + TEXT("ButtonAlternateFace"), /* 25 = COLOR_ALTERNATEBTNFACE */ + TEXT("HotTrackingColor"), /* 26 = COLOR_HOTLIGHT */ + TEXT("GradientActiveTitle"), /* 27 = COLOR_GRADIENTACTIVECAPTION */ + TEXT("GradientInactiveTitle"), /* 28 = COLOR_GRADIENTINACTIVECAPTION */ + TEXT("MenuHilight"), /* 29 = COLOR_MENUHILIGHT */ + TEXT("MenuBar"), /* 30 = COLOR_MENUBAR */ }; /* This is the list of used metrics and their numbers */ static const int g_SizeMetric[NUM_SIZES] = { - SM_CXBORDER, /* 00: SIZE_BORDER_X */ - SM_CYBORDER, /* 01: SIZE_BORDER_Y */ - SM_CYSIZE, /* 02: SIZE_CAPTION_Y */ - SM_CXICON, /* 03: SIZE_ICON_X */ - SM_CYICON, /* 04: SIZE_ICON_Y */ - SM_CXICONSPACING, /* 05: SIZE_ICON_SPC_X */ - SM_CYICONSPACING, /* 06: SIZE_ICON_SPC_Y */ - SM_CXMENUSIZE, /* 07: SIZE_MENU_SIZE_X */ - SM_CYMENU, /* 08: SIZE_MENU_Y */ - SM_CXVSCROLL, /* 09: SIZE_SCROLL_X */ - SM_CYHSCROLL, /* 10: SIZE_SCROLL_Y */ - SM_CYSMSIZE, /* 11: SIZE_SMCAPTION_Y */ - SM_CXEDGE, /* 12: SIZE_EDGE_X */ - SM_CYEDGE, /* 13: SIZE_EDGE_Y */ - SM_CYSIZEFRAME, /* 14: SIZE_FRAME_Y */ - SM_CXMENUCHECK, /* 15: SIZE_MENU_CHECK_X */ - SM_CYMENUCHECK, /* 16: SIZE_MENU_CHECK_Y */ - SM_CYMENUSIZE, /* 17: SIZE_MENU_SIZE_Y */ - SM_CXSIZE, /* 18: SIZE_SIZE_X */ - SM_CYSIZE /* 19: SIZE_SIZE_Y */ + SM_CXBORDER, /* 00: SIZE_BORDER_X */ + SM_CYBORDER, /* 01: SIZE_BORDER_Y */ + SM_CYSIZE, /* 02: SIZE_CAPTION_Y */ + SM_CXICON, /* 03: SIZE_ICON_X */ + SM_CYICON, /* 04: SIZE_ICON_Y */ + SM_CXICONSPACING, /* 05: SIZE_ICON_SPC_X */ + SM_CYICONSPACING, /* 06: SIZE_ICON_SPC_Y */ + SM_CXMENUSIZE, /* 07: SIZE_MENU_SIZE_X */ + SM_CYMENU, /* 08: SIZE_MENU_Y */ + SM_CXVSCROLL, /* 09: SIZE_SCROLL_X */ + SM_CYHSCROLL, /* 10: SIZE_SCROLL_Y */ + SM_CYSMSIZE, /* 11: SIZE_SMCAPTION_Y */ + SM_CXEDGE, /* 12: SIZE_EDGE_X */ + SM_CYEDGE, /* 13: SIZE_EDGE_Y */ + SM_CYSIZEFRAME, /* 14: SIZE_FRAME_Y */ + SM_CXMENUCHECK, /* 15: SIZE_MENU_CHECK_X */ + SM_CYMENUCHECK, /* 16: SIZE_MENU_CHECK_Y */ + SM_CYMENUSIZE, /* 17: SIZE_MENU_SIZE_Y */ + SM_CXSIZE, /* 18: SIZE_SIZE_X */ + SM_CYSIZE /* 19: SIZE_SIZE_Y */ }; /******************************************************************************/ VOID LoadCurrentScheme(COLOR_SCHEME* scheme) { - INT i; - NONCLIENTMETRICS NonClientMetrics; + INT i; + NONCLIENTMETRICS NonClientMetrics; - /* Load colors */ - for (i = 0; i < NUM_COLORS; i++) - { - g_ColorList[i] = i; - scheme->crColor[i] = (COLORREF)GetSysColor(i); - } + /* Load colors */ + for (i = 0; i < NUM_COLORS; i++) + { + g_ColorList[i] = i; + scheme->crColor[i] = (COLORREF)GetSysColor(i); + } - /* Load sizes */ - for (i = 0; i < NUM_SIZES; i++) - { - scheme->Size[i] = GetSystemMetrics(g_SizeMetric[i]); - } + /* Load sizes */ + for (i = 0; i < NUM_SIZES; i++) + { + scheme->Size[i] = GetSystemMetrics(g_SizeMetric[i]); + } - /* Load fonts */ - NonClientMetrics.cbSize = sizeof(NONCLIENTMETRICS); - SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &NonClientMetrics, 0); - scheme->lfFont[FONT_CAPTION] = NonClientMetrics.lfCaptionFont; - scheme->lfFont[FONT_SMCAPTION] = NonClientMetrics.lfSmCaptionFont; - scheme->lfFont[FONT_MENU] = NonClientMetrics.lfMenuFont; - scheme->lfFont[FONT_INFO] = NonClientMetrics.lfStatusFont; - scheme->lfFont[FONT_DIALOG] = NonClientMetrics.lfMessageFont; - SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(LOGFONT), &scheme->lfFont[FONT_ICON], 0); + /* Load fonts */ + NonClientMetrics.cbSize = sizeof(NONCLIENTMETRICS); + SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &NonClientMetrics, 0); + scheme->lfFont[FONT_CAPTION] = NonClientMetrics.lfCaptionFont; + scheme->lfFont[FONT_SMCAPTION] = NonClientMetrics.lfSmCaptionFont; + scheme->lfFont[FONT_MENU] = NonClientMetrics.lfMenuFont; + scheme->lfFont[FONT_INFO] = NonClientMetrics.lfStatusFont; + scheme->lfFont[FONT_DIALOG] = NonClientMetrics.lfMessageFont; + SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(LOGFONT), &scheme->lfFont[FONT_ICON], 0); - /* Effects */ - /* "Use the following transition effect for menus and tooltips" */ - SystemParametersInfo(SPI_GETMENUANIMATION, sizeof(BOOL), &scheme->Effects.bMenuAnimation, 0); - SystemParametersInfo(SPI_GETMENUFADE, sizeof(BOOL), &scheme->Effects.bMenuFade, 0); - /* FIXME: XP seems to use grayed checkboxes to reflect differences between menu and tooltips settings - * Just keep them in sync for now: - */ - scheme->Effects.bTooltipAnimation = scheme->Effects.bMenuAnimation; - scheme->Effects.bTooltipFade = scheme->Effects.bMenuFade; + /* Effects */ + /* "Use the following transition effect for menus and tooltips" */ + SystemParametersInfo(SPI_GETMENUANIMATION, sizeof(BOOL), &scheme->Effects.bMenuAnimation, 0); + SystemParametersInfo(SPI_GETMENUFADE, sizeof(BOOL), &scheme->Effects.bMenuFade, 0); + /* FIXME: XP seems to use grayed checkboxes to reflect differences between menu and tooltips settings + * Just keep them in sync for now: + */ + scheme->Effects.bTooltipAnimation = scheme->Effects.bMenuAnimation; + scheme->Effects.bTooltipFade = scheme->Effects.bMenuFade; - /* Show content of windows during dragging */ - SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0, &scheme->Effects.bDragFullWindows, 0); + /* Show content of windows during dragging */ + SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0, &scheme->Effects.bDragFullWindows, 0); - /* "Hide underlined letters for keyboard navigation until I press the Alt key" */ - SystemParametersInfo(SPI_GETKEYBOARDCUES, 0, &scheme->Effects.bKeyboardCues, 0); + /* "Hide underlined letters for keyboard navigation until I press the Alt key" */ + SystemParametersInfo(SPI_GETKEYBOARDCUES, 0, &scheme->Effects.bKeyboardCues, 0); } BOOL LoadSchemeFromReg(COLOR_SCHEME* scheme, INT SchemeId) { - INT i; - TCHAR strSelectedStyle[4]; - TCHAR strSizeName[20] = TEXT("Sizes\\0"); - TCHAR strValueName[10]; - HKEY hkNewSchemes, hkScheme, hkSize; - DWORD dwType, dwLength; - UINT64 iSize; - BOOL Ret = FALSE; + INT i; + TCHAR strSelectedStyle[4]; + TCHAR strSizeName[20] = TEXT("Sizes\\0"); + TCHAR strValueName[10]; + HKEY hkNewSchemes, hkScheme, hkSize; + DWORD dwType, dwLength; + UINT64 iSize; + BOOL Ret = FALSE; - if (!g_PresetLoaded) - LoadSchemePresetEntries(strSelectedStyle); + if (!g_PresetLoaded) + LoadSchemePresetEntries(strSelectedStyle); - if (SchemeId == -1) - return FALSE; + if (SchemeId == -1) + return FALSE; - if (RegOpenKeyEx(HKEY_CURRENT_USER, g_CPANewSchemes, 0, KEY_READ, &hkNewSchemes) == ERROR_SUCCESS) - { - if (RegOpenKeyEx(hkNewSchemes, g_ColorSchemes[SchemeId].strKeyName, 0, KEY_READ, &hkScheme) == ERROR_SUCCESS) - { - lstrcpyn(&strSizeName[6], g_ColorSchemes[SchemeId].strSizeName, 3); - if (RegOpenKeyEx(hkScheme, strSizeName, 0, KEY_READ, &hkSize) == ERROR_SUCCESS) - { - Ret = TRUE; + if (RegOpenKeyEx(HKEY_CURRENT_USER, g_CPANewSchemes, 0, KEY_READ, &hkNewSchemes) == ERROR_SUCCESS) + { + if (RegOpenKeyEx(hkNewSchemes, g_ColorSchemes[SchemeId].strKeyName, 0, KEY_READ, &hkScheme) == ERROR_SUCCESS) + { + lstrcpyn(&strSizeName[6], g_ColorSchemes[SchemeId].strSizeName, 3); + if (RegOpenKeyEx(hkScheme, strSizeName, 0, KEY_READ, &hkSize) == ERROR_SUCCESS) + { + Ret = TRUE; - dwLength = sizeof(DWORD); - if (RegQueryValueEx(hkSize, TEXT("FlatMenus"), NULL, &dwType, (LPBYTE)&scheme->bFlatMenus, &dwLength) != ERROR_SUCCESS || - dwType != REG_DWORD) - { - /* Failed to read registry value */ - scheme->bFlatMenus = FALSE; - } + dwLength = sizeof(DWORD); + if (RegQueryValueEx(hkSize, TEXT("FlatMenus"), NULL, &dwType, (LPBYTE)&scheme->bFlatMenus, &dwLength) != ERROR_SUCCESS || + dwType != REG_DWORD) + { + /* Failed to read registry value */ + scheme->bFlatMenus = FALSE; + } - for (i = 0; i < NUM_COLORS; i++) - { - wsprintf(strValueName, TEXT("Color #%d"), i); - dwLength = sizeof(COLORREF); - if (RegQueryValueEx(hkSize, strValueName, NULL, &dwType, (LPBYTE)&scheme->crColor[i], &dwLength) != ERROR_SUCCESS || - dwType != REG_DWORD) - { - /* Failed to read registry value, initialize with current setting for now */ - scheme->crColor[i] = GetSysColor(i); - } - } + for (i = 0; i < NUM_COLORS; i++) + { + wsprintf(strValueName, TEXT("Color #%d"), i); + dwLength = sizeof(COLORREF); + if (RegQueryValueEx(hkSize, strValueName, NULL, &dwType, (LPBYTE)&scheme->crColor[i], &dwLength) != ERROR_SUCCESS || + dwType != REG_DWORD) + { + /* Failed to read registry value, initialize with current setting for now */ + scheme->crColor[i] = GetSysColor(i); + } + } - for (i = 0; i < NUM_FONTS; i++) - { - wsprintf(strValueName, TEXT("Font #%d"), i); - dwLength = sizeof(LOGFONT); - if (RegQueryValueEx(hkSize, strValueName, NULL, &dwType, (LPBYTE)&scheme->lfFont[i], &dwLength) != ERROR_SUCCESS || - dwType != REG_BINARY || dwLength != sizeof(LOGFONT)) - { - /* Failed to read registry value */ - Ret = FALSE; - } - } + for (i = 0; i < NUM_FONTS; i++) + { + wsprintf(strValueName, TEXT("Font #%d"), i); + dwLength = sizeof(LOGFONT); + if (RegQueryValueEx(hkSize, strValueName, NULL, &dwType, (LPBYTE)&scheme->lfFont[i], &dwLength) != ERROR_SUCCESS || + dwType != REG_BINARY || dwLength != sizeof(LOGFONT)) + { + /* Failed to read registry value */ + Ret = FALSE; + } + } - for (i = 0; i < NUM_SIZES; i++) - { - wsprintf(strValueName, TEXT("Size #%d"), i); - dwLength = sizeof(UINT64); - if (RegQueryValueEx(hkSize, strValueName, NULL, &dwType, (LPBYTE)&iSize, &dwLength) != ERROR_SUCCESS || - dwType != REG_QWORD || dwLength != sizeof(UINT64)) - { - /* Failed to read registry value, initialize with current setting for now */ - scheme->Size[i] = GetSystemMetrics(g_SizeMetric[i]); - } - else - scheme->Size[i] = (INT)iSize; - } - RegCloseKey(hkSize); - } - RegCloseKey(hkScheme); - } - RegCloseKey(hkNewSchemes); - } + for (i = 0; i < NUM_SIZES; i++) + { + wsprintf(strValueName, TEXT("Size #%d"), i); + dwLength = sizeof(UINT64); + if (RegQueryValueEx(hkSize, strValueName, NULL, &dwType, (LPBYTE)&iSize, &dwLength) != ERROR_SUCCESS || + dwType != REG_QWORD || dwLength != sizeof(UINT64)) + { + /* Failed to read registry value, initialize with current setting for now */ + scheme->Size[i] = GetSystemMetrics(g_SizeMetric[i]); + } + else + scheme->Size[i] = (INT)iSize; + } + RegCloseKey(hkSize); + } + RegCloseKey(hkScheme); + } + RegCloseKey(hkNewSchemes); + } - return Ret; + return Ret; } VOID ApplyScheme(COLOR_SCHEME* scheme, INT SchemeId) { - INT i, Result; - HKEY hKey; - TCHAR clText[16]; - NONCLIENTMETRICS NonClientMetrics; - ICONMETRICS IconMetrics; + INT i, Result; + HKEY hKey; + TCHAR clText[16]; + NONCLIENTMETRICS NonClientMetrics; + ICONMETRICS IconMetrics; - /* Apply Colors from global variable */ - SetSysColors(NUM_COLORS, g_ColorList, scheme->crColor); + /* Apply Colors from global variable */ + SetSysColors(NUM_COLORS, g_ColorList, scheme->crColor); - /* Save colors to registry */ - Result = RegCreateKeyEx(HKEY_CURRENT_USER, g_CPColors, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL); - if (Result == ERROR_SUCCESS) - { - for (i = 0; i < NUM_COLORS; i++) - { - DWORD red = GetRValue(scheme->crColor[i]); - DWORD green = GetGValue(scheme->crColor[i]); - DWORD blue = GetBValue(scheme->crColor[i]); - wsprintf(clText, TEXT("%d %d %d"), red, green, blue); - RegSetValueEx(hKey, g_RegColorNames[i], 0, REG_SZ, (BYTE *)clText, (lstrlen(clText) + 1) * sizeof(TCHAR)); - } - RegCloseKey(hKey); - } + /* Save colors to registry */ + Result = RegCreateKeyEx(HKEY_CURRENT_USER, g_CPColors, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL); + if (Result == ERROR_SUCCESS) + { + for (i = 0; i < NUM_COLORS; i++) + { + DWORD red = GetRValue(scheme->crColor[i]); + DWORD green = GetGValue(scheme->crColor[i]); + DWORD blue = GetBValue(scheme->crColor[i]); + wsprintf(clText, TEXT("%d %d %d"), red, green, blue); + RegSetValueEx(hKey, g_RegColorNames[i], 0, REG_SZ, (BYTE *)clText, (lstrlen(clText) + 1) * sizeof(TCHAR)); + } + RegCloseKey(hKey); + } - /* Apply non client metrics */ - NonClientMetrics.cbSize = sizeof(NONCLIENTMETRICS); - SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &NonClientMetrics, 0); - NonClientMetrics.lfCaptionFont = scheme->lfFont[FONT_CAPTION]; - NonClientMetrics.lfSmCaptionFont = scheme->lfFont[FONT_SMCAPTION]; - NonClientMetrics.lfMenuFont = scheme->lfFont[FONT_MENU]; - NonClientMetrics.lfStatusFont = scheme->lfFont[FONT_INFO]; - NonClientMetrics.lfMessageFont = scheme->lfFont[FONT_DIALOG]; - NonClientMetrics.iBorderWidth = scheme->Size[SIZE_BORDER_X]; - NonClientMetrics.iScrollWidth = scheme->Size[SIZE_SCROLL_X]; - NonClientMetrics.iScrollHeight = scheme->Size[SIZE_SCROLL_Y]; - NonClientMetrics.iCaptionWidth = scheme->Size[SIZE_CAPTION_Y]; - NonClientMetrics.iCaptionHeight = scheme->Size[SIZE_CAPTION_Y]; - NonClientMetrics.iSmCaptionWidth = scheme->Size[SIZE_SMCAPTION_Y]; - NonClientMetrics.iSmCaptionHeight = scheme->Size[SIZE_SMCAPTION_Y]; - NonClientMetrics.iMenuWidth = scheme->Size[SIZE_MENU_SIZE_X]; - NonClientMetrics.iMenuHeight = scheme->Size[SIZE_MENU_Y]; - SystemParametersInfo(SPI_SETNONCLIENTMETRICS, - sizeof(NONCLIENTMETRICS), - &NonClientMetrics, - SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); + /* Apply non client metrics */ + NonClientMetrics.cbSize = sizeof(NONCLIENTMETRICS); + SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &NonClientMetrics, 0); + NonClientMetrics.lfCaptionFont = scheme->lfFont[FONT_CAPTION]; + NonClientMetrics.lfSmCaptionFont = scheme->lfFont[FONT_SMCAPTION]; + NonClientMetrics.lfMenuFont = scheme->lfFont[FONT_MENU]; + NonClientMetrics.lfStatusFont = scheme->lfFont[FONT_INFO]; + NonClientMetrics.lfMessageFont = scheme->lfFont[FONT_DIALOG]; + NonClientMetrics.iBorderWidth = scheme->Size[SIZE_BORDER_X]; + NonClientMetrics.iScrollWidth = scheme->Size[SIZE_SCROLL_X]; + NonClientMetrics.iScrollHeight = scheme->Size[SIZE_SCROLL_Y]; + NonClientMetrics.iCaptionWidth = scheme->Size[SIZE_CAPTION_Y]; + NonClientMetrics.iCaptionHeight = scheme->Size[SIZE_CAPTION_Y]; + NonClientMetrics.iSmCaptionWidth = scheme->Size[SIZE_SMCAPTION_Y]; + NonClientMetrics.iSmCaptionHeight = scheme->Size[SIZE_SMCAPTION_Y]; + NonClientMetrics.iMenuWidth = scheme->Size[SIZE_MENU_SIZE_X]; + NonClientMetrics.iMenuHeight = scheme->Size[SIZE_MENU_Y]; + SystemParametersInfo(SPI_SETNONCLIENTMETRICS, + sizeof(NONCLIENTMETRICS), + &NonClientMetrics, + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); - /* Apply icon metrics */ - IconMetrics.cbSize = sizeof(ICONMETRICS); - SystemParametersInfo(SPI_GETICONMETRICS, sizeof(ICONMETRICS), &IconMetrics, 0); - IconMetrics.iHorzSpacing = scheme->Size[SIZE_ICON_SPC_X]; - IconMetrics.iVertSpacing = scheme->Size[SIZE_ICON_SPC_Y]; - IconMetrics.lfFont = scheme->lfFont[FONT_ICON]; - SystemParametersInfo(SPI_SETICONMETRICS, - sizeof(ICONMETRICS), - &IconMetrics, - SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); + /* Apply icon metrics */ + IconMetrics.cbSize = sizeof(ICONMETRICS); + SystemParametersInfo(SPI_GETICONMETRICS, sizeof(ICONMETRICS), &IconMetrics, 0); + IconMetrics.iHorzSpacing = scheme->Size[SIZE_ICON_SPC_X]; + IconMetrics.iVertSpacing = scheme->Size[SIZE_ICON_SPC_Y]; + IconMetrics.lfFont = scheme->lfFont[FONT_ICON]; + SystemParametersInfo(SPI_SETICONMETRICS, + sizeof(ICONMETRICS), + &IconMetrics, + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); - /* Effects, save only when needed: */ - /* FIXME: XP seems to use grayed checkboxes to reflect differences between menu and tooltips settings - * Just keep them in sync for now. - */ - scheme->Effects.bTooltipAnimation = scheme->Effects.bMenuAnimation; - scheme->Effects.bTooltipFade = scheme->Effects.bMenuFade; - SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, scheme->Effects.bDragFullWindows, (PVOID)&scheme->Effects.bDragFullWindows, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE); - SystemParametersInfo(SPI_SETKEYBOARDCUES, 0, IntToPtr(scheme->Effects.bKeyboardCues), SPIF_SENDCHANGE | SPIF_UPDATEINIFILE); - //SystemParametersInfo(SPI_SETACTIVEWINDOWTRACKING, 0, (PVOID)&scheme->Effects.bActiveWindowTracking, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETMENUANIMATION, 0, (PVOID)&scheme->Effects.bMenuAnimation, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETCOMBOBOXANIMATION, 0, (PVOID)&scheme->Effects.bComboBoxAnimation, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETLISTBOXSMOOTHSCROLLING, 0, (PVOID)&scheme->Effects.bListBoxSmoothScrolling, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETGRADIENTCAPTIONS, 0, (PVOID)&scheme->Effects.bGradientCaptions, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETACTIVEWNDTRKZORDER, 0, (PVOID)&scheme->Effects.bActiveWndTrkZorder, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETHOTTRACKING, 0, (PVOID)&scheme->Effects.bHotTracking, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - SystemParametersInfo(SPI_SETMENUFADE, 0, (PVOID)&scheme->Effects.bMenuFade, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETSELECTIONFADE, 0, (PVOID)&scheme->Effects.bSelectionFade, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - SystemParametersInfo(SPI_SETTOOLTIPANIMATION, 0, (PVOID)&scheme->Effects.bTooltipAnimation, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - SystemParametersInfo(SPI_SETTOOLTIPFADE, 0, (PVOID)&scheme->Effects.bTooltipFade, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETCURSORSHADOW, 0, (PVOID)&scheme->Effects.bCursorShadow, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - //SystemParametersInfo(SPI_SETUIEFFECTS, 0, (PVOID)&scheme->Effects.bUiEffects, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + /* Effects, save only when needed: */ + /* FIXME: XP seems to use grayed checkboxes to reflect differences between menu and tooltips settings + * Just keep them in sync for now. + */ + scheme->Effects.bTooltipAnimation = scheme->Effects.bMenuAnimation; + scheme->Effects.bTooltipFade = scheme->Effects.bMenuFade; + SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, scheme->Effects.bDragFullWindows, (PVOID)&scheme->Effects.bDragFullWindows, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE); + SystemParametersInfo(SPI_SETKEYBOARDCUES, 0, IntToPtr(scheme->Effects.bKeyboardCues), SPIF_SENDCHANGE | SPIF_UPDATEINIFILE); + //SystemParametersInfo(SPI_SETACTIVEWINDOWTRACKING, 0, (PVOID)&scheme->Effects.bActiveWindowTracking, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETMENUANIMATION, 0, (PVOID)&scheme->Effects.bMenuAnimation, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETCOMBOBOXANIMATION, 0, (PVOID)&scheme->Effects.bComboBoxAnimation, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETLISTBOXSMOOTHSCROLLING, 0, (PVOID)&scheme->Effects.bListBoxSmoothScrolling, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETGRADIENTCAPTIONS, 0, (PVOID)&scheme->Effects.bGradientCaptions, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETACTIVEWNDTRKZORDER, 0, (PVOID)&scheme->Effects.bActiveWndTrkZorder, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETHOTTRACKING, 0, (PVOID)&scheme->Effects.bHotTracking, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + SystemParametersInfo(SPI_SETMENUFADE, 0, (PVOID)&scheme->Effects.bMenuFade, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETSELECTIONFADE, 0, (PVOID)&scheme->Effects.bSelectionFade, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + SystemParametersInfo(SPI_SETTOOLTIPANIMATION, 0, (PVOID)&scheme->Effects.bTooltipAnimation, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + SystemParametersInfo(SPI_SETTOOLTIPFADE, 0, (PVOID)&scheme->Effects.bTooltipFade, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETCURSORSHADOW, 0, (PVOID)&scheme->Effects.bCursorShadow, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); + //SystemParametersInfo(SPI_SETUIEFFECTS, 0, (PVOID)&scheme->Effects.bUiEffects, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE); - /* Save SchemeId */ - Result = RegOpenKeyEx(HKEY_CURRENT_USER, g_CPANewSchemes, 0, KEY_ALL_ACCESS, &hKey); - if (Result == ERROR_SUCCESS) - { - if (SchemeId == -1) - clText[0] = TEXT('\0'); - else - lstrcpy(clText, g_ColorSchemes[SchemeId].strKeyName); - RegSetValueEx(hKey, g_SelectedStyle, 0, REG_SZ, (BYTE *)clText, (lstrlen(clText) + 1) * sizeof(TCHAR)); - RegCloseKey(hKey); - } + /* Save SchemeId */ + Result = RegOpenKeyEx(HKEY_CURRENT_USER, g_CPANewSchemes, 0, KEY_ALL_ACCESS, &hKey); + if (Result == ERROR_SUCCESS) + { + if (SchemeId == -1) + clText[0] = TEXT('\0'); + else + lstrcpy(clText, g_ColorSchemes[SchemeId].strKeyName); + RegSetValueEx(hKey, g_SelectedStyle, 0, REG_SZ, (BYTE *)clText, (lstrlen(clText) + 1) * sizeof(TCHAR)); + RegCloseKey(hKey); + } } BOOL SaveScheme(COLOR_SCHEME* scheme, LPCTSTR strLegacyName) { - /* FIXME: Implement */ - return FALSE; + /* FIXME: Implement */ + return FALSE; } INT LoadSchemePresetEntries(LPTSTR pszSelectedStyle) { - HKEY hkNewSchemes, hkScheme, hkSizes, hkSize; - FILETIME ftLastWriteTime; - DWORD dwLength, dwType; - DWORD dwDisposition; - INT iStyle, iSize, iTemplateIndex; - INT Result; + HKEY hkNewSchemes, hkScheme, hkSizes, hkSize; + FILETIME ftLastWriteTime; + DWORD dwLength, dwType; + DWORD dwDisposition; + INT iStyle, iSize, iTemplateIndex; + INT Result; - lstrcpy(pszSelectedStyle, TEXT("")); + lstrcpy(pszSelectedStyle, TEXT("")); - iTemplateIndex = 0; - Result = RegCreateKeyEx(HKEY_CURRENT_USER, g_CPANewSchemes, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hkNewSchemes, &dwDisposition); - if (Result == ERROR_SUCCESS) - { - /* First find out the currently selected template */ - dwLength = 4 * sizeof(TCHAR); - RegQueryValueEx(hkNewSchemes, g_SelectedStyle, NULL, &dwType, (LPBYTE)pszSelectedStyle, &dwLength); + iTemplateIndex = 0; + Result = RegCreateKeyEx(HKEY_CURRENT_USER, g_CPANewSchemes, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hkNewSchemes, &dwDisposition); + if (Result == ERROR_SUCCESS) + { + /* First find out the currently selected template */ + dwLength = 4 * sizeof(TCHAR); + RegQueryValueEx(hkNewSchemes, g_SelectedStyle, NULL, &dwType, (LPBYTE)pszSelectedStyle, &dwLength); - /* Check if already loaded */ - if (g_PresetLoaded) - { - RegCloseKey(hkNewSchemes); - return g_TemplateCount; - } + /* Check if already loaded */ + if (g_PresetLoaded) + { + RegCloseKey(hkNewSchemes); + return g_TemplateCount; + } - iStyle = 0; - dwLength = MAX_TEMPLATENAMELENTGH; - while((RegEnumKeyEx(hkNewSchemes, iStyle, g_ColorSchemes[iTemplateIndex].strKeyName, &dwLength, - NULL, NULL, NULL, &ftLastWriteTime) == ERROR_SUCCESS) && (iTemplateIndex < MAX_TEMPLATES)) - { - /* Is it really a template or one of the other entries */ - if (dwLength <= 4) - { - if (RegOpenKeyEx(hkNewSchemes, g_ColorSchemes[iTemplateIndex].strKeyName, 0, KEY_READ, &hkScheme) == ERROR_SUCCESS) - { - if (RegOpenKeyEx(hkScheme, TEXT("Sizes"), 0, KEY_READ, &hkSizes) == ERROR_SUCCESS) - { - iSize = 0; - dwLength = 3; - while((RegEnumKeyEx(hkSizes, iSize, g_ColorSchemes[iTemplateIndex].strSizeName, &dwLength, - NULL, NULL, NULL, &ftLastWriteTime) == ERROR_SUCCESS) && (iSize <= 4)) - { - if(RegOpenKeyEx(hkSizes, g_ColorSchemes[iTemplateIndex].strSizeName, 0, KEY_READ, &hkSize) == ERROR_SUCCESS) - { - dwLength = MAX_TEMPLATENAMELENTGH; - RegQueryValueEx(hkSize, TEXT("DisplayName"), NULL, &dwType, (LPBYTE)&g_ColorSchemes[iTemplateIndex].strDisplayName, &dwLength); - dwLength = MAX_TEMPLATENAMELENTGH; - RegQueryValueEx(hkSize, TEXT("LegacyName"), NULL, &dwType, (LPBYTE)&g_ColorSchemes[iTemplateIndex].strLegacyName, &dwLength); - RegCloseKey(hkSize); - } - iSize++; - iTemplateIndex++; - dwLength = 3; - } - RegCloseKey(hkSizes); - } - RegCloseKey(hkScheme); - } - } - iStyle++; - dwLength = MAX_TEMPLATENAMELENTGH; - } - RegCloseKey(hkNewSchemes); - g_PresetLoaded = TRUE; - g_TemplateCount = iTemplateIndex; - } - return iTemplateIndex; + iStyle = 0; + dwLength = MAX_TEMPLATENAMELENTGH; + while((RegEnumKeyEx(hkNewSchemes, iStyle, g_ColorSchemes[iTemplateIndex].strKeyName, &dwLength, + NULL, NULL, NULL, &ftLastWriteTime) == ERROR_SUCCESS) && (iTemplateIndex < MAX_TEMPLATES)) + { + /* Is it really a template or one of the other entries */ + if (dwLength <= 4) + { + if (RegOpenKeyEx(hkNewSchemes, g_ColorSchemes[iTemplateIndex].strKeyName, 0, KEY_READ, &hkScheme) == ERROR_SUCCESS) + { + if (RegOpenKeyEx(hkScheme, TEXT("Sizes"), 0, KEY_READ, &hkSizes) == ERROR_SUCCESS) + { + iSize = 0; + dwLength = 3; + while((RegEnumKeyEx(hkSizes, iSize, g_ColorSchemes[iTemplateIndex].strSizeName, &dwLength, + NULL, NULL, NULL, &ftLastWriteTime) == ERROR_SUCCESS) && (iSize <= 4)) + { + if(RegOpenKeyEx(hkSizes, g_ColorSchemes[iTemplateIndex].strSizeName, 0, KEY_READ, &hkSize) == ERROR_SUCCESS) + { + dwLength = MAX_TEMPLATENAMELENTGH; + RegQueryValueEx(hkSize, TEXT("DisplayName"), NULL, &dwType, (LPBYTE)&g_ColorSchemes[iTemplateIndex].strDisplayName, &dwLength); + dwLength = MAX_TEMPLATENAMELENTGH; + RegQueryValueEx(hkSize, TEXT("LegacyName"), NULL, &dwType, (LPBYTE)&g_ColorSchemes[iTemplateIndex].strLegacyName, &dwLength); + RegCloseKey(hkSize); + } + iSize++; + iTemplateIndex++; + dwLength = 3; + } + RegCloseKey(hkSizes); + } + RegCloseKey(hkScheme); + } + } + iStyle++; + dwLength = MAX_TEMPLATENAMELENTGH; + } + RegCloseKey(hkNewSchemes); + g_PresetLoaded = TRUE; + g_TemplateCount = iTemplateIndex; + } + return iTemplateIndex; } typedef HRESULT (WINAPI * ENUMTHEMESTYLE) (LPCWSTR, LPWSTR, DWORD, PTHEMENAMES);