[wxPython] wxImageList

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[wxPython] wxImageList

Echeverria Rabi, Cristian  Rodrigo, TRANSELEC S.A.
Hi Robin

Did you remenber my problem with images into
wxListCtrl and wxTreeCtrl ????

I think I discovered the problem, this is on wxImageList.
The constructor for wxImageList is :

wxImageList(int width, int heihght, const bool mask=TRUE,
        int initialCount=1)

mask is TRUE by default, and since the mask is not working on
windows the image appears corrupted.

If you change the code in the demo into wxListCtrl.py to:
self.il = wxImageList(16, 16, FALSE)
the image looks very well (of corse you have no trasparency,
but this is other problem).

What do you think??

Cristian Echeverria
 


_______________________________________________
wxPython-users maillist  -  [hidden email]
http://starship.python.net/mailman/listinfo/wxpython-users



Reply | Threaded
Open this post in threaded view
|

Re: [wxPython] wxImageList

Robin Dunn
>
> Did you remenber my problem with images into
> wxListCtrl and wxTreeCtrl ????
>
> I think I discovered the problem, this is on wxImageList.
> The constructor for wxImageList is :
>
> wxImageList(int width, int heihght, const bool mask=TRUE,
> int initialCount=1)
>
> mask is TRUE by default, and since the mask is not working on
> windows the image appears corrupted.
>
> If you change the code in the demo into wxListCtrl.py to:
> self.il = wxImageList(16, 16, FALSE)
> the image looks very well (of corse you have no trasparency,
> but this is other problem).
>
> What do you think??
>

Sometimes I am so blind...  <grin>

I just traced though the code and if you don't give a mask it should ignore
it anyway, but it could still be some sort of problem related to this.
(Since I've never been able to duplicate the problem on this machine I still
can't be sure.)

Another possibility is that wxNullBitmap is getting corrupted and so it is
actually applying a mask with the bad data.  This would account for why your
messed up images looked different than the messed up images on my other
machine.  Do me a favor: duplicate the problem again and at the point of
adding images to the image list print the value of wxNullBitmap.Ok() and let
me know what it is.


This all brings up another issue.  On non-MSW platforms the image list only
supports Add(bitmap) not Add(bitmap, mask=wxNullBitmap) or Add(bitmap,
colorMask).  You are required to add the mask to the bitmap before adding it
to the image list.  Would anybody be too upset if I removed the extended
functionality from the MSW version of wxPython to be consistent across
platforms?  It would make wxImageList somewhat simpler.

--
Robin Dunn
Software Craftsman
[hidden email]
http://AllDunn.com/robin/
http://AllDunn.com/wxPython/  Check it out!




_______________________________________________
wxPython-users maillist  -  [hidden email]
http://starship.python.net/mailman/listinfo/wxpython-users