| version 1.12, 2006/12/24 00:52:30 | version 1.18, 2011/03/07 09:54:11 | 
| Line 1 | Line 1 | 
| #include        "compiler.h" | /** | 
| #include        <commctrl.h> | * @file        d_screen.cpp | 
| #include        <prsht.h> | * @brief       Screen configure dialog procedure | 
| #include        "strres.h" | * | 
| #include        "resource.h" | * @author      $Author$ | 
| #include        "np2.h" | * @date        $Date$ | 
| #include        "oemtext.h" | */ | 
| #include        "scrnmng.h" |  | 
| #include        "sysmng.h" | #include "compiler.h" | 
| #include        "np2class.h" | #include <commctrl.h> | 
| #include        "dialog.h" | #include <prsht.h> | 
| #include        "dialogs.h" | #include "strres.h" | 
| #include        "pccore.h" | #include "resource.h" | 
| #include        "iocore.h" | #include "np2.h" | 
| #include        "scrndraw.h" | #include "oemtext.h" | 
| #include        "palettes.h" | #include "scrnmng.h" | 
|  | #include "sysmng.h" | 
|  | #include "np2class.h" | 
| static const TCHAR str_scropt[] = _T("Screen option"); | #include "dialog.h" | 
|  | #include "dialogs.h" | 
|  | #include "pccore.h" | 
|  | #include "iocore.h" | 
|  | #include "scrndraw.h" | 
|  | #include "palettes.h" | 
|  |  | 
|  | #if !defined(__GNUC__) | 
|  | #pragma comment(lib, "comctl32.lib") | 
|  | #endif  // !defined(__GNUC__) | 
 |  |  | 
 | static LRESULT CALLBACK Scropt1DlgProc(HWND hWnd, UINT msg, | static LRESULT CALLBACK Scropt1DlgProc(HWND hWnd, UINT msg, | 
 | WPARAM wp, LPARAM lp) { | WPARAM wp, LPARAM lp) { | 
| Line 264  static LRESULT CALLBACK Scropt3DlgProc(H | Line 272  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); | 
|  |  | 
|  | 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); | 
|  | } | 
 |  |  | 
| HINSTANCE               hinst; | 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 = GetWindowInst(hWnd); | 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 362  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); | 
 | } | } | 
 |  |  |