Please could it be possible for EnhTooltip.TooltipCall() to be modified so that others addons can ask it to skip rendering of any embedded text?
This would allow an addon to safely re-attach the EnhancedTooltip to its own tooltip, if it has become attached to another tooltip (e.g. GameTooltip). Although an addon can currenty avoid multiple embeds by wiping and redrawing its own tooltip each time it calls TooltipCall, I feel that this is a rather brute force and inelegant way of doing things!
I note that EnhTooltip.ShowTooltip() already has a skipEmbedRender parameter, so it may be as simple as taking a new parameter to TooltipCall and passing it on...?
I understand the specifics, that you have given, but could you please give me a bigger picture. What are you doing with the EnhTooltip? What is your usage scenario?
In my case, the AddOn is LinkWrangler (though I think this feature could help any other AddOn which maintains 1 or more tooltips on screen until closed by the user).
The main scenario is: where multiple LinkWrangler tooltips are opened on screen, the EnhancedTooltip is initially attached to the most recently opened. However, when the user moves the mouse over another tooltip, EnhancedTooltip is moved to that tooltip.
As mentioned above, this is currently handled by clearing and completely redrawing the tooltip during the OnEnter event. Although I've coded to try to reduce how often this happens, it still feels excessive to me.
A similar scenario is where the EnhancedTooltip gets grabbed by GameTooltip, though the mouseover mechanism handles this case just the same. An idea: ItemRefTooltip can lose EnhancedTooltip to GameTooltip as well - perhaps a feature could be added to reattach EnhancedTooltip to ItemRefTooltip on mouseover? Though that's a separate issue.