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
}
2016-09-24 08:26:09 +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 ;
}