| 202 | } |
| 203 | |
| 204 | void 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 | |
| 232 | void GridBase::afterDraw(ax::Node* /*target*/) |
| 233 | { |
no test coverage detected