mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 17:32:32 +00:00
Update FontGetObject, point out required modifications to support ENUMLOGFONTEXDVW for font objects.
svn path=/trunk/; revision=26511
This commit is contained in:
parent
cd5a11a313
commit
25e902187c
1 changed files with 32 additions and 5 deletions
|
@ -4108,12 +4108,39 @@ FontGetObject(PTEXTOBJ Font, INT Count, PVOID Buffer)
|
|||
{
|
||||
if( Buffer == NULL ) return sizeof(LOGFONTW);
|
||||
|
||||
/* fixme SetLastWin32Error(ERROR_BUFFER_OVERFLOW); in count<0*/
|
||||
if (Count < sizeof(LOGFONTW)) return 0;
|
||||
if (Count > sizeof(LOGFONTW)) Count = sizeof(LOGFONTW);
|
||||
switch (Count)
|
||||
{
|
||||
/* Everything will need to be converted over to ENUMLOGFONTEXDVW.
|
||||
case sizeof(ENUMLOGFONTEXDVW):
|
||||
RtlCopyMemory( (LPENUMLOGFONTEXDVW) Buffer.elfDesignVector,
|
||||
&Font->logFont.elfDesignVector,
|
||||
sizeof(DESIGNVECTOR));
|
||||
case sizeof(ENUMLOGFONTEXW):
|
||||
RtlCopyMemory( (LPENUMLOGFONTEXW) Buffer,
|
||||
&Font->logFont.elfEnumLogfontEx,
|
||||
sizeof(ENUMLOGFONTEXW));
|
||||
break;
|
||||
|
||||
RtlCopyMemory(Buffer, &Font->logfont, sizeof(LOGFONTW));
|
||||
return sizeof(LOGFONTW);
|
||||
case sizeof(EXTLOGFONTW):
|
||||
case sizeof(ENUMLOGFONTW):
|
||||
RtlCopyMemory((LPENUMLOGFONTW) Buffer,
|
||||
(LPENUMLOGFONTW) &Font->logfont.elfEnumLogfontEx.elfLogFont,
|
||||
sizeof(ENUMLOGFONTW));
|
||||
break;
|
||||
*/
|
||||
case sizeof(LOGFONTW):
|
||||
/* RtlCopyMemory((LPLOGFONTW) Buffer,
|
||||
&Font->logFont.elfEnumLogfontEx.elfLogFont,
|
||||
sizeof(LOGFONTW));
|
||||
*/
|
||||
RtlCopyMemory(Buffer, &Font->logfont, sizeof(LOGFONTW));
|
||||
break;
|
||||
|
||||
default:
|
||||
SetLastWin32Error(ERROR_BUFFER_OVERFLOW);
|
||||
return 0;
|
||||
}
|
||||
return Count;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue