It looks like ImageRowAt is not using ImageSets.
When adding an image to a ListBox Row the image becomes very jagged and blurry.
If you create an ImageSet yourself it looks fine.
It can be tried with a Canvas (16x16) and two ListBoxes all showing the same picture added to the project. Original @ 512x512 and 1024x1024.
Paint event for the Canvas:
g.DrawPicture(Logo, 0, 0, g.Width, g.Height, 0, 0, Logo.Width, Logo.Height)
Opening Event for ListBox1:
Var p As New Picture(16, 16)
p.Graphics.DrawPicture(Logo, 0, 0, p.Width, p.Height, 0, 0, Logo.Width, Logo.Height)
For i As Integer = 0 to 10
Me.AddRow("Row " + i.ToString)
Me.RowImageAt(i) = p
Next
Opening Event for ListBox 2:
Var px1 As New Picture(16, 16)
Var px2 As New Picture(32, 32)
Var BitMaps() As Picture
px1.Graphics.DrawPicture(Logo, 0, 0, px1.Width, px1.Height, 0, 0, Logo.Width, Logo.Height)
px2.Graphics.DrawPicture(Logo, 0, 0, px2.Width, px2.Height, 0, 0, Logo.Width, Logo.Height)
BitMaps.Add(px1)
BitMaps.Add(px2)
Var PicSet As New Picture(16, 16, BitMaps())
For i As Integer = 0 to 10
Me.AddRow("Row " + i.ToString)
Me.RowImageAt(i) = PicSet
Next
The Canvas produces a nicely scaled logo.
ListBox1 produces a poor result while ListBox2 does fine just like the canvas.
Is this by design or is it a bug that you have to create an ImageSet yourself when using RowImageAt?
macOS Monterey 12.1
XOJO 2021 Version 3