#include "backlight.h" #include "system.h" namespace { int setting = 7; bool lowered = false; int toSystem(int setting) { switch (setting) { case 0: return 3; case 1: return 4; case 2: return 5; case 3: return 6; case 4: return 7; case 5: return 8; case 6: return 9; case 7: return 10; } } } void Backlight::lower() { lowered = true; int t = setting - 2; if (t < 0) System::setBacklight(toSystem(0)); else System::setBacklight(toSystem(t)); } void Backlight::restore() { lowered = false; System::setBacklight(toSystem(setting)); } void Backlight::set(int level) { if (level < 0 || level > 7) return; setting = level; if (lowered) lower(); else restore(); }