return NtGdiGetRelAbs(hdc);
}
+
+DWORD
+STDCALL
+GetDCDWord( HDC hDC, INT u, DWORD Result )
+{
+BOOL Ret = TRUE; //NtGdiGetDCDword( hDC, u, (DWORD*) &u );
+ if (!Ret) return Result;
+ else return u;
+}
+
+
/*
* @implemented
*/
Ret = OBJ_REGION;
break;
case GDI_OBJECT_TYPE_DC:
- Ret = OBJ_DC;
+ if ( GetDCDWord( h, GdiGetIsMemDc, 0))
+ {
+ Ret = OBJ_MEMDC;
+ }
+ else
+ Ret = OBJ_DC;
break;
- case GDI_OBJECT_TYPE_METADC:
- Ret = OBJ_METADC;
+ case GDI_OBJECT_TYPE_COLORSPACE:
+ Ret = OBJ_COLORSPACE;
break;
case GDI_OBJECT_TYPE_METAFILE:
Ret = OBJ_METAFILE;
SetLastError(ERROR_INVALID_HANDLE);
return Ret;
}
+
+
if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
{
if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
-// return MFDRV_MetaParam2( hDC, META_MOVETO, x, y);
- return FALSE;
+ return MFDRV_MetaParam2( hDC, META_MOVETO, x, y);
else
{
PLDC pLDC = Dc_Attr->pvLDC;
}
if (pLDC->iType == LDC_EMFLDC)
{
- //if (!EMFDRV_MoveTo( hDC, x, y))
- return FALSE;
+ if (!EMFDRV_MoveTo( hDC, x, y)) return FALSE;
}
}
}
STDCALL
GetPixel( HDC hDC, INT x, INT y )
{
- PDC_ATTR Dc_Attr;
-
if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC) return CLR_INVALID;
-
- if (!GdiGetHandleUserData((HGDIOBJ) hDC, (PVOID) &Dc_Attr)) return CLR_INVALID;
-
+ if (!GdiIsHandleValid((HGDIOBJ) hDC)) return CLR_INVALID;
return NtGdiGetPixel( hDC, x, y);
}