Ok, im kinda "hack and try" guy, of course i did a little bit of thinking and as result i got it almost working for X1 and X2.
If all of the X1..X2 will work then its just copy paste for Y1..Y2 with few variable name changes. At least i hope so.

But its late and im tired, my head hurts. Have to rest..


But atm it works for every side, except if you negative select (from right to left) and move either up or down, then the right side is not "limited". All selector blocks just disappear without going away block by block like with other sides.

But i know what piece of code is responsible for that, i will take a break, come back and try again.
I already did so much today.

And i cant get past of the selector blocks either, i want to make them working before moving on.
Because all of the (ok 99% or so) map editing depends on them.
Selector blocks must be pickable also by mouse, i tried this already and it seems to work (again credit goes to User137 and his excellent nxPascal), but i decided to first limit the rendering of the selector blocks.