void Tooltip::clearLines() { hide(); _lines.clear(); redoLines(true); }
void Tooltip::show() { if (_visible || _empty) return; redoLines(); uint32 delay = ConfigMan.getInt("tooltipdelay", 100); if (delay == 0) doShow(0); else TimerMan.addTimer(delay, _timer, boost::bind(&Tooltip::doShow, this, _1)); _visible = true; }
void Tooltip::show(uint32 delay, uint32 timeOut) { if (_visible || _empty) return; redoLines(); _visible = true; if (delay == 0) doShow(0); if (delay != 0) TimerMan.addTimer(delay , _timerShow, boost::bind(&Tooltip::doShow, this, _1)); if (timeOut != 0) TimerMan.addTimer(delay + timeOut, _timerHide, boost::bind(&Tooltip::doHide, this, _1)); }
void Tooltip::addLine(const Common::UString &text, float r, float g, float b, float a) { hide(); if (text.empty()) return; std::vector<Common::UString> lines; Common::UString::split(text, '\n', lines); for (std::vector<Common::UString>::const_iterator l = lines.begin(); l != lines.end(); ++l) { _lines.push_back(Line()); _lines.back().r = r; _lines.back().g = g; _lines.back().b = b; _lines.back().a = a; _lines.back().line = *l; } redoLines(true); }