--- trunk/xvidcore/vfw/src/config.c 2004/07/16 19:56:13 1500 +++ trunk/xvidcore/vfw/src/config.c 2004/07/25 02:26:57 1520 @@ -257,6 +257,7 @@ /* motion */ {"motion_search", ®.motion_search, 6}, {"vhq_mode", ®.vhq_mode, 1}, + {"vhq_bframe", ®.vhq_bframe, 0}, {"chromame", ®.chromame, 1}, {"cartoon_mode", ®.cartoon_mode, 0}, {"turbo", ®.turbo, 0}, @@ -1141,6 +1142,7 @@ case IDD_MOTION : SendDlgItemMessage(hDlg, IDC_MOTION, CB_SETCURSEL, config->motion_search, 0); SendDlgItemMessage(hDlg, IDC_VHQ, CB_SETCURSEL, config->vhq_mode, 0); + CheckDlg(hDlg, IDC_VHQ_BFRAME, config->vhq_bframe); CheckDlg(hDlg, IDC_CHROMAME, config->chromame); CheckDlg(hDlg, IDC_CARTOON, config->cartoon_mode); CheckDlg(hDlg, IDC_TURBO, config->turbo); @@ -1323,6 +1325,7 @@ case IDD_MOTION : config->motion_search = SendDlgItemMessage(hDlg, IDC_MOTION, CB_GETCURSEL, 0, 0); config->vhq_mode = SendDlgItemMessage(hDlg, IDC_VHQ, CB_GETCURSEL, 0, 0); + config->vhq_bframe = IsDlgButtonChecked(hDlg, IDC_VHQ_BFRAME); config->chromame = IsDlgChecked(hDlg, IDC_CHROMAME); config->cartoon_mode = IsDlgChecked(hDlg, IDC_CARTOON); config->turbo = IsDlgChecked(hDlg, IDC_TURBO); @@ -1407,6 +1410,7 @@ switch (LOWORD(wParam)) { case IDC_INTERLACING : + case IDC_VHQ_BFRAME : case IDC_BVOP : case IDC_ZONE_MODE_WEIGHT : case IDC_ZONE_MODE_QUANT : @@ -2092,6 +2096,61 @@ } +/* ===================================================================================== */ +/* LICENSE DIALOG ====================================================================== */ +/* ===================================================================================== */ + +static BOOL CALLBACK license_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + switch (uMsg) + { + case WM_INITDIALOG : + { + HRSRC hRSRC; + HGLOBAL hGlobal = NULL; + if ((hRSRC = FindResource(g_hInst, MAKEINTRESOURCE(IDR_GPL), "TEXT"))) { + if ((hGlobal = LoadResource(g_hInst, hRSRC))) { + LPVOID lpData; + if ((lpData = LockResource(hGlobal))) { + SendDlgItemMessage(hDlg, IDC_LICENSE_TEXT, WM_SETFONT, (WPARAM)GetStockObject(ANSI_FIXED_FONT), MAKELPARAM(TRUE, 0)); + SetDlgItemText(hDlg, IDC_LICENSE_TEXT, lpData); + SendDlgItemMessage(hDlg, IDC_LICENSE_TEXT, EM_SETSEL, (WPARAM)-1, (LPARAM)0); + } + } + } + SetWindowLong(hDlg, GWL_USERDATA, (LONG)hGlobal); + } + break; + + case WM_DESTROY : + { + HGLOBAL hGlobal = (HGLOBAL)GetWindowLong(hDlg, GWL_USERDATA); + if (hGlobal) { + FreeResource(hGlobal); + } + } + break; + + case WM_COMMAND : + if (HIWORD(wParam) == BN_CLICKED) { + switch(LOWORD(wParam)) { + case IDOK : + case IDCANCEL : + EndDialog(hDlg, 0); + break; + default : + return 0; + } + break; + } + break; + + default : + return 0; + } + + return 1; +} /* ===================================================================================== */ /* ABOUT DIALOG ======================================================================== */ @@ -2159,12 +2218,11 @@ return 0; case WM_COMMAND : - if (LOWORD(wParam) == IDC_WEBSITE && HIWORD(wParam) == STN_CLICKED) - { + if (LOWORD(wParam) == IDC_WEBSITE && HIWORD(wParam) == STN_CLICKED) { ShellExecute(hDlg, "open", XVID_WEBSITE, NULL, NULL, SW_SHOWNORMAL); - } - else if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) - { + }else if (LOWORD(wParam) == IDC_LICENSE) { + DialogBoxParam(g_hInst, MAKEINTRESOURCE(IDD_LICENSE), hDlg, license_proc, (LPARAM)0); + } else if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); } break;