1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
/*
* osd.cpp
*
* Created on: 26/03/2015
* Author: raster
*/
#include "osd.hh"
class OSD *osd;
OSD::OSD() {
this->time = 0;
this->lines = 0;
this->text = "";
}
void OSD::set_message(string text, uint32_t ms) {
this->text = text;
this->lines = 1;
for(int loop=0;loop< text.length(); loop++) {
if (text[loop] == '\n') {
this->lines++;
}
}
this->time = ms/20; // set it to number of frames
}
uint32_t OSD::get_time() {
if (this->time > 0) {
this->time--;
}
return (this->time);
}
string OSD::get_text(uint8_t &lines) {
lines = this->lines;
return this->text;
}
void OSD::clear_message() {
this->time = 0;
}
|