MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / OnDrawOverlay

Method OnDrawOverlay

Sources/Jazz2/UI/Menu/BeginSection.cpp:298–321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

296 }
297
298 void BeginSection::OnDrawOverlay(Canvas* canvas)
299 {
300 if (_shouldStart) {
301 Vector2i viewSize = canvas->ViewSize;
302
303 auto* command = canvas->RentRenderCommand();
304 if (command->GetMaterial().SetShader(ContentResolver::Get().GetShader(PrecompiledShader::Transition))) {
305 command->GetMaterial().ReserveUniformsDataMemory();
306 command->GetGeometry().SetDrawParameters(GL_TRIANGLE_STRIP, 0, 4);
307 }
308
309 command->GetMaterial().SetBlendingFactors(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
310
311 auto* instanceBlock = command->GetMaterial().UniformBlock(Material::InstanceBlockName);
312 instanceBlock->GetUniform(Material::TexRectUniformName)->SetFloatVector(Vector4f(1.0f, 0.0f, 1.0f, 0.0f).Data());
313 instanceBlock->GetUniform(Material::SpriteSizeUniformName)->SetFloatVector(Vector2f(static_cast<float>(viewSize.X), static_cast<float>(viewSize.Y)).Data());
314 instanceBlock->GetUniform(Material::ColorUniformName)->SetFloatVector(Colorf(0.0f, 0.0f, 0.0f, _transitionTime).Data());
315
316 command->SetTransformation(Matrix4x4f::Identity);
317 command->SetLayer(999);
318
319 canvas->DrawRenderCommand(command);
320 }
321 }
322
323 void BeginSection::OnTouchEvent(const nCine::TouchEvent& event, Vector2i viewSize)
324 {

Callers 2

OnDrawMethod · 0.45
OnDrawMethod · 0.45

Calls 14

SetDrawParametersMethod · 0.80
SetBlendingFactorsMethod · 0.80
UniformBlockMethod · 0.80
SetFloatVectorMethod · 0.80
SetTransformationMethod · 0.80
SetLayerMethod · 0.80
DrawRenderCommandMethod · 0.80
ColorfClass · 0.50
RentRenderCommandMethod · 0.45
SetShaderMethod · 0.45
GetShaderMethod · 0.45

Tested by

no test coverage detected