I can't confirm this report.
In this code, the drawing order is exactly the oder of the call of DrawAlphaImage()
Code: Select all
Enumeration
#Window
#Gadget
#Image1
#Image2
#Image3
#Image4
EndEnumeration
Define Image.i
For Image = #Image1 To #Image4
If CreateImage(Image, 128, 128, 32, #PB_Image_Transparent)
If StartDrawing(ImageOutput(Image))
DrawingMode(#PB_2DDrawing_AlphaBlend)
Select Image
Case #Image1
Box(0, 0, 128, 128, $FF0000FF)
Case #Image2
Box(16, 16, 96, 96, $FF00FF00)
Case #Image3
Box(32, 32, 64, 64, $FFFF0000)
Case #Image4
Box(48, 48, 32, 32, $FF000000)
EndSelect
StopDrawing()
EndIf
EndIf
Next
OpenWindow(#Window, 0, 0, 800, 450, "Canvas Gadget", #PB_Window_MaximizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
CanvasGadget(#Gadget, 0, 0, WindowWidth(#Window), WindowHeight(#Window), #PB_Canvas_Keyboard)
If StartDrawing(CanvasOutput(#Gadget))
DrawAlphaImage(ImageID(#Image1), 64, 64)
DrawAlphaImage(ImageID(#Image2), 64, 64)
DrawAlphaImage(ImageID(#Image3), 64, 64)
DrawAlphaImage(ImageID(#Image4), 64, 64)
StopDrawing()
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
End