Files
MuditaOS/module-apps/apps-common/locks/widgets/LockBoxAlternatingSize.cpp
Piotr Tański 90e7a48198 [EGD-7362] Merge release/0.76.1 into master
Merge release/0.76.1 into master.
2021-09-02 11:12:59 +02:00

53 lines
1.3 KiB
C++

// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "Lock.hpp"
#include "LockBoxAlternatingSize.hpp"
#include <locks/data/LockStyle.hpp>
#include <locks/windows/LockInputWindow.hpp>
namespace gui
{
void LockBoxAlternatingSize::buildLockBox(unsigned int pinSize)
{
buildPinLabels(0);
}
void LockBoxAlternatingSize::clear()
{
lockWindow->pinLabelsBox->erase();
buildPinLabels(0);
}
void LockBoxAlternatingSize::popChar(unsigned int charNum)
{
buildPinLabels(charNum);
}
void LockBoxAlternatingSize::putChar(unsigned int charNum)
{
buildPinLabels(charNum + 1);
}
void LockBoxAlternatingSize::update(unsigned int inputFilled)
{
buildPinLabels(inputFilled);
}
void LockBoxAlternatingSize::buildPinLabels(unsigned int pinSize)
{
if (lockWindow->pinLabelsBox) {
lockWindow->pinLabelsBox->erase();
}
auto itemBuilder = []() {
auto label = new gui::Image("dot_12px_hard_alpha_W_G");
return label;
};
lockWindow->buildPinLabels(itemBuilder, pinSize);
lockWindow->pinLabelsBox->setEdges(RectangleEdge::Bottom);
}
} // namespace gui