示例#1
0
void Tooltip::clearLines() {
	hide();

	_lines.clear();

	redoLines(true);
}
示例#2
0
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;
}
示例#3
0
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));
}
示例#4
0
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);
}