How can I get a widgets position?

Can someone please help me, ive literally been trying to solve this for a month now. There is no help online. and before anyone says to just use the get paint space geometry with 0,0 in local space position to viewport, that ONLY works while the widget is in the view ports bounds, when it gets moved off screen its position it reports back freezes in place where it was last onscreen. And i cant use the basic get position or local position because the widget is nested in hundreds of other widgets spaning much larger than the whole screens size, which is why its necessary to move all the widgets in a custom drag to scroll setup i have going, heres a picture if its hard to understand what im saying

the white lines are being drawn in the “on paint” overide and are drawing to the position of 2 widgets that where pushed off screen while adding widgets to the internal structure of my hierarchy. Instead of detecting they are off screen and stopping rendering or rendering at their desired locations they are rendering as if the widgets are still onscreen and motionless. Even when i scroll around all the widgets move because their parent moves but the lines stay still unless their widgets are onscreen at which point they draw connected to them and move around with them until they leave screen again.