3 |
* XVID MPEG-4 VIDEO CODEC |
* XVID MPEG-4 VIDEO CODEC |
4 |
* - Configure from command line - |
* - Configure from command line - |
5 |
* |
* |
6 |
* Copyright(C) 2002-2004 Peter Ross <pross@xvid.org> |
* Copyright(C) 2002-2010 Peter Ross <pross@xvid.org> |
7 |
* |
* |
8 |
* This program is free software ; you can redistribute it and/or modify |
* This program is free software ; you can redistribute it and/or modify |
9 |
* it under the terms of the GNU General Public License as published by |
* it under the terms of the GNU General Public License as published by |
19 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
20 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 |
* |
* |
22 |
* $Id: Configure.cpp,v 1.2 2004-03-22 22:36:23 edgomez Exp $ |
* $Id: Configure.cpp,v 1.7 2010-10-16 12:20:30 Isibaar Exp $ |
23 |
* |
* |
24 |
****************************************************************************/ |
****************************************************************************/ |
25 |
|
|
29 |
#include "config.h" |
#include "config.h" |
30 |
#include "resource.h" |
#include "resource.h" |
31 |
|
|
|
/* "DllEntryPoint@12" in strmbase.lib\dllentry.obj stores the module in g_hInst |
|
|
this function must be called on DllEntry, inorder for property pages to function |
|
|
likewise, we need g_hInst inorder to display property sheets from command line |
|
|
*/ |
|
|
extern HINSTANCE g_hInst; |
|
32 |
|
|
33 |
|
HINSTANCE g_xvid_hInst; |
34 |
|
|
35 |
int adv_dialog(HWND hwndOwner) |
|
36 |
|
INT_PTR adv_dialog(HWND hwndOwner) |
37 |
{ |
{ |
38 |
PROPSHEETPAGE psp [1]; |
PROPSHEETPAGE psp [1]; |
39 |
PROPSHEETHEADER psh; |
PROPSHEETHEADER psh; |
40 |
|
|
41 |
psp[0].dwSize = sizeof (PROPSHEETPAGE); |
psp[0].dwSize = sizeof (PROPSHEETPAGE); |
42 |
psp[0].dwFlags = PSP_USETITLE; |
psp[0].dwFlags = PSP_USETITLE; |
43 |
psp[0].hInstance = g_hInst; |
psp[0].hInstance = g_xvid_hInst; |
44 |
psp[0].pszTemplate = MAKEINTRESOURCE (IDD_ABOUT); |
psp[0].pszTemplate = MAKEINTRESOURCE (IDD_ABOUT); |
45 |
psp[0].pszIcon = NULL; |
psp[0].pszIcon = NULL; |
46 |
psp[0].pfnDlgProc = adv_proc; |
psp[0].pfnDlgProc = adv_proc; |
50 |
psh.dwSize = sizeof (PROPSHEETHEADER); |
psh.dwSize = sizeof (PROPSHEETHEADER); |
51 |
psh.dwFlags = PSH_PROPSHEETPAGE; |
psh.dwFlags = PSH_PROPSHEETPAGE; |
52 |
psh.hwndParent = hwndOwner; |
psh.hwndParent = hwndOwner; |
53 |
psh.hInstance = g_hInst; |
psh.hInstance = g_xvid_hInst; |
54 |
psh.pszIcon = NULL; |
psh.pszIcon = NULL; |
55 |
psh.pszCaption = (LPSTR)"XviD Configuration"; |
psh.pszCaption = (LPSTR)"Xvid Configuration"; |
56 |
psh.nPages = sizeof (psp) / sizeof (PROPSHEETPAGE); |
psh.nPages = sizeof (psp) / sizeof (PROPSHEETPAGE); |
57 |
psh.ppsp = (LPCPROPSHEETPAGE) &psp; |
psh.ppsp = psp; |
58 |
|
|
59 |
return PropertySheet (&psh); |
return PropertySheet (&psh); |
60 |
} |
} |
61 |
|
|
62 |
|
|
63 |
|
extern "C" void CALLBACK Configure(HWND hWndParent, HINSTANCE hInstParent, LPSTR lpCmdLine, int nCmdShow ); |
64 |
|
|
65 |
void CALLBACK Configure(HWND hWndParent, HINSTANCE hInstParent, LPSTR lpCmdLine, int nCmdShow ) |
void CALLBACK Configure(HWND hWndParent, HINSTANCE hInstParent, LPSTR lpCmdLine, int nCmdShow ) |
66 |
{ |
{ |
68 |
LoadRegistryInfo(); |
LoadRegistryInfo(); |
69 |
adv_dialog( GetDesktopWindow() ); |
adv_dialog( GetDesktopWindow() ); |
70 |
} |
} |
71 |
|
|
72 |
|
|
73 |
|
/* strmbase.lib\dllentry.obj:DllEntryPoint@12 */ |
74 |
|
extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID); |
75 |
|
|
76 |
|
|
77 |
|
extern "C" BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID lpvReserved); |
78 |
|
|
79 |
|
BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID lpvReserved) |
80 |
|
{ |
81 |
|
g_xvid_hInst = hInst; |
82 |
|
|
83 |
|
/* Call directshow DllEntryPoint@12 */ |
84 |
|
return DllEntryPoint(hInst, fdwReason, lpvReserved); |
85 |
|
} |
86 |
|
|