|
|
@@ -546,20 +546,25 @@ void Form::draw()
|
|
|
|
|
|
GP_ASSERT(_theme);
|
|
|
_theme->setProjectionMatrix(_projectionMatrix);
|
|
|
+
|
|
|
+ // By setting needsClear to true here, an optimization meant to clear and redraw only areas of the form
|
|
|
+ // that have changed is disabled. Currently, repositioning controls can result in areas of the screen being cleared
|
|
|
+ // after another control has been drawn there. This should probably be done in two passes -- one to clear areas where
|
|
|
+ // dirty controls were last frame, and another to draw them where they are now.
|
|
|
Container::draw(_theme->getSpriteBatch(), Rectangle(0, 0, _bounds.width, _bounds.height),
|
|
|
- _skin != NULL, false, _bounds.height);
|
|
|
+ /*_skin != NULL*/ true, false, _bounds.height);
|
|
|
_theme->setProjectionMatrix(_defaultProjectionMatrix);
|
|
|
|
|
|
- // restore the previous game viewport
|
|
|
+ // Restore the previous game viewport.
|
|
|
game->setViewport(prevViewport);
|
|
|
// Rebind the previous framebuffer and game viewport.
|
|
|
previousFrameBuffer->bind();
|
|
|
}
|
|
|
|
|
|
- // Draw either with a 3D quad or sprite batch
|
|
|
+ // Draw either with a 3D quad or sprite batch.
|
|
|
if (_node)
|
|
|
{
|
|
|
- // If we have the node set, then draw a 3D quad model
|
|
|
+ // If we have the node set, then draw a 3D quad model.
|
|
|
_nodeQuad->draw();
|
|
|
}
|
|
|
else
|