1// This header file is generated by WOWCube SDK project wizard
2#pragma once
3
4#include "Scramble.h"
5
6// the structure that ecapsulates mapping element's information
7struct mapping_element_t
8{
9 Cubios::TOPOLOGY_place_t place;
10 int resourceID;
11 unsigned char angle;
12};
13
14// the structure to hold virtual mapping information
15struct mapping_t
16{
17 mapping_element_t value[MODULES_MAX][SCREENS_MAX];
18};
19
20// virtual mapping scrambling handler class
21class MyScramble : public Cubios::Scramble
22{
23public:
24 MyScramble() : Scramble(){};
25 ~MyScramble(){};
26 virtual void on_Twist(const Cubios::TOPOLOGY_twistInfo_t twist) override;
27 virtual void on_BeforeTwist() override;
28 virtual void on_MappingChanged(uint8_t moduleTo, uint8_t screenTo, uint8_t moduleFrom, uint8_t screenFrom) override;
29
30 void SetMapping(mapping_t *data);
31 mapping_t GetMapping();
32
33private:
34 mapping_t mapping;
35 mapping_t mappingTemp;
36};