Im trying to create a minimap, in which you can hover over a unit on the map with your mouse to produce a tooltip.
I need the tooltip to be at the position of the widget representing the unit on the minimap.
I tried placing the tooltip on the same canvas of the widget representing the unit on the minimap, but the tooltip needs to be big and is clipped by the bounds of the minimap’s canvas.
So I then tried placing the tooltip on the parent canvas since it encompasses the entire screen.
But now I need to get it to match the position of the widget representing the unit on the minimap’s canvas.
Any help or even just clues would be greatly appreciated.
See Edit2, of Post #3.
Try Child Widget → as canvas slot (node) - this will give you the position of the child in the canvas.
Ive been trying “widget representing the unit on the minimap” -> Slot as Canvas Slot.
But it was returning None for the Canvas Slot…
When you say “Try Child Widget” are you refering to my “widget representing the unit on the minimap”, or do you mean to create a new widget as a child of “widget representing the unit on the minimap”?
Ok I got it to return a canvas panel.
Apparently you cant get a canvas panel if there is a Scale Box between the Widget your calling Slot as Canvas Slot from and the actual canvas it is on.
So I just called Slot as Canvas Slot on the Scal Box and it returned the canvas slot.
But now the Position it returns is 0,0.
I used the Tick of the “widget representing the unit on the minimap” to get the geometry and used that call a Local To Viewport Node and set a Vector2D to the resulting Pixel Position.
That Pixel position gave me an accurate Viewport Position of the Widget I can then use to position any other widget on any other canvas that needs to match that position.
By child widget I meant anything that is directly sitting on the canvas - in your case that’d be the size box, you’re right.
Here’s what I mean - one button returning position of another button, since you cannot just do button –> get position in canvas:
One note, as default this returns the position of upper left corner of the widget.
Ive solved my issue. To see the solution please see the above Edit2.
Sorry, I was in a rush to clean my implementation. I meant to also thank you.
I appreciated the help.