gdi32: Avoid calling gdi32 functions from ntgdi functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6b1cdd1b5e
commit
57460dbb58
|
@ -133,7 +133,7 @@ static inline void create_default_clip_region( DC * dc )
|
||||||
rect.right = NtGdiGetDeviceCaps( dc->hSelf, DESKTOPHORZRES );
|
rect.right = NtGdiGetDeviceCaps( dc->hSelf, DESKTOPHORZRES );
|
||||||
rect.bottom = NtGdiGetDeviceCaps( dc->hSelf, DESKTOPVERTRES );
|
rect.bottom = NtGdiGetDeviceCaps( dc->hSelf, DESKTOPVERTRES );
|
||||||
}
|
}
|
||||||
dc->hClipRgn = CreateRectRgnIndirect( &rect );
|
dc->hClipRgn = NtGdiCreateRectRgn( rect.left, rect.top, rect.right, rect.bottom );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ INT WINAPI NtGdiExcludeClipRect( HDC hdc, INT left, INT top, INT right, INT bott
|
||||||
|
|
||||||
rect = get_clip_rect( dc, left, top, right, bottom );
|
rect = get_clip_rect( dc, left, top, right, bottom );
|
||||||
|
|
||||||
if ((rgn = CreateRectRgnIndirect( &rect )))
|
if ((rgn = NtGdiCreateRectRgn( rect.left, rect.top, rect.right, rect.bottom )))
|
||||||
{
|
{
|
||||||
if (!dc->hClipRgn) create_default_clip_region( dc );
|
if (!dc->hClipRgn) create_default_clip_region( dc );
|
||||||
ret = NtGdiCombineRgn( dc->hClipRgn, dc->hClipRgn, rgn, RGN_DIFF );
|
ret = NtGdiCombineRgn( dc->hClipRgn, dc->hClipRgn, rgn, RGN_DIFF );
|
||||||
|
@ -293,10 +293,10 @@ INT WINAPI NtGdiIntersectClipRect( HDC hdc, INT left, INT top, INT right, INT bo
|
||||||
rect = get_clip_rect( dc, left, top, right, bottom );
|
rect = get_clip_rect( dc, left, top, right, bottom );
|
||||||
if (!dc->hClipRgn)
|
if (!dc->hClipRgn)
|
||||||
{
|
{
|
||||||
if ((dc->hClipRgn = CreateRectRgnIndirect( &rect )))
|
if ((dc->hClipRgn = NtGdiCreateRectRgn( rect.left, rect.top, rect.right, rect.bottom )))
|
||||||
ret = SIMPLEREGION;
|
ret = SIMPLEREGION;
|
||||||
}
|
}
|
||||||
else if ((rgn = CreateRectRgnIndirect( &rect )))
|
else if ((rgn = NtGdiCreateRectRgn( rect.left, rect.top, rect.right, rect.bottom )))
|
||||||
{
|
{
|
||||||
ret = NtGdiCombineRgn( dc->hClipRgn, dc->hClipRgn, rgn, RGN_AND );
|
ret = NtGdiCombineRgn( dc->hClipRgn, dc->hClipRgn, rgn, RGN_AND );
|
||||||
NtGdiDeleteObjectApp( rgn );
|
NtGdiDeleteObjectApp( rgn );
|
||||||
|
|
|
@ -936,8 +936,8 @@ UINT set_dib_dc_color_table( HDC hdc, UINT startpos, UINT entries, const RGBQUAD
|
||||||
|
|
||||||
if (result) /* update colors of selected objects */
|
if (result) /* update colors of selected objects */
|
||||||
{
|
{
|
||||||
SetTextColor( hdc, dc->attr->text_color );
|
NtGdiGetAndSetDCDword( hdc, NtGdiSetTextColor, dc->attr->text_color, NULL );
|
||||||
SetBkColor( hdc, dc->attr->background_color );
|
NtGdiGetAndSetDCDword( hdc, NtGdiSetBkColor, dc->attr->background_color, NULL );
|
||||||
NtGdiSelectPen( hdc, dc->hPen );
|
NtGdiSelectPen( hdc, dc->hPen );
|
||||||
NtGdiSelectBrush( hdc, dc->hBrush );
|
NtGdiSelectBrush( hdc, dc->hBrush );
|
||||||
}
|
}
|
||||||
|
|
|
@ -608,7 +608,7 @@ static INT CDECL nulldrv_GetTextFace( PHYSDEV dev, INT size, LPWSTR name )
|
||||||
LOGFONTW font;
|
LOGFONTW font;
|
||||||
DC *dc = get_nulldrv_dc( dev );
|
DC *dc = get_nulldrv_dc( dev );
|
||||||
|
|
||||||
if (GetObjectW( dc->hFont, sizeof(font), &font ))
|
if (NtGdiExtGetObjectW( dc->hFont, sizeof(font), &font ))
|
||||||
{
|
{
|
||||||
ret = lstrlenW( font.lfFaceName ) + 1;
|
ret = lstrlenW( font.lfFaceName ) + 1;
|
||||||
if (name)
|
if (name)
|
||||||
|
|
|
@ -158,7 +158,7 @@ HPALETTE WINAPI NtGdiCreateHalftonePalette( HDC hdc )
|
||||||
pal->palPalEntry[i].peBlue = entries[i].rgbBlue;
|
pal->palPalEntry[i].peBlue = entries[i].rgbBlue;
|
||||||
pal->palPalEntry[i].peFlags = 0;
|
pal->palPalEntry[i].peFlags = 0;
|
||||||
}
|
}
|
||||||
return CreatePalette( pal );
|
return NtGdiCreatePaletteInternal( pal, pal->palNumEntries );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -348,7 +348,7 @@ static HRGN path_to_region( const struct gdi_path *path, int mode )
|
||||||
if (i > pos + 1) counts[polygons++] = i - pos;
|
if (i > pos + 1) counts[polygons++] = i - pos;
|
||||||
|
|
||||||
assert( polygons <= path->count / 2 );
|
assert( polygons <= path->count / 2 );
|
||||||
hrgn = CreatePolyPolygonRgn( path->points, counts, polygons, mode );
|
hrgn = create_polypolygon_region( path->points, counts, polygons, mode, NULL );
|
||||||
HeapFree( GetProcessHeap(), 0, counts );
|
HeapFree( GetProcessHeap(), 0, counts );
|
||||||
return hrgn;
|
return hrgn;
|
||||||
}
|
}
|
||||||
|
@ -1535,7 +1535,7 @@ static BOOL CDECL pathdrv_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags, con
|
||||||
DWORD dwSize;
|
DWORD dwSize;
|
||||||
void *outline;
|
void *outline;
|
||||||
|
|
||||||
dwSize = GetGlyphOutlineW(dev->hdc, str[idx], ggo_flags, &gm, 0, NULL, &identity);
|
dwSize = NtGdiGetGlyphOutline( dev->hdc, str[idx], ggo_flags, &gm, 0, NULL, &identity, FALSE );
|
||||||
if (dwSize == GDI_ERROR) continue;
|
if (dwSize == GDI_ERROR) continue;
|
||||||
|
|
||||||
/* add outline only if char is printable */
|
/* add outline only if char is printable */
|
||||||
|
@ -1544,7 +1544,7 @@ static BOOL CDECL pathdrv_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags, con
|
||||||
outline = HeapAlloc(GetProcessHeap(), 0, dwSize);
|
outline = HeapAlloc(GetProcessHeap(), 0, dwSize);
|
||||||
if (!outline) return FALSE;
|
if (!outline) return FALSE;
|
||||||
|
|
||||||
GetGlyphOutlineW(dev->hdc, str[idx], ggo_flags, &gm, dwSize, outline, &identity);
|
NtGdiGetGlyphOutline( dev->hdc, str[idx], ggo_flags, &gm, dwSize, outline, &identity, FALSE );
|
||||||
PATH_add_outline(physdev, x + offset.x, y + offset.y, outline, dwSize);
|
PATH_add_outline(physdev, x + offset.x, y + offset.y, outline, dwSize);
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(), 0, outline);
|
HeapFree(GetProcessHeap(), 0, outline);
|
||||||
|
@ -1618,14 +1618,14 @@ static struct gdi_path *PATH_WidenPath(DC *dc)
|
||||||
BYTE *type;
|
BYTE *type;
|
||||||
DWORD obj_type, joint, endcap, penType;
|
DWORD obj_type, joint, endcap, penType;
|
||||||
|
|
||||||
size = GetObjectW( dc->hPen, 0, NULL );
|
size = NtGdiExtGetObjectW( dc->hPen, 0, NULL );
|
||||||
if (!size) {
|
if (!size) {
|
||||||
SetLastError(ERROR_CAN_NOT_COMPLETE);
|
SetLastError(ERROR_CAN_NOT_COMPLETE);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
elp = HeapAlloc( GetProcessHeap(), 0, size );
|
elp = HeapAlloc( GetProcessHeap(), 0, size );
|
||||||
GetObjectW( dc->hPen, size, elp );
|
NtGdiExtGetObjectW( dc->hPen, size, elp );
|
||||||
|
|
||||||
obj_type = get_gdi_object_type(dc->hPen);
|
obj_type = get_gdi_object_type(dc->hPen);
|
||||||
switch (obj_type)
|
switch (obj_type)
|
||||||
|
|
|
@ -927,7 +927,7 @@ HRGN WINAPI NtGdiExtCreateRegion( const XFORM *xform, DWORD count, const RGNDATA
|
||||||
pt[3].y = pCurRect->bottom;
|
pt[3].y = pCurRect->bottom;
|
||||||
|
|
||||||
translate( pt, 4, xform );
|
translate( pt, 4, xform );
|
||||||
poly_hrgn = CreatePolyPolygonRgn( pt, &count, 1, WINDING );
|
poly_hrgn = create_polypolygon_region( pt, &count, 1, WINDING, NULL );
|
||||||
NtGdiCombineRgn( hrgn, hrgn, poly_hrgn, RGN_OR );
|
NtGdiCombineRgn( hrgn, hrgn, poly_hrgn, RGN_OR );
|
||||||
NtGdiDeleteObjectApp( poly_hrgn );
|
NtGdiDeleteObjectApp( poly_hrgn );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue