https://bitbucket.org/cegui/cegui/commi ... 0be22a9563
You will need to call GUIContext::draw(...) and fill in the right DrawMode you want as parameter. For each window you will have to set a "DrawMode" property which is of type integer.
setProperty<int>( static_cast<int>(DrawMode::DM_OPAQUE) )
should work for example.
Now let's get to the big caveat.
What's not working:
Every window that has a AutoRenderingSurface set it true (framewindow default in 0.8.X) will render all its contents regardless. This will always show up. Maybe I overlooked something but the fix for this seemed not so easy to me. This is more or less a cache after all.
EDIT:
I think the above should be solvable by adapting this function to also take the DrawMode param and do the same as for the GuiContext functions:
Code: Select all
void Window::queueGeometry(const RenderingContext& ctx)
What will never automagically work for AutoRenderingSurfaces though is a detection if a DrawMode of a Window has changed. If desiring to do this in run-time then the affected parents will need to be invalidated so that they are updated in the next frame. I think adding a listener or anything on that would be overkill.