Implement Get & Set batch limit.

svn path=/trunk/; revision=24553
This commit is contained in:
James Tabor 2006-10-17 05:30:54 +00:00
parent 07b9937721
commit 7b6642d8a0
3 changed files with 30 additions and 28 deletions

View file

@ -6,11 +6,14 @@
* PROGRAMMER: Alex Ionescu (alex@relsoft.net) * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
*/ */
#define GDI_BATCH_LIMIT 20
/* DATA **********************************************************************/ /* DATA **********************************************************************/
extern PGDI_TABLE_ENTRY GdiHandleTable; extern PGDI_TABLE_ENTRY GdiHandleTable;
extern HANDLE hProcessHeap; extern HANDLE hProcessHeap;
extern HANDLE CurrentProcessId; extern HANDLE CurrentProcessId;
extern DWORD GDI_BatchLimit;
typedef INT typedef INT
(CALLBACK* EMFPLAYPROC)( (CALLBACK* EMFPLAYPROC)(

View file

@ -30,6 +30,7 @@
PGDI_TABLE_ENTRY GdiHandleTable = NULL; PGDI_TABLE_ENTRY GdiHandleTable = NULL;
HANDLE CurrentProcessId = NULL; HANDLE CurrentProcessId = NULL;
DWORD GDI_BatchLimit = 1;
/* /*
* @implemented * @implemented
@ -69,3 +70,29 @@ BOOL GdiGetHandleUserData(HGDIOBJ hGdiObj, PVOID *UserData)
} }
return FALSE; return FALSE;
} }
/*
* @implemented
*/
DWORD
STDCALL
GdiSetBatchLimit(DWORD Limit)
{
DWORD OldLimit = GDI_BatchLimit;
if ((!Limit) || (Limit > GDI_BATCH_LIMIT)) return Limit;
GdiFlush();
GDI_BatchLimit = Limit;
return OldLimit;
}
/*
* @implemented
*/
DWORD
STDCALL
GdiGetBatchLimit()
{
return GDI_BatchLimit;
}

View file

@ -871,34 +871,6 @@ GdiFlush()
} }
/*
* @unimplemented
*/
DWORD
STDCALL
GdiSetBatchLimit(
DWORD a0
)
{
UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/*
* @unimplemented
*/
DWORD
STDCALL
GdiGetBatchLimit()
{
UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/* /*
* @unimplemented * @unimplemented
*/ */