本文整理汇总了C++中GET_NEXT_PHYSDEV函数的典型用法代码示例。如果您正苦于以下问题:C++ GET_NEXT_PHYSDEV函数的具体用法?C++ GET_NEXT_PHYSDEV怎么用?C++ GET_NEXT_PHYSDEV使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GET_NEXT_PHYSDEV函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: windrv_SetDeviceClipping
static void windrv_SetDeviceClipping( PHYSDEV dev, HRGN rgn )
{
dev = GET_NEXT_PHYSDEV( dev, pSetDeviceClipping );
dev->funcs->pSetDeviceClipping( dev, rgn );
/* also forward to the graphics driver for the OpenGL case */
if (dev->funcs == &dib_driver)
{
dev = GET_NEXT_PHYSDEV( dev, pSetDeviceClipping );
dev->funcs->pSetDeviceClipping( dev, rgn );
}
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例2: EMFDRV_ExtSelectClipRgn
INT EMFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode )
{
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pExtSelectClipRgn );
EMREXTSELECTCLIPRGN *emr;
DWORD size, rgnsize;
BOOL ret;
if (!hrgn)
{
if (mode != RGN_COPY) return ERROR;
rgnsize = 0;
}
else rgnsize = GetRegionData( hrgn, 0, NULL );
size = rgnsize + offsetof(EMREXTSELECTCLIPRGN,RgnData);
emr = HeapAlloc( GetProcessHeap(), 0, size );
if (rgnsize) GetRegionData( hrgn, rgnsize, (RGNDATA *)&emr->RgnData );
emr->emr.iType = EMR_EXTSELECTCLIPRGN;
emr->emr.nSize = size;
emr->cbRgnData = rgnsize;
emr->iMode = mode;
ret = EMFDRV_WriteRecord( dev, &emr->emr );
HeapFree( GetProcessHeap(), 0, emr );
return ret ? next->funcs->pExtSelectClipRgn( next, hrgn, mode ) : ERROR;
}
开发者ID:Crobin83,项目名称:wine,代码行数:27,代码来源:dc.c
示例3: windrv_GetImage
static DWORD windrv_GetImage( PHYSDEV dev, BITMAPINFO *info,
struct gdi_image_bits *bits, struct bitblt_coords *src )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
DWORD ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pGetImage );
ret = dev->funcs->pGetImage( dev, info, bits, src );
/* don't return alpha if original surface doesn't support it */
if (info->bmiHeader.biBitCount == 32 &&
info->bmiHeader.biCompression == BI_RGB &&
physdev->dibdrv->dib.compression == BI_BITFIELDS)
{
DWORD *colors = (DWORD *)info->bmiColors;
colors[0] = 0xff0000;
colors[1] = 0x00ff00;
colors[2] = 0x0000ff;
info->bmiHeader.biCompression = BI_BITFIELDS;
}
if (!bits->is_copy)
{
/* use the freeing callback to unlock the surface */
assert( !bits->free );
bits->free = unlock_bits_surface;
bits->param = physdev->surface;
}
else unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:32,代码来源:dc.c
示例4: dibdrv_SelectBrush
/***********************************************************************
* dibdrv_SelectBrush
*/
HBRUSH CDECL dibdrv_SelectBrush( PHYSDEV dev, HBRUSH hbrush )
{
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSelectBrush );
dibdrv_physdev *pdev = get_dibdrv_pdev(dev);
LOGBRUSH logbrush;
TRACE("(%p, %p)\n", dev, hbrush);
if (!GetObjectW( hbrush, sizeof(logbrush), &logbrush )) return 0;
if (hbrush == GetStockObject( DC_BRUSH ))
logbrush.lbColor = GetDCBrushColor( dev->hdc );
pdev->brush_style = logbrush.lbStyle;
pdev->defer |= DEFER_BRUSH;
free_pattern_brush( pdev );
switch(logbrush.lbStyle)
{
case BS_SOLID:
pdev->brush_color = pdev->dib.funcs->colorref_to_pixel(&pdev->dib, logbrush.lbColor);
calc_and_xor_masks(GetROP2(dev->hdc), pdev->brush_color, &pdev->brush_and, &pdev->brush_xor);
pdev->brush_rects = solid_brush;
pdev->defer &= ~DEFER_BRUSH;
break;
case BS_NULL:
pdev->brush_rects = null_brush;
pdev->defer &= ~DEFER_BRUSH;
break;
case BS_DIBPATTERN:
{
BITMAPINFOHEADER *bi = GlobalLock((HGLOBAL)logbrush.lbHatch);
dib_info orig_dib;
if(!bi) return NULL;
if(init_dib_info_from_packed(&orig_dib, bi, LOWORD(logbrush.lbColor)))
{
copy_dib_color_info(&pdev->brush_dib, &pdev->dib);
if(convert_dib(&pdev->brush_dib, &orig_dib))
{
pdev->brush_rects = pattern_brush;
pdev->defer &= ~DEFER_BRUSH;
}
free_dib_info(&orig_dib, FALSE);
}
GlobalUnlock((HGLOBAL)logbrush.lbHatch);
break;
}
default:
break;
}
return next->funcs->pSelectBrush( next, hbrush );
}
开发者ID:diosmosis,项目名称:wine,代码行数:62,代码来源:objects.c
示例5: dibdrv_SetTextColor
/***********************************************************************
* dibdrv_SetTextColor
*/
static COLORREF dibdrv_SetTextColor( PHYSDEV dev, COLORREF color )
{
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSetTextColor );
dibdrv_physdev *pdev = get_dibdrv_pdev(dev);
pdev->text_color = get_pixel_color( pdev, color, TRUE );
update_aa_ranges( pdev );
return next->funcs->pSetTextColor( next, color );
}
开发者ID:Sunmonds,项目名称:wine,代码行数:13,代码来源:dc.c
示例6: EMFDRV_SetMapMode
INT EMFDRV_SetMapMode( PHYSDEV dev, INT mode )
{
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSetMapMode );
EMRSETMAPMODE emr;
emr.emr.iType = EMR_SETMAPMODE;
emr.emr.nSize = sizeof(emr);
emr.iMode = mode;
if (!EMFDRV_WriteRecord( dev, &emr.emr )) return 0;
return next->funcs->pSetMapMode( next, mode );
}
开发者ID:Crobin83,项目名称:wine,代码行数:11,代码来源:dc.c
示例7: windrv_Polyline
static BOOL windrv_Polyline( PHYSDEV dev, const POINT *points, INT count )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pPolyline );
ret = dev->funcs->pPolyline( dev, points, count );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例8: windrv_PaintRgn
static BOOL windrv_PaintRgn( PHYSDEV dev, HRGN rgn )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pPaintRgn );
ret = dev->funcs->pPaintRgn( dev, rgn );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例9: windrv_SetPixel
static COLORREF windrv_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
COLORREF ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pSetPixel );
ret = dev->funcs->pSetPixel( dev, x, y, color );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例10: windrv_PolyPolygon
static BOOL windrv_PolyPolygon( PHYSDEV dev, const POINT *points, const INT *counts, UINT polygons )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pPolyPolygon );
ret = dev->funcs->pPolyPolygon( dev, points, counts, polygons );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例11: windrv_Rectangle
static BOOL windrv_Rectangle( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pRectangle );
ret = dev->funcs->pRectangle( dev, left, top, right, bottom );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例12: windrv_ExtFloodFill
static BOOL windrv_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT type )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pExtFloodFill );
ret = dev->funcs->pExtFloodFill( dev, x, y, color, type );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例13: windrv_PatBlt
static BOOL windrv_PatBlt( PHYSDEV dev, struct bitblt_coords *dst, DWORD rop )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pPatBlt );
ret = dev->funcs->pPatBlt( dev, dst, rop );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例14: windrv_LineTo
static BOOL windrv_LineTo( PHYSDEV dev, INT x, INT y )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pLineTo );
ret = dev->funcs->pLineTo( dev, x, y );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:11,代码来源:dc.c
示例15: EMFDRV_SetWorldTransform
BOOL EMFDRV_SetWorldTransform( PHYSDEV dev, const XFORM *xform)
{
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSetWorldTransform );
EMRSETWORLDTRANSFORM emr;
emr.emr.iType = EMR_SETWORLDTRANSFORM;
emr.emr.nSize = sizeof(emr);
emr.xform = *xform;
if (!EMFDRV_WriteRecord( dev, &emr.emr )) return FALSE;
return next->funcs->pSetWorldTransform( next, xform );
}
开发者ID:Crobin83,项目名称:wine,代码行数:12,代码来源:dc.c
示例16: windrv_StretchBlt
static BOOL windrv_StretchBlt( PHYSDEV dst_dev, struct bitblt_coords *dst,
PHYSDEV src_dev, struct bitblt_coords *src, DWORD rop )
{
struct windrv_physdev *physdev = get_windrv_physdev( dst_dev );
BOOL ret;
lock_surface( physdev->surface );
dst_dev = GET_NEXT_PHYSDEV( dst_dev, pStretchBlt );
ret = dst_dev->funcs->pStretchBlt( dst_dev, dst, src_dev, src, rop );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:12,代码来源:dc.c
示例17: windrv_RoundRect
static BOOL windrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
INT ell_width, INT ell_height )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pRoundRect );
ret = dev->funcs->pRoundRect( dev, left, top, right, bottom, ell_width, ell_height );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:12,代码来源:dc.c
示例18: windrv_AlphaBlend
static BOOL windrv_AlphaBlend( PHYSDEV dst_dev, struct bitblt_coords *dst,
PHYSDEV src_dev, struct bitblt_coords *src, BLENDFUNCTION func )
{
struct windrv_physdev *physdev = get_windrv_physdev( dst_dev );
BOOL ret;
lock_surface( physdev->surface );
dst_dev = GET_NEXT_PHYSDEV( dst_dev, pAlphaBlend );
ret = dst_dev->funcs->pAlphaBlend( dst_dev, dst, src_dev, src, func );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:12,代码来源:dc.c
示例19: windrv_Pie
static BOOL windrv_Pie( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
INT xstart, INT ystart, INT xend, INT yend )
{
struct windrv_physdev *physdev = get_windrv_physdev( dev );
BOOL ret;
lock_surface( physdev->surface );
dev = GET_NEXT_PHYSDEV( dev, pPie );
ret = dev->funcs->pPie( dev, left, top, right, bottom, xstart, ystart, xend, yend );
unlock_surface( physdev->surface );
return ret;
}
开发者ID:Barrell,项目名称:wine,代码行数:12,代码来源:dc.c
示例20: EMFDRV_SelectClipPath
BOOL EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode )
{
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSelectClipPath );
EMRSELECTCLIPPATH emr;
emr.emr.iType = EMR_SELECTCLIPPATH;
emr.emr.nSize = sizeof(emr);
emr.iMode = iMode;
if (!EMFDRV_WriteRecord( dev, &emr.emr )) return FALSE;
return next->funcs->pSelectClipPath( next, iMode );
}
开发者ID:Crobin83,项目名称:wine,代码行数:12,代码来源:dc.c
注:本文中的GET_NEXT_PHYSDEV函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论