You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers. No questions about C++ programming or topics which are answered in the tutorials!
I have a big background image and it needs to be drawn first, and other images should drawn after this big one. How can I set this (image, button, label etc) draw order in irrlicht gui?
Hm, yeah - I think that's a missing function. For now - get all elements with getChildren() and call bringToFront for all except the one which you want to have in the back should do the trick. Adding some more functions to IGUIElement is on my todo (but not yet too high priority so far).
You could always have an "Empty" GUI element (Like another GUI Environment) that all other GUI elements go in, then bring the whole empty one to the front. I don't remember if there is a built-in one, but it isn't to hard to make one (Basically like a custom scene node, but a GUI element and then all it does is render children.)
thanks Dtd... but it is another some kind of workaround.. irrlicht developers, cant you just add a SendToBack function, or even a better solution "render z-order" functions, variables etc..
Hm, should be easy to change (and although it looks correct, it still needs to be tested ... everything looks correct until it breaks ^^). I would prefer calling it bringToBack (as the other function is called bringToFront, so names have some symmetry). And when adding it I also want bringToFrontOf which moves it in front of a specified other element. I try to find time on weekend (or some evening).
Edit: About dehseth proposal of allowing to set render-order in other ways than just parent-child relations. Well, nothing I'll probably manage to do by the way, but it's something I've also considered in the past sometimes. So far I always managed to work around such issues when they occurred, so I'm not sure if it is needed (could also complicate programming). Lets say - ideas on that are welcome, but should be accompanied with examples where it's necessary/useful.
Sorry, took a little longer as some bug-reports came in between which had to be handled first. But it's now in svn. I put the bringToBack in there using DtD's patch. Seemed to work in a quick test ;-) Thanks!