Move by moves the widget by a relative amount to its current position. Move to 10,10 moves it 10,10 on the page. Move by 10,10 moves it 10 pixels down and 10 pixels to the right from its current position.
Move by -20,10 moves it 20 pixels up and 10 pixels to the right from its current position.
If the cursor is left of the anchor the difference will be negative so negating it will give you a positive value moving the widget to the right.
I see what you’re saying though, and you’re right if we’re using cursor coordinates. What we really should be using then is the dragX and dragY variables which can be negative and are relative to the position of the mouse when the drag began.
If you’re not using a drag event then you’ll need to manually save those variables at the point of interaction in global variables and then use the difference of those variables and the corresponding cursor variable.
EDIT: on reflection I think this is what you meant by anchor point. In that case instead of cursor.x you need to use the difference.
[[-(cursor.x - anchorX) / 2]]
See if that that works. Either use a variable for the anchor or just hardcode a value.
If the cursor is to the left of the anchor the difference will be negative so negating it will move the widget to the right, opposite the cursor relative to the anchor.