Tornar uma tela infinita

Atualmente, estou usando uma tela na qual desenhei algumas áreas de interesse. Eles consistem em quadrados e podem ser movidos com um clique do mouse (ou seja: uma área selecionada será centralizada na posição do cursor toda vez que eu clicar na tela).

Meu problema atual é que eu gostaria de adicionar o seguinte recurso: Quando clico próximo à borda da tela (esquerda ou direita),se uma parte do quadrado estiver fora da tela, Quero que essa parte fora da tela apareça no edfe oposto.

Exemplo: Se eu clicar perto da borda direita da tela, a parte oculta deverá aparecer à esquerda.

Para ser sincero, não tenho idéia de como fazer isso corretamente. Parece-me que requer uma solução realmente pesada (com muitos loops).

Sua ajuda seria muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion