- Implemented semi-stubs for GetOpenFileNamePreviewA/W and
GetSaveFileNamePreviewA/W based on GetOpenFileName dialog in COMDLG32.DLL - still must add OFN_ENABLEHOOK and it's handler. - Implemented ICCompressorFree. - Prepared ICCompressorChoose.
This commit is contained in:
parent
63fecde98b
commit
9c771e7069
|
@ -1,6 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 1998 Marcus Meissner
|
* Copyright 1998 Marcus Meissner
|
||||||
* Copyright 2000 Bradley Baetz
|
* Copyright 2000 Bradley Baetz
|
||||||
|
* Copyright 2003 Michael Günnewig
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -32,6 +33,8 @@
|
||||||
#include "wingdi.h"
|
#include "wingdi.h"
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
|
|
||||||
|
#include "windowsx.h"
|
||||||
|
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(msvideo);
|
WINE_DEFAULT_DEBUG_CHANNEL(msvideo);
|
||||||
|
@ -666,11 +669,32 @@ DWORD VFWAPIV ICDecompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* ICCompressorChoose [MSVFW32.@]
|
* ICCompressorChoose [MSVFW32.@]
|
||||||
*/
|
*/
|
||||||
BOOL VFWAPI ICCompressorChoose(HWND hwnd, UINT uiFlags, LPVOID pvIn, LPVOID lpData,
|
BOOL VFWAPI ICCompressorChoose(HWND hwnd, UINT uiFlags, LPVOID pvIn,
|
||||||
PCOMPVARS pc, LPSTR lpszTitle)
|
LPVOID lpData, PCOMPVARS pc, LPSTR lpszTitle)
|
||||||
{
|
{
|
||||||
FIXME("stub\n");
|
FIXME("(%p,0x%X,%p,%p,%p,%s),stub!\n",hwnd,uiFlags,pvIn,lpData,pc,lpszTitle);
|
||||||
|
|
||||||
|
if (pc == NULL || pc->cbSize != sizeof(COMPVARS))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
if ((pc->dwFlags & ICMF_COMPVARS_VALID) == 0) {
|
||||||
|
pc->dwFlags = 0;
|
||||||
|
pc->fccType = pc->fccHandler = 0;
|
||||||
|
pc->hic = NULL;
|
||||||
|
pc->lpbiOut = NULL;
|
||||||
|
pc->lpBitsOut = pc->lpBitsPrev = pc->lpState = NULL;
|
||||||
|
pc->lQ = ICQUALITY_DEFAULT;
|
||||||
|
pc->lKey = -1;
|
||||||
|
pc->lDataRate = 300; /* kB */
|
||||||
|
pc->lpState = NULL;
|
||||||
|
pc->cbState = 0;
|
||||||
|
}
|
||||||
|
if (pc->fccType == 0)
|
||||||
|
pc->fccType = ICTYPE_VIDEO;
|
||||||
|
|
||||||
|
/* FIXME */
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -679,7 +703,31 @@ BOOL VFWAPI ICCompressorChoose(HWND hwnd, UINT uiFlags, LPVOID pvIn, LPVOID lpDa
|
||||||
*/
|
*/
|
||||||
void VFWAPI ICCompressorFree(PCOMPVARS pc)
|
void VFWAPI ICCompressorFree(PCOMPVARS pc)
|
||||||
{
|
{
|
||||||
FIXME("stub\n");
|
TRACE("(%p)\n",pc);
|
||||||
|
|
||||||
|
if (pc != NULL && pc->cbSize == sizeof(COMPVARS)) {
|
||||||
|
if (pc->hic != NULL) {
|
||||||
|
ICClose(pc->hic);
|
||||||
|
pc->hic = NULL;
|
||||||
|
}
|
||||||
|
if (pc->lpbiOut != NULL) {
|
||||||
|
GlobalFreePtr(pc->lpbiOut);
|
||||||
|
pc->lpbiOut = NULL;
|
||||||
|
}
|
||||||
|
if (pc->lpBitsOut != NULL) {
|
||||||
|
GlobalFreePtr(pc->lpBitsOut);
|
||||||
|
pc->lpBitsOut = NULL;
|
||||||
|
}
|
||||||
|
if (pc->lpBitsPrev != NULL) {
|
||||||
|
GlobalFreePtr(pc->lpBitsPrev);
|
||||||
|
pc->lpBitsPrev = NULL;
|
||||||
|
}
|
||||||
|
if (pc->lpState != NULL) {
|
||||||
|
GlobalFreePtr(pc->lpBitsPrev);
|
||||||
|
pc->lpState = NULL;
|
||||||
|
}
|
||||||
|
pc->dwFlags = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1030,14 +1078,41 @@ err:
|
||||||
return (HANDLE)hMem;
|
return (HANDLE)hMem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static BOOL GetFileNamePreview(LPVOID lpofn,BOOL bSave,BOOL bUnicode)
|
||||||
|
{
|
||||||
|
CHAR szFunctionName[20];
|
||||||
|
BOOL (*fnGetFileName)(LPVOID);
|
||||||
|
HMODULE hComdlg32;
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
|
FIXME("(%p,%d,%d), semi-stub!\n",lpofn,bSave,bUnicode);
|
||||||
|
|
||||||
|
lstrcpyA(szFunctionName, (bSave ? "GetSaveFileName" : "GetOpenFileName"));
|
||||||
|
lstrcatA(szFunctionName, (bUnicode ? "W" : "A"));
|
||||||
|
|
||||||
|
hComdlg32 = LoadLibraryA("COMDLG32.DLL");
|
||||||
|
if (hComdlg32 == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
fnGetFileName = (LPVOID)GetProcAddress(hComdlg32, szFunctionName);
|
||||||
|
if (fnGetFileName == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
/* FIXME: need to add OFN_ENABLEHOOK and our own handler */
|
||||||
|
ret = fnGetFileName(lpofn);
|
||||||
|
|
||||||
|
FreeLibrary(hComdlg32);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* GetOpenFileNamePreviewA [MSVFW32.@]
|
* GetOpenFileNamePreviewA [MSVFW32.@]
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn)
|
BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn)
|
||||||
{
|
{
|
||||||
FIXME("(%p), stub!\n", lpofn);
|
FIXME("(%p), semi-stub!\n", lpofn);
|
||||||
|
|
||||||
return FALSE;
|
return GetFileNamePreview(lpofn, FALSE, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -1045,9 +1120,9 @@ BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn)
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn)
|
BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn)
|
||||||
{
|
{
|
||||||
FIXME("(%p), stub!\n", lpofn);
|
FIXME("(%p), semi-stub!\n", lpofn);
|
||||||
|
|
||||||
return FALSE;
|
return GetFileNamePreview(lpofn, FALSE, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -1055,9 +1130,9 @@ BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn)
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn)
|
BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn)
|
||||||
{
|
{
|
||||||
FIXME("(%p), stub!\n", lpofn);
|
FIXME("(%p), semi-stub!\n", lpofn);
|
||||||
|
|
||||||
return FALSE;
|
return GetFileNamePreview(lpofn, TRUE, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -1065,7 +1140,7 @@ BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn)
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW lpofn)
|
BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW lpofn)
|
||||||
{
|
{
|
||||||
FIXME("(%p), stub!\n", lpofn);
|
FIXME("(%p), semi-stub!\n", lpofn);
|
||||||
|
|
||||||
return FALSE;
|
return GetFileNamePreview(lpofn, TRUE, TRUE);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue