{
new_hdc = CreateCompatibleDC(0);
if (!new_hdc)
+ {
+ ERR("CreateCompatibleDC failed\n");
return OutOfMemory;
+ }
stat = GdipCreateFromHDC(new_hdc, &new_graphics);
graphics = new_graphics;
if (stat != Ok)
{
+ ERR("GdipCreateFromHDC failed: 0x%x\n", stat);
DeleteDC(new_hdc);
return stat;
}
{
graphics->hdc = new_hdc = CreateCompatibleDC(0);
if (!new_hdc)
+ {
+ ERR("CreateCompatibleDC failed\n");
return OutOfMemory;
+ }
}
save_state = SaveDC(graphics->hdc);
if (stat == Ok)
{
*hrgn = PathToRegion(graphics->hdc);
+ if (*hrgn == NULL)
+ {
+ ERR("PathToRegion failed\n");
+ }
stat = *hrgn ? Ok : OutOfMemory;
}
+ else
+ {
+ ERR("trace_path failed: 0x%x\n", stat);
+ }
RestoreDC(graphics->hdc, save_state);
if (new_hdc)
*/
GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *region, GpGraphics *graphics, HRGN *hrgn)
{
+ GpStatus status;
TRACE("(%p, %p, %p)\n", region, graphics, hrgn);
if (!region || !hrgn)
return InvalidParameter;
- return get_region_hrgn(®ion->node, graphics, hrgn);
+ status = get_region_hrgn(®ion->node, graphics, hrgn);
+ if (status != Ok)
+ {
+ ERR("get_region_hrgn() failed. region->node.type = 0x%x\n", region->node.type);
+ }
+ return status;
}
GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *region, GpGraphics *graphics, BOOL *res)