| version 1.10, 2005/03/20 13:12:50 | version 1.17, 2007/12/28 20:36:40 | 
| Line 16 | Line 16 | 
 | #include        "palettes.h" | #include        "palettes.h" | 
 |  |  | 
 |  |  | 
 | static const TCHAR str_scropt[] = _T("Screen option"); |  | 
 |  |  | 
 |  |  | 
 | static LRESULT CALLBACK Scropt1DlgProc(HWND hWnd, UINT msg, | static LRESULT CALLBACK Scropt1DlgProc(HWND hWnd, UINT msg, | 
 | WPARAM wp, LPARAM lp) { | WPARAM wp, LPARAM lp) { | 
 | TCHAR   work[32]; | TCHAR   work[32]; | 
| Line 64  static LRESULT CALLBACK Scropt1DlgProc(H | Line 61  static LRESULT CALLBACK Scropt1DlgProc(H | 
 | case WM_NOTIFY: | case WM_NOTIFY: | 
 | if ((((NMHDR *)lp)->code) == (UINT)PSN_APPLY) { | if ((((NMHDR *)lp)->code) == (UINT)PSN_APPLY) { | 
 | renewal = 0; | renewal = 0; | 
| b = GetDlgItemCheck(hWnd, IDC_SKIPLINE); | b = (UINT8)GetDlgItemCheck(hWnd, IDC_SKIPLINE); | 
 | if (np2cfg.skipline != b) { | if (np2cfg.skipline != b) { | 
 | np2cfg.skipline = b; | np2cfg.skipline = b; | 
 | renewal = 1; | renewal = 1; | 
| Line 81  static LRESULT CALLBACK Scropt1DlgProc(H | Line 78  static LRESULT CALLBACK Scropt1DlgProc(H | 
 | if (renewal) { | if (renewal) { | 
 | pal_makeskiptable(); | pal_makeskiptable(); | 
 | } | } | 
| b = GetDlgItemCheck(hWnd, IDC_LCD) | | b = (GetDlgItemCheck(hWnd, IDC_LCD)?0x01:0x00) | | 
| (GetDlgItemCheck(hWnd, IDC_LCDX) << 1); | (GetDlgItemCheck(hWnd, IDC_LCDX)?0x02:0x00); | 
 | if (np2cfg.LCD_MODE != b) { | if (np2cfg.LCD_MODE != b) { | 
 | np2cfg.LCD_MODE = b; | np2cfg.LCD_MODE = b; | 
 | pal_makelcdpal(); | pal_makelcdpal(); | 
| Line 130  static LRESULT CALLBACK Scropt2DlgProc(H | Line 127  static LRESULT CALLBACK Scropt2DlgProc(H | 
 | case WM_NOTIFY: | case WM_NOTIFY: | 
 | if ((((NMHDR *)lp)->code) == (UINT)PSN_APPLY) { | if ((((NMHDR *)lp)->code) == (UINT)PSN_APPLY) { | 
 | update = 0; | update = 0; | 
| b = GetDlgItemCheck(hWnd, IDC_GDC72020); | b = (UINT8)GetDlgItemCheck(hWnd, IDC_GDC72020); | 
 | if (np2cfg.uPD72020 != b) { | if (np2cfg.uPD72020 != b) { | 
 | np2cfg.uPD72020 = b; | np2cfg.uPD72020 = b; | 
 | update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; | 
| Line 143  static LRESULT CALLBACK Scropt2DlgProc(H | Line 140  static LRESULT CALLBACK Scropt2DlgProc(H | 
 | update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; | 
 | gdcs.grphdisp |= GDCSCRN_ALLDRAW2; | gdcs.grphdisp |= GDCSCRN_ALLDRAW2; | 
 | } | } | 
| b = GetDlgItemCheck(hWnd, IDC_PC980124); | b = (UINT8)GetDlgItemCheck(hWnd, IDC_PC980124); | 
 | if (np2cfg.color16 != b) { | if (np2cfg.color16 != b) { | 
 | np2cfg.color16 = b; | np2cfg.color16 = b; | 
 | update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; | 
| Line 264  static LRESULT CALLBACK Scropt3DlgProc(H | Line 261  static LRESULT CALLBACK Scropt3DlgProc(H | 
 | return(FALSE); | return(FALSE); | 
 | } | } | 
 |  |  | 
| void dialog_scropt(HWND hWnd) { | static const CBPARAM cpZoom[] = | 
|  | { | 
|  | {MAKEINTRESOURCE(IDS_ZOOM_NONE),                        0}, | 
|  | {MAKEINTRESOURCE(IDS_ZOOM_FIXEDASPECT),         1}, | 
|  | {MAKEINTRESOURCE(IDS_ZOOM_ADJUSTASPECT),        2}, | 
|  | {MAKEINTRESOURCE(IDS_ZOOM_FULL),                        3}, | 
|  | }; | 
|  |  | 
|  | static LRESULT CALLBACK ScroptFullScreenDlgProc(HWND hWnd, UINT uMsg, | 
|  | WPARAM wParam, LPARAM lParam) | 
|  | { | 
|  | UINT8   c; | 
|  |  | 
|  | switch(uMsg) | 
|  | { | 
|  | case WM_INITDIALOG: | 
|  | c = np2oscfg.fscrnmod; | 
|  | SetDlgItemCheck(hWnd, IDC_FULLSCREEN_SAMEBPP, | 
|  | (c & FSCRNMOD_SAMEBPP)); | 
|  | SetDlgItemCheck(hWnd, IDC_FULLSCREEN_SAMERES, | 
|  | (c & FSCRNMOD_SAMERES)); | 
|  | dlgs_setcbitem(hWnd, IDC_FULLSCREEN_ZOOM, | 
|  | cpZoom, NELEMENTS(cpZoom)); | 
|  | dlgs_setcbcur(hWnd, IDC_FULLSCREEN_ZOOM, (c & 3)); | 
|  | EnableWindow(GetDlgItem(hWnd, IDC_FULLSCREEN_ZOOM), | 
|  | (c & FSCRNMOD_SAMERES) != 0); | 
|  | return(TRUE); | 
 |  |  | 
| HINSTANCE               hinst; | case WM_COMMAND: | 
|  | switch(LOWORD(wParam)) | 
|  | { | 
|  | case IDC_FULLSCREEN_SAMERES: | 
|  | dlgs_enablebyautocheck(hWnd, IDC_FULLSCREEN_ZOOM, | 
|  | IDC_FULLSCREEN_SAMERES); | 
|  | break; | 
|  | } | 
|  | break; | 
|  |  | 
|  | case WM_NOTIFY: | 
|  | if ((((NMHDR *)lParam)->code) == (UINT)PSN_APPLY) | 
|  | { | 
|  | c = 0; | 
|  | if (GetDlgItemCheck(hWnd, IDC_FULLSCREEN_SAMEBPP)) | 
|  | { | 
|  | c |= FSCRNMOD_SAMEBPP; | 
|  | } | 
|  | if (GetDlgItemCheck(hWnd, IDC_FULLSCREEN_SAMERES)) | 
|  | { | 
|  | c |= FSCRNMOD_SAMERES; | 
|  | } | 
|  | c |= dlgs_getcbcur(hWnd, IDC_FULLSCREEN_ZOOM, 0); | 
|  | if (np2oscfg.fscrnmod != c) | 
|  | { | 
|  | np2oscfg.fscrnmod = c; | 
|  | sysmng_update(SYS_UPDATEOSCFG); | 
|  | } | 
|  | return(TRUE); | 
|  | } | 
|  | break; | 
|  | } | 
|  | return(FALSE); | 
|  | } | 
|  |  | 
|  | void dialog_scropt(HWND hWnd) | 
|  | { | 
|  | HINSTANCE               hInstance; | 
 | PROPSHEETPAGE   psp; | PROPSHEETPAGE   psp; | 
 | PROPSHEETHEADER psh; | PROPSHEETHEADER psh; | 
| HPROPSHEETPAGE  hpsp[3]; | HPROPSHEETPAGE  hpsp[4]; | 
|  | TCHAR                   szTitle[128]; | 
 |  |  | 
| hinst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE); | hInstance = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); | 
 |  |  | 
 | ZeroMemory(&psp, sizeof(psp)); | ZeroMemory(&psp, sizeof(psp)); | 
 | psp.dwSize = sizeof(PROPSHEETPAGE); | psp.dwSize = sizeof(PROPSHEETPAGE); | 
 | psp.dwFlags = PSP_DEFAULT; | psp.dwFlags = PSP_DEFAULT; | 
| psp.hInstance = hinst; | psp.hInstance = hInstance; | 
 |  |  | 
 | psp.pszTemplate = MAKEINTRESOURCE(IDD_SCROPT1); | psp.pszTemplate = MAKEINTRESOURCE(IDD_SCROPT1); | 
 | psp.pfnDlgProc = (DLGPROC)Scropt1DlgProc; | psp.pfnDlgProc = (DLGPROC)Scropt1DlgProc; | 
| Line 290  void dialog_scropt(HWND hWnd) { | Line 351  void dialog_scropt(HWND hWnd) { | 
 | psp.pfnDlgProc = (DLGPROC)Scropt3DlgProc; | psp.pfnDlgProc = (DLGPROC)Scropt3DlgProc; | 
 | hpsp[2] = CreatePropertySheetPage(&psp); | hpsp[2] = CreatePropertySheetPage(&psp); | 
 |  |  | 
 |  | psp.pszTemplate = MAKEINTRESOURCE(IDD_SCROPT_FULLSCREEN); | 
 |  | psp.pfnDlgProc = (DLGPROC)ScroptFullScreenDlgProc; | 
 |  | hpsp[3] = CreatePropertySheetPage(&psp); | 
 |  |  | 
 |  | loadstringresource(IDS_SCREENOPTION, szTitle, NELEMENTS(szTitle)); | 
 |  |  | 
 | ZeroMemory(&psh, sizeof(psh)); | ZeroMemory(&psh, sizeof(psh)); | 
 | psh.dwSize = sizeof(PROPSHEETHEADER); | psh.dwSize = sizeof(PROPSHEETHEADER); | 
 | psh.dwFlags = PSH_NOAPPLYNOW | PSH_USEHICON | PSH_USECALLBACK; | psh.dwFlags = PSH_NOAPPLYNOW | PSH_USEHICON | PSH_USECALLBACK; | 
 | psh.hwndParent = hWnd; | psh.hwndParent = hWnd; | 
| psh.hInstance = hinst; | psh.hInstance = hInstance; | 
| psh.hIcon = LoadIcon(hinst, MAKEINTRESOURCE(IDI_ICON2)); | psh.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); | 
| psh.nPages = 3; | psh.nPages = 4; | 
 | psh.phpage = hpsp; | psh.phpage = hpsp; | 
| psh.pszCaption = str_scropt; | psh.pszCaption = szTitle; | 
 | psh.pfnCallback = np2class_propetysheet; | psh.pfnCallback = np2class_propetysheet; | 
 | PropertySheet(&psh); | PropertySheet(&psh); | 
| InvalidateRect(hWndMain, NULL, TRUE); | InvalidateRect(hWnd, NULL, TRUE); | 
 | } | } | 
 |  |  |