Module: wine Branch: master Commit: 5601860b76fe61ae8d6a1ea18ad737674f91256b URL: http://source.winehq.org/git/wine.git/?a=commit;h=5601860b76fe61ae8d6a1ea18a...
Author: Vincent Povirk vincent@codeweavers.com Date: Sun Aug 8 15:31:03 2010 -0500
gdiplus: Don't require an HDC in get_graphics_bounds.
---
dlls/gdiplus/graphics.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 094ed61..ced0d40 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -1137,6 +1137,8 @@ static GpStatus restore_container(GpGraphics* graphics, static GpStatus get_graphics_bounds(GpGraphics* graphics, GpRectF* rect) { RECT wnd_rect; + GpStatus stat=Ok; + GpUnit unit;
if(graphics->hwnd) { if(!GetClientRect(graphics->hwnd, &wnd_rect)) @@ -1146,6 +1148,10 @@ static GpStatus get_graphics_bounds(GpGraphics* graphics, GpRectF* rect) rect->Y = wnd_rect.top; rect->Width = wnd_rect.right - wnd_rect.left; rect->Height = wnd_rect.bottom - wnd_rect.top; + }else if (graphics->image){ + stat = GdipGetImageBounds(graphics->image, rect, &unit); + if (stat == Ok && unit != UnitPixel) + FIXME("need to convert from unit %i\n", unit); }else{ rect->X = 0; rect->Y = 0; @@ -1153,7 +1159,7 @@ static GpStatus get_graphics_bounds(GpGraphics* graphics, GpRectF* rect) rect->Height = GetDeviceCaps(graphics->hdc, VERTRES); }
- return Ok; + return stat; }
/* on success, rgn will contain the region of the graphics object which