X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2FDualGauge.cpp;fp=src%2Fui%2FDualGauge.cpp;h=55f952824d10fc1eefa0115e73882ba813d21a35;hb=1cb5ed22d7772abe6f9893be90f26f46dbde39f7;hp=0000000000000000000000000000000000000000;hpb=ffd31714f3edb64ebe16b65878750c6cc5c7e884;p=space.git diff --git a/src/ui/DualGauge.cpp b/src/ui/DualGauge.cpp new file mode 100644 index 0000000..55f9528 --- /dev/null +++ b/src/ui/DualGauge.cpp @@ -0,0 +1,32 @@ +#include "DualGauge.h" + +#include "../graphics/Canvas.h" + +#include +#include + + +namespace space { + +void DualGauge::Render(Canvas &canv, float val) const { + canv.SetColor(borderCol); + canv.OutlineRect(pos, size); + + canv.SetColor(bgCol); + canv.FillRect(bgPos, bgSize); + + if (val == 0) return; + + Vector vSize(valSize.x, valSize.y * std::abs(val)); + + if (val > 0) { + Vector vPos(valPos.x, valPos.y - vSize.y); + canv.SetColor(posCol); + canv.FillRect(vPos, vSize); + } else { + canv.SetColor(negCol); + canv.FillRect(valPos, vSize); + } +} + +}