Display SSD1306 for ESP32
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

70 lines
1.7 KiB

class Modifier{ //ContentType (2)
private:
String title; //Title of the modifier
int *value; //Pointer to the value to modify
int max; //Highest value to set
int min; //Lowest value to set
int step; //Size of the step
int previousScreen = 0;
int previousContentType = 0;
public:
void configure(String title, int *value, int max, int min, int step){
this->title = title;
this->value = value;
this->max = max;
this->min = min;
this->step = step;
}
void drawModifier(){ //Draws or redraws the screen
display.clearDisplay();
display.fillRect(0, 0, 127 , 16, SSD1306_WHITE);
display.setTextColor(SSD1306_BLACK, SSD1306_WHITE);
display.setTextSize(1);
display.setCursor(2, 4);
display.println(this->title);
display.setTextColor(SSD1306_WHITE);
display.setTextSize(3);
display.setCursor(2, ((DISP_HEIGHT - 16 - 15)/2) + 16);
display.println(*this->value);
display.display();
display.setTextSize(1);
}
void increaseValue(){ //Increases the value of the variable
if((*this->value + this->step) <= this->max){
*this->value += this->step;
}
}
void decreaseValue(){ //Decreases the value of the variable
if((*this->value - this->step) >= this->min){
*this->value -= this->step;
}
}
void setPreviousScreen(int prev){
this->previousScreen = prev;
}
void setPreviousContentType(int prev){
this->previousContentType = prev;
}
int getPreviousScreen(){
int prev = this->previousScreen;
return prev;
}
int getPreviousContentType(){
int prev = this->previousContentType;
return prev;
}
};