FGGroupLayer::draw ()
{
if (test()) {
+ transform();
int nLayers = _layers.size();
for (int i = 0; i < nLayers; i++)
_layers[i]->draw();
// Implementation of FGSwitchLayer.
////////////////////////////////////////////////////////////////////////
-FGSwitchLayer::FGSwitchLayer (int w, int h, const SGPropertyNode * node,
- FGInstrumentLayer * layer1,
- FGInstrumentLayer * layer2)
- : FGInstrumentLayer(w, h), _node(node), _layer1(layer1), _layer2(layer2)
-{
-}
-
-FGSwitchLayer::~FGSwitchLayer ()
+FGSwitchLayer::FGSwitchLayer ()
+ : FGGroupLayer()
{
- delete _layer1;
- delete _layer2;
}
void
{
if (test()) {
transform();
- if (_node->getBoolValue()) {
- _layer1->draw();
- } else {
- _layer2->draw();
+ int nLayers = _layers.size();
+ for (int i = 0; i < nLayers; i++) {
+ if (_layers[i]->test()) {
+ _layers[i]->draw();
+ return;
+ }
}
}
}