MCPcopy Create free account
hub / github.com/axmolengine/axmol / beforeDraw

Method beforeDraw

core/2d/Grid.cpp:204–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

202}
203
204void GridBase::beforeDraw()
205{
206 // save projection
207 Director* director = Director::getInstance();
208
209 auto* renderer = director->getRenderer();
210 auto* groupCommand = renderer->getNextGroupCommand();
211 renderer->addCommand(groupCommand);
212 renderer->pushGroup(groupCommand->getRenderQueueID());
213
214 auto beforeDrawCommandFunc = [director, renderer, this]() -> void {
215 _directorProjection = director->getProjection();
216 set2DProjection();
217 Vec2 size = director->getWinSizeInPixels();
218 renderer->setViewPort(0, 0, (unsigned int)size.width, (unsigned int)size.height);
219
220 _oldRenderTarget = renderer->getRenderTarget();
221 AX_SAFE_RELEASE(_renderTarget);
222 _renderTarget =
223 backend::DriverBase::getInstance()->newRenderTarget(_texture->getBackendTexture());
224 renderer->setRenderTarget(_renderTarget);
225 };
226 renderer->addCallbackCommand(beforeDrawCommandFunc);
227
228 // since we use clearCommand, should call at here to avoid iterator damage
229 renderer->clear(TargetBufferFlags::COLOR, _clearColor, 1, 0, 0.0);
230}
231
232void GridBase::afterDraw(ax::Node* /*target*/)
233{

Callers 1

onGridBeginDrawMethod · 0.45

Calls 12

getInstanceFunction · 0.85
getRendererMethod · 0.80
getNextGroupCommandMethod · 0.80
pushGroupMethod · 0.80
getWinSizeInPixelsMethod · 0.80
setViewPortMethod · 0.80
newRenderTargetMethod · 0.80
getBackendTextureMethod · 0.80
setRenderTargetMethod · 0.80
addCallbackCommandMethod · 0.80
addCommandMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected