Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- core::rect<s32> rect = spec.rect;
- if (rect.isPointInside(m_pointer))
- {
- m_tooltip_element->setVisible(true);
- this->bringToFront(m_tooltip_element);
- m_tooltip_element->setText(narrow_to_wide(spec.tooltip).c_str());
- s32 tooltip_x = m_pointer.X + 15;
- s32 tooltip_y = m_pointer.Y + 15;
- s32 tooltip_width = m_tooltip_element->getTextWidth() + 15;
- if (tooltip_x + tooltip_width > (s32)screenSize.X)
- tooltip_x = (s32)screenSize.X - tooltip_width - 15;
- int lines_count = 1;
- size_t i = 0;
- while ((i = spec.tooltip.find("\n", i)) != std::string::npos) {
- lines_count++;
- i += 2;
- }
- s32 tooltip_height = m_tooltip_element->getTextHeight() * lines_count + 5;
- m_tooltip_element->setRelativePosition(core::rect<s32>(
- core::position2d<s32>(tooltip_x, tooltip_y),
- core::dimension2d<s32>(tooltip_width, tooltip_height)));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement