Archivováno
1
0
Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete nahrávat a vytvářet nové úkoly nebo pull requesty.
keybrd/src/LayerState.cpp

33 řádky
629 B
C++
Surový Trvalý odkaz Normální zobrazení Historie

2016-05-28 21:16:32 +00:00
#include "LayerState.h"
2016-05-09 14:05:08 +00:00
2016-09-20 01:46:03 +00:00
void LayerState::hold(const uint8_t layerId)
2016-05-09 14:05:08 +00:00
{
2016-09-20 01:46:03 +00:00
setActiveLayer(layerId);
2016-05-09 14:05:08 +00:00
}
2016-09-20 01:46:03 +00:00
void LayerState::unhold(const uint8_t layerId)
2016-05-09 14:05:08 +00:00
{
2016-09-20 01:46:03 +00:00
if (layerId == activeLayer);
2016-05-09 14:05:08 +00:00
{
setActiveLayer(lockedLayer);
}
}
2016-09-20 01:46:03 +00:00
void LayerState::lock(const uint8_t layerId)
2016-05-09 14:05:08 +00:00
{
2016-09-20 01:46:03 +00:00
setActiveLayer(layerId);
lockedLayer = layerId;
2016-05-09 14:05:08 +00:00
}
/* Derived classes override setActiveLayer() to also set LED indicator lights e.g. LayerState_LED
2016-07-18 02:03:03 +00:00
*/
2016-09-20 01:46:03 +00:00
void LayerState::setActiveLayer(const uint8_t layerId)
2016-05-09 14:05:08 +00:00
{
2016-09-20 01:46:03 +00:00
activeLayer = layerId;
2016-05-09 14:05:08 +00:00
}
2016-05-28 21:16:32 +00:00
uint8_t LayerState::getActiveLayer()
2016-05-09 14:05:08 +00:00
{
return activeLayer;
}