53 mVertexBuffer =
nullptr;
58 if (mTexture ==
nullptr)
61 mRenderTarget = _target;
63 mCurrentUpdate = _update;
65 if (mOutDate || _update)
70 for (VectorDrawItem::iterator iter=mDrawItems.begin(); iter!=mDrawItems.end(); ++iter)
73 mCurrentVertext = buffer;
74 mLastVertextCount = 0;
76 (*iter).first->doRender();
80 buffer += mLastVertextCount;
81 mCountVertex += mLastVertextCount;
90 if (0 != mCountVertex)
92 #if MYGUI_DEBUG_MODE == 1
96 MYGUI_EXCEPT(
"texture pointer is not valid, texture name '" << mTextureName <<
"'");
101 _target->
doRender(mVertexBuffer, mTexture, mCountVertex);
107 for (VectorDrawItem::iterator iter=mDrawItems.begin(); iter!=mDrawItems.end(); ++iter)
109 if ((*iter).first == _item)
111 mNeedVertexCount -= (*iter).second;
112 mDrawItems.erase(iter);
118 if (mDrawItems.empty())
134 #if MYGUI_DEBUG_MODE == 1
135 for (VectorDrawItem::iterator iter=mDrawItems.begin(); iter!=mDrawItems.end(); ++iter)
142 mNeedVertexCount += _count;
150 for (VectorDrawItem::iterator iter=mDrawItems.begin(); iter!=mDrawItems.end(); ++iter)
152 if ((*iter).first == _item)
155 if ((*iter).second < _count)
157 mNeedVertexCount -= (*iter).second;
158 mNeedVertexCount += _count;
159 (*iter).second = _count;
177 #if MYGUI_DEBUG_MODE == 1
178 mTextureName = mTexture ==
nullptr ?
"" : mTexture->
getName();
189 bool result = mCompression;
190 mCompression =
false;