This repository has been archived on 2026-07-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
BrightnessControl/AlterBrightness.cpp
T

143 lines
3.3 KiB
C++

#include <iostream>
#include <fstream>
#include <ios>
#include "AlterBrightness.h"
#include "Brightness.h"
AlterBrightness::AlterBrightness()
{
currentBrightness = Brightness::getCurrentBrightness();
maxBrightness = Brightness::getMaxBrightness();
}
AlterBrightness::AlterBrightness(unsigned& change, unsigned& current, unsigned& max)
{
increment = change;
decrement = change;
currentBrightness = current;
maxBrightness = max;
}
void AlterBrightness::setIncrement(unsigned& change)
{
increment = change;
}
void AlterBrightness::setDecrement(unsigned& change)
{
decrement = change;
}
/**
void AlterBrightness::setCurrentBrightness()
{
currentBrightness = current;
}
void AlterBrightness::setMaxBrightness()
{
maxBrightness = max;
}
*/
void AlterBrightness::setPercentageBrightness(float& percent)
{
percentageBrightness = percent;
}
void AlterBrightness::chooseChange(char* changeChoice[])
{
std::ofstream s;
s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
if (strcmp(*changeChoice, AlterBrightness::getIncrease()) == 0)
{
AlterBrightness::increaseBrightness();
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
s << AlterBrightness::getCurrentBrightness();
}
else if (strcmp(*changeChoice, AlterBrightness::getDecrease()) == 0)
{
AlterBrightness::decreaseBrightness();
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
s << AlterBrightness::getCurrentBrightness();
}
else if (strcmp(*changeChoice, AlterBrightness::getPercent()) == 0)
{
std::cout << "Percentage" << std::endl;
setBrightnessByPercentage();
std::cout << percentageBrightness / 100 << std::endl;
s << currentBrightness;
}
else
{
std::cout << "Neither increase or decrease" << std::endl;
}
s.close();
}
void AlterBrightness::increaseBrightness()
{
if (AlterBrightness::getCurrentBrightness() + AlterBrightness::getIncrement() < AlterBrightness::getMaxBrightness())
{
currentBrightness = AlterBrightness::getCurrentBrightness() + AlterBrightness::getIncrement();
}
else
currentBrightness = AlterBrightness::getMaxBrightness();
}
void AlterBrightness::decreaseBrightness()
{
if (AlterBrightness::getCurrentBrightness() - AlterBrightness::getDecrement() > 0)
{
currentBrightness = AlterBrightness::getCurrentBrightness() - AlterBrightness::getDecrement();
}
else
currentBrightness = 1;
}
void AlterBrightness::setBrightnessByPercentage()
{
if (AlterBrightness::getPercentageBrightness() < 0 || AlterBrightness::getPercentageBrightness() > 100)
{
std::cout << "Has to be between 0 and 100" <<std::endl;
}
else
{
currentBrightness = (maxBrightness * (percentageBrightness/ 100));
std::cout << currentBrightness << std::endl;
}
}
unsigned AlterBrightness::getIncrement() const
{
return increment;
}
unsigned AlterBrightness::getDecrement() const
{
return decrement;
}
unsigned AlterBrightness::getCurrentBrightness() const
{
return currentBrightness;
}
unsigned AlterBrightness::getMaxBrightness() const
{
return maxBrightness;
}
float AlterBrightness::getPercentageBrightness() const
{
return percentageBrightness;
}
char* AlterBrightness::getIncrease()
{
return increase;
}
char* AlterBrightness::getDecrease()
{
return decrease;
}
char* AlterBrightness::getPercent()
{
return percent;
}