MCPcopy Create free account
hub / github.com/awawa-dev/HyperHDR / getImage

Method getImage

sources/effects/Animation4Music_StereoMulti.cpp:55–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53};
54
55bool Animation4Music_StereoMulti::getImage(Image<ColorRgb>& newImage)
56{
57 if (hasResult == nullptr)
58 return false;
59
60 bool newData = false;
61 auto r = hasResult(this, _internalIndex, &newData, NULL, NULL, &_oldMulti);
62
63 if (r == nullptr || !newData)
64 return false;
65
66 ColorRgb selected;
67 uint32_t maxSingle, average;
68
69 newImage.clear();
70
71 if (!r->GetStats(average, maxSingle, selected))
72 return false;
73
74 r->RestoreFullLum(selected);
75
76 int value = r->getValue3Step(_oldMulti);
77
78 int hm = (newImage.height() / 2);
79 int h = std::min((hm * value) / 255, 255);
80 int h1 = std::max(hm - h, 0);
81 int h2 = std::min(hm + h, (int)newImage.height() - 1);
82
83 if (h2 > h1)
84 {
85 int width = newImage.width() * 0.04;
86
87 newImage.gradientVBox(0, h1, width, h2, selected.Red(), selected.Green(), selected.Blue());
88 newImage.gradientVBox(newImage.width() - 1 - width, h1, newImage.width() - 1, h2, selected.Red(), selected.Green(), selected.Blue());
89 }
90
91 return true;
92};
93
94bool Animation4Music_StereoMulti::isRegistered = hyperhdr::effects::REGISTER_EFFECT(Animation4Music_StereoMulti::getDefinition());

Callers

nothing calls this directly

Calls 10

GetStatsMethod · 0.80
RestoreFullLumMethod · 0.80
getValue3StepMethod · 0.80
RedMethod · 0.80
GreenMethod · 0.80
BlueMethod · 0.80
clearMethod · 0.45
heightMethod · 0.45
widthMethod · 0.45
gradientVBoxMethod · 0.45

Tested by

no test coverage detected