mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 01:13:38 +00:00
implement PEN_GetObject, we can now get pen from GetopjectType. and manger pass some new wine test
svn path=/trunk/; revision=24270
This commit is contained in:
parent
ff8121c676
commit
4c2f6e8647
|
@ -11,4 +11,6 @@
|
||||||
#define PENOBJ_LockPen(hBMObj) ((PGDIBRUSHOBJ)GDIOBJ_LockObj(GdiHandleTable, (HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_PEN))
|
#define PENOBJ_LockPen(hBMObj) ((PGDIBRUSHOBJ)GDIOBJ_LockObj(GdiHandleTable, (HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_PEN))
|
||||||
#define PENOBJ_UnlockPen(pPenObj) GDIOBJ_UnlockObjByPtr(GdiHandleTable, pPenObj)
|
#define PENOBJ_UnlockPen(pPenObj) GDIOBJ_UnlockObjByPtr(GdiHandleTable, pPenObj)
|
||||||
|
|
||||||
|
INT STDCALL PEN_GetObject(PGDIBRUSHOBJ hPen, INT Count, PLOGPEN Buffer);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1734,11 +1734,11 @@ IntGdiGetObject(HANDLE Handle, INT Count, LPVOID Buffer)
|
||||||
ObjectType = GDIOBJ_GetObjectType(Handle);
|
ObjectType = GDIOBJ_GetObjectType(Handle);
|
||||||
switch (ObjectType)
|
switch (ObjectType)
|
||||||
{
|
{
|
||||||
#if 0
|
|
||||||
case GDI_OBJECT_TYPE_PEN:
|
case GDI_OBJECT_TYPE_PEN:
|
||||||
Result = PEN_GetObject((PENOBJ *) GdiObject, Count, Buffer);
|
Result = PEN_GetObject((PGDIBRUSHOBJ) GdiObject, Count, (PLOGPEN) Buffer); // IntGdiCreatePenIndirect
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case GDI_OBJECT_TYPE_BRUSH:
|
case GDI_OBJECT_TYPE_BRUSH:
|
||||||
Result = BRUSH_GetObject((PGDIBRUSHOBJ ) GdiObject, Count, (LPLOGBRUSH)Buffer);
|
Result = BRUSH_GetObject((PGDIBRUSHOBJ ) GdiObject, Count, (LPLOGBRUSH)Buffer);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -84,7 +84,7 @@ IntGdiCreatePenIndirect(PLOGPEN LogPen)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DPRINT1("FIXME: IntGdiCreatePenIndirect is UNIMPLEMENTED\n");
|
DPRINT1("FIXME: IntGdiCreatePenIndirect is UNIMPLEMENTED pen %x\n",LogPen->lopnStyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
PENOBJ_UnlockPen(PenObject);
|
PENOBJ_UnlockPen(PenObject);
|
||||||
|
@ -92,6 +92,23 @@ IntGdiCreatePenIndirect(PLOGPEN LogPen)
|
||||||
return hPen;
|
return hPen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INT STDCALL
|
||||||
|
PEN_GetObject(PGDIBRUSHOBJ PenObject, INT Count, PLOGPEN Buffer)
|
||||||
|
{
|
||||||
|
|
||||||
|
LOGPEN LogPen;
|
||||||
|
|
||||||
|
if( Buffer == NULL ) return sizeof(LOGPEN);
|
||||||
|
|
||||||
|
LogPen.lopnWidth = PenObject->ptPenWidth;
|
||||||
|
LogPen.lopnStyle = PenObject->ulPenStyle;
|
||||||
|
LogPen.lopnColor = PenObject->BrushAttr.lbColor;
|
||||||
|
memcpy(Buffer, &LogPen, Count);
|
||||||
|
|
||||||
|
return Count;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* PUBLIC FUNCTIONS ***********************************************************/
|
/* PUBLIC FUNCTIONS ***********************************************************/
|
||||||
|
|
||||||
HPEN STDCALL
|
HPEN STDCALL
|
||||||
|
|
Loading…
Reference in a new issue