MCPcopy Create free account
hub / github.com/DISTRHO/Cardinal / drawLayer

Method drawLayer

plugins/Cardinal/src/HostTime.cpp:279–316  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

277 }
278
279 void drawLayer(const DrawArgs& args, int layer) override
280 {
281 if (layer == 1)
282 {
283 nvgFontSize(args.vg, 17);
284 nvgFillColor(args.vg, nvgRGBf(0.76f, 0.11f, 0.22f));
285
286 char timeString1[24];
287 char timeString2[24];
288
289 std::shared_ptr<Font> monoFont = APP->window->loadFont(monoFontPath);
290
291 if (module != nullptr && monoFont != nullptr)
292 {
293 nvgFontFaceId(args.vg, monoFont->handle);
294
295 const uint32_t seconds = module->timeInfo.seconds;
296 std::snprintf(timeString1, sizeof(timeString1), " %02d:%02d:%02d",
297 (seconds / 3600) % 100,
298 (seconds / 60) % 60,
299 seconds % 60);
300 std::snprintf(timeString2, sizeof(timeString2), "%03d:%02d:%04d",
301 module->timeInfo.bar % 1000,
302 module->timeInfo.beat % 100,
303 static_cast<int>(module->timeInfo.tick + 0.5));
304 }
305 else
306 {
307 std::strcpy(timeString1, " 00:00:00");
308 std::strcpy(timeString2, "001:01:0000");
309 }
310
311 nvgText(args.vg, startX + 3.5f, startY_top + 15.0f, timeString1, nullptr);
312 nvgText(args.vg, startX + 3.5f, startY_top + 33.0f, timeString2, nullptr);
313 }
314
315 ModuleWidget::drawLayer(args, layer);
316 }
317
318 void appendContextMenu(Menu* menu) override {
319 struct BarDivisionItem : MenuItem {

Callers

nothing calls this directly

Calls 6

nvgFontSizeFunction · 0.85
nvgFillColorFunction · 0.85
nvgRGBfFunction · 0.85
nvgFontFaceIdFunction · 0.85
nvgTextFunction · 0.85
loadFontMethod · 0.45

Tested by

no test coverage detected