Fix Window.setIconImages. Now all images are used. Before only the first image was used.

This commit is contained in:
smallsql 2012-08-29 21:19:36 +00:00
Родитель ce6495803b
Коммит f51bff7cfe
2 изменённых файлов: 7 добавлений и 11 удалений

Просмотреть файл

@ -37,6 +37,7 @@
<include name="fonts-0.95.cs" /> <include name="fonts-0.95.cs" />
<include name="graphics.cs" /> <include name="graphics.cs" />
<include name="composite.cs" /> <include name="composite.cs" />
<include name="IconFactory.cs" />
<include name="images.cs" /> <include name="images.cs" />
<include name="native.cs" /> <include name="native.cs" />
<include name="printing.cs" /> <include name="printing.cs" />

Просмотреть файл

@ -4117,26 +4117,21 @@ namespace ikvm.awt
public void updateIconImages() public void updateIconImages()
{ {
java.util.List imageList = ((java.awt.Window) target).getIconImages(); java.util.List imageList = ((java.awt.Window)target).getIconImages();
Bitmap originalImage; Icon icon;
if (imageList == null || imageList.size() == 0) if (imageList == null || imageList.size() == 0)
{ {
originalImage = null; icon = null;
} }
else else
{ {
java.awt.Image image = (java.awt.Image)imageList.get(0); IconFactory factory = new IconFactory();
originalImage = J2C.ConvertImage(image); icon = factory.CreateIcon(imageList, SystemInformation.IconSize);
} }
NetToolkit.BeginInvoke(delegate NetToolkit.BeginInvoke(delegate
{ {
Size iconSize = SystemInformation.IconSize; ((Form)control).Icon = icon;
using (Bitmap scaleBitmap = originalImage == null ? null : new Bitmap(originalImage, iconSize))
{
((Form) control).Icon = scaleBitmap == null ? null : Icon.FromHandle(scaleBitmap.GetHicon());
}
}); });
} }
public void updateMinimumSize() public void updateMinimumSize()