Implemented the SetArcDirection metarecord in EMF driver.
This commit is contained in:
parent
e3f6ed2d68
commit
325f646fdc
|
@ -153,6 +153,7 @@ static struct graphics_driver *create_driver( HMODULE module )
|
|||
GET_FUNC(SelectFont);
|
||||
GET_FUNC(SelectPalette);
|
||||
GET_FUNC(SelectPen);
|
||||
GET_FUNC(SetArcDirection);
|
||||
GET_FUNC(SetBitmapBits);
|
||||
GET_FUNC(SetBkColor);
|
||||
GET_FUNC(SetBkMode);
|
||||
|
|
|
@ -119,6 +119,7 @@ extern HBRUSH EMFDRV_SelectBrush( PHYSDEV dev, HBRUSH handle );
|
|||
extern BOOL EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode );
|
||||
extern HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT handle );
|
||||
extern HPEN EMFDRV_SelectPen( PHYSDEV dev, HPEN handle );
|
||||
extern INT EMFDRV_SetArcDirection( PHYSDEV dev, INT arcDirection );
|
||||
extern COLORREF EMFDRV_SetBkColor( PHYSDEV dev, COLORREF color );
|
||||
extern INT EMFDRV_SetBkMode( PHYSDEV dev, INT mode );
|
||||
extern INT EMFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDest, INT yDest,
|
||||
|
|
|
@ -693,3 +693,20 @@ BOOL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
|
|||
HeapFree( GetProcessHeap(), 0, pemr );
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* EMFDRV_SetArcDirection
|
||||
*/
|
||||
INT EMFDRV_SetArcDirection(PHYSDEV dev, INT arcDirection)
|
||||
{
|
||||
EMRSETARCDIRECTION emr;
|
||||
|
||||
emr.emr.iType = EMR_SETARCDIRECTION;
|
||||
emr.emr.nSize = sizeof(emr);
|
||||
emr.iArcDirection = arcDirection;
|
||||
|
||||
EMFDRV_WriteRecord(dev, &emr.emr);
|
||||
|
||||
/* We don't know the old arc direction and we don't care... */
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -112,6 +112,7 @@ static const DC_FUNCTIONS EMFDRV_Funcs =
|
|||
EMFDRV_SelectFont, /* pSelectFont */
|
||||
NULL, /* pSelectPalette */
|
||||
EMFDRV_SelectPen, /* pSelectPen */
|
||||
EMFDRV_SetArcDirection, /* pSetArcDirection */
|
||||
NULL, /* pSetBitmapBits */
|
||||
EMFDRV_SetBkColor, /* pSetBkColor */
|
||||
EMFDRV_SetBkMode, /* pSetBkMode */
|
||||
|
|
|
@ -113,6 +113,7 @@ static const DC_FUNCTIONS MFDRV_Funcs =
|
|||
MFDRV_SelectFont, /* pSelectFont */
|
||||
MFDRV_SelectPalette, /* pSelectPalette */
|
||||
MFDRV_SelectPen, /* pSelectPen */
|
||||
NULL, /* pSetArcDirection */
|
||||
NULL, /* pSetBitmapBits */
|
||||
MFDRV_SetBkColor, /* pSetBkColor */
|
||||
MFDRV_SetBkMode, /* pSetBkMode */
|
||||
|
|
|
@ -252,6 +252,7 @@ typedef struct tagDC_FUNCS
|
|||
HFONT (*pSelectFont)(PHYSDEV,HFONT);
|
||||
HPALETTE (*pSelectPalette)(PHYSDEV,HPALETTE,BOOL);
|
||||
HPEN (*pSelectPen)(PHYSDEV,HPEN);
|
||||
INT (*pSetArcDirection)(PHYSDEV,INT);
|
||||
LONG (*pSetBitmapBits)(HBITMAP,const void*,LONG);
|
||||
COLORREF (*pSetBkColor)(PHYSDEV,COLORREF);
|
||||
INT (*pSetBkMode)(PHYSDEV,INT);
|
||||
|
|
|
@ -987,6 +987,10 @@ INT WINAPI SetArcDirection( HDC hdc, INT nDirection )
|
|||
|
||||
if ((dc = DC_GetDCPtr( hdc )))
|
||||
{
|
||||
if (dc->funcs->pSetArcDirection)
|
||||
{
|
||||
dc->funcs->pSetArcDirection(dc->physDev, nDirection);
|
||||
}
|
||||
nOldDirection = dc->ArcDirection;
|
||||
dc->ArcDirection = nDirection;
|
||||
GDI_ReleaseObj( hdc );
|
||||
|
|
Loading…
Reference in New Issue