Changeset 5397 in orxonox.OLD for trunk/src/lib/graphics/render2D/render_2d.cc
- Timestamp:
- Oct 18, 2005, 5:33:11 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/graphics/render2D/render_2d.cc
r5382 r5397 67 67 { 68 68 if (likely(element2D != NULL)) 69 this->element2DList[ (int)log2(E2D_DEFAULT_LAYER)]->add(element2D);69 this->element2DList[E2D_DEFAULT_LAYER]->add(element2D); 70 70 } 71 71 … … 79 79 void Render2D::unregisterElement2D(Element2D* element2D) 80 80 { 81 this->element2DList[ (int)log2(element2D->getLayer())]->remove(element2D);81 this->element2DList[element2D->getLayer()]->remove(element2D); 82 82 } 83 83 … … 93 93 return; 94 94 95 if ( unlikely(pow(2, E2D_LAYER_COUNT ) > to))95 if (E2D_LAYER_COUNT > to) 96 96 to = E2D_DEFAULT_LAYER; 97 97 if (element2D->getLayer() != to) 98 98 { 99 this->element2DList[ (int)log2(element2D->getLayer())]->remove(element2D);100 this->element2DList[ (int)log2(to)]->add(element2D);99 this->element2DList[element2D->getLayer()]->remove(element2D); 100 this->element2DList[to]->add(element2D); 101 101 } 102 102 } … … 124 124 125 125 /** 126 * renders all the Elements of the Render2D-engine 127 * @param layer the Layer to draw 126 * renders all the Elements of the Render2D-engine's layer 127 * @param layer the Layer to draw (if E2D_LAYER_ALL then all layers will be drawn) 128 128 */ 129 129 void Render2D::draw(unsigned int layer) const … … 131 131 GraphicsEngine::enter2DMode(); 132 132 133 int drawLayer = 1; 134 135 for (int i = 0; i < E2D_LAYER_COUNT; i++) 133 if (layer != E2D_LAYER_ALL) 136 134 { 137 if ( layer & drawLayer && this->element2DList[i]->getSize() > 0)135 if ( this->element2DList[layer]->getSize() > 0) 138 136 { 139 tIterator<Element2D>* iterator = this->element2DList[ i]->getIterator();137 tIterator<Element2D>* iterator = this->element2DList[layer]->getIterator(); 140 138 Element2D* elem = iterator->firstElement(); 141 139 while (elem != NULL) … … 147 145 delete iterator; 148 146 } 149 drawLayer << 1; 147 } 148 else // if (layer != E2D_LAYER_ALL) 149 { 150 for (int i = 0; i < E2D_LAYER_COUNT; i++) 151 { 152 if (this->element2DList[i]->getSize() > 0) 153 { 154 tIterator<Element2D>* iterator = this->element2DList[i]->getIterator(); 155 Element2D* elem = iterator->firstElement(); 156 while (elem != NULL) 157 { 158 if (elem->isVisible()) 159 elem->draw(); 160 elem = iterator->nextElement(); 161 } 162 delete iterator; 163 } 164 } 150 165 } 151 166 GraphicsEngine::leave2DMode();
Note: See TracChangeset
for help on using the changeset viewer.