Implement wxBitmap::GetSubBitmap.
Patch authored by Software 2000 Ltd. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -426,9 +426,26 @@ bool wxBitmap::CopyFromIcon(const wxIcon& icon)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxBitmap wxBitmap::GetSubBitmap(wxRect const&) const
|
wxBitmap wxBitmap::GetSubBitmap(const wxRect& rect) const
|
||||||
{
|
{
|
||||||
|
wxAutoNSAutoreleasePool pool;
|
||||||
|
if(!Ok())
|
||||||
return wxNullBitmap;
|
return wxNullBitmap;
|
||||||
|
NSImage *nsimage = GetNSImage(false);
|
||||||
|
|
||||||
|
[nsimage lockFocus];
|
||||||
|
NSRect imageRect = {{0,0}, [nsimage size]};
|
||||||
|
imageRect.origin.x = imageRect.size.width * rect.x / GetWidth();
|
||||||
|
imageRect.origin.y = imageRect.size.height * rect.y / GetHeight();
|
||||||
|
imageRect.size.width *= wx_static_cast(CGFloat, rect.width) / GetWidth();
|
||||||
|
imageRect.size.height *= wx_static_cast(CGFloat, rect.height) / GetHeight();
|
||||||
|
|
||||||
|
NSBitmapImageRep *newBitmapRep = [[NSBitmapImageRep alloc] initWithFocusedViewRect:imageRect];
|
||||||
|
[nsimage unlockFocus];
|
||||||
|
|
||||||
|
wxBitmap newBitmap(newBitmapRep);
|
||||||
|
|
||||||
|
return (newBitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxImage wxBitmap::ConvertToImage() const
|
wxImage wxBitmap::ConvertToImage() const
|
||||||
|
Reference in New Issue
Block a user