MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / renderImpl

Method renderImpl

source/frontend/StarStatusPane.cpp:40–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40void StatusPane::renderImpl() {
41 Pane::renderImpl();
42
43 auto assets = Root::singleton().assets();
44 auto interfaceScale = m_guiContext->interfaceScale();
45 auto imageMetadataDatabase = Root::singleton().imageMetadataDatabase();
46
47 String statusIconDarkenImage = assets->json("/interface.config:statusIconDarkenImage").toString();
48
49 for (auto const& entry : m_statusIndicators) {
50 String image = entry.icon;
51 if (entry.durationPercentage) {
52 int imageHeight = imageMetadataDatabase->imageSize(image)[1];
53 int yOffset = -(int)(*entry.durationPercentage * imageHeight);
54 image += "?" + imageOperationToString(BlendImageOperation{
55 BlendImageOperation::Multiply, {statusIconDarkenImage}, Vec2I(0, yOffset)});
56 }
57 m_guiContext->drawQuad(image, entry.screenRect.min(), interfaceScale);
58 }
59}
60
61void StatusPane::update(float dt) {
62 Pane::update(dt);

Callers

nothing calls this directly

Calls 10

singletonClass · 0.85
imageOperationToStringFunction · 0.85
assetsMethod · 0.80
imageMetadataDatabaseMethod · 0.80
jsonMethod · 0.80
drawQuadMethod · 0.80
interfaceScaleMethod · 0.45
toStringMethod · 0.45
imageSizeMethod · 0.45
minMethod · 0.45

Tested by

no test coverage detected