I'm looking at the WritePixel source and wondering if Case PF_RGBA8888 shouldn't be raised to the top of the Select list? Isn't that the format most pixmaps use?
Method WritePixel( x,y,argb ) Assert x>=0 And x<width And y>=0 And y<height Else "Pixmap coordinates out of bounds" Local p:Byte Ptr=PixelPtr(x,y) Select format Case PF_A8 p[0]=argb Shr 24 Case PF_I8 p[0]=( (argb Shr 16 & $ff)+(argb Shr 8 & $ff)+(argb & $ff) )/3 Case PF_RGB888 p[0]=argb Shr 16 ; p[1]=argb Shr 8 ; p[2]=argb Case PF_BGR888 p[0]=argb ; p[1]=argb Shr 8 ; p[2]=argb Shr 16 Case PF_RGBA8888 p[0]=argb Shr 16 ; p[1]=argb Shr 8 ; p[2]=argb ; p[3]=argb Shr 24 Case PF_BGRA8888 p[0]=argb ; p[1]=argb Shr 8 ; p[2]=argb Shr 16 ; p[3]=argb Shr 24 End Select End Method