MCPcopy Create free account
hub / github.com/MyGUI/mygui / addToRenderItemFirstQueue

Method addToRenderItemFirstQueue

MyGUIEngine/src/MyGUI_LayerNode.cpp:146–190  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144 }
145
146 RenderItem* LayerNode::addToRenderItemFirstQueue(ITexture* _texture, bool _manualRender)
147 {
148 if (mFirstRenderItems.empty() || _manualRender)
149 {
150 RenderItem* item = new RenderItem();
151 item->setTexture(_texture);
152 item->setManualRender(_manualRender);
153 mLastNotEmptyItem = mFirstRenderItems.size();
154 mFirstRenderItems.push_back(item);
155
156 return item;
157 }
158
159 mOutOfDateCompression = true;
160 mOutOfDate = true;
161
162 // first queue keep order
163
164 // use either last non-empty buffer if it have same texture
165 // or empty buffer (if found in the end)
166 if (mLastNotEmptyItem < mFirstRenderItems.size())
167 {
168 RenderItem* item = mFirstRenderItems[mLastNotEmptyItem];
169 if (!item->getManualRender() && item->getTexture() == _texture)
170 {
171 return item;
172 }
173 }
174
175 if (mLastNotEmptyItem + 1 < mFirstRenderItems.size())
176 {
177 ++mLastNotEmptyItem;
178 mFirstRenderItems[mLastNotEmptyItem]->setTexture(_texture);
179 return mFirstRenderItems[mLastNotEmptyItem];
180 }
181
182 // not found, create new
183 RenderItem* item = new RenderItem();
184 item->setTexture(_texture);
185 item->setManualRender(_manualRender);
186 mLastNotEmptyItem = mFirstRenderItems.size();
187 mFirstRenderItems.push_back(item);
188
189 return item;
190 }
191
192 RenderItem* LayerNode::addToRenderItemSecondQueue(ITexture* _texture, bool _manualRender)
193 {

Callers

nothing calls this directly

Calls 7

emptyMethod · 0.45
setTextureMethod · 0.45
setManualRenderMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
getManualRenderMethod · 0.45
getTextureMethod · 0.45

Tested by

no test coverage detected