+
+
+void start_show_timeout()
+{
+ if (g_tooltip.timeout)
+ change_timeout(g_tooltip.timeout, g_tooltip.show_timeout_msec, 0, tooltip_show, 0);
+ else
+ g_tooltip.timeout = add_timeout(g_tooltip.show_timeout_msec, 0, tooltip_show, 0);
+}
+
+
+void start_hide_timeout()
+{
+ if (g_tooltip.timeout)
+ change_timeout(g_tooltip.timeout, g_tooltip.hide_timeout_msec, 0, tooltip_hide, 0);
+ else
+ g_tooltip.timeout = add_timeout(g_tooltip.hide_timeout_msec, 0, tooltip_hide, 0);
+}
+
+
+void stop_tooltip_timeout()
+{
+ if (g_tooltip.timeout) {
+ stop_timeout(g_tooltip.timeout);
+ g_tooltip.timeout = 0;
+ }
+}
+
+
+void tooltip_copy_text(Area* area)
+{
+ free(g_tooltip.tooltip_text);
+ if (area && area->_get_tooltip_text)
+ g_tooltip.tooltip_text = strdup(area->_get_tooltip_text(area));
+ else
+ g_tooltip.tooltip_text = 0;
+ g_tooltip.area = area;
+}