code: @Override
      public void update(double extrp)
      {
          if (pointer != null)
          {
              if (sync)
              {
                  screenX = pointer.getX();
                  screenY = pointer.getY();
              }
              else
              {
                  screenX += pointer.getMoveX() * sensibilityHorizontal * extrp;
                  screenY += pointer.getMoveY() * sensibilityVertical * extrp;
              }
          }
          if (viewer != null)
          {
              offX = (int) viewer.getX();
              offY = (int) viewer.getY() - viewer.getViewY();
          }
  
          screenX = UtilMath.clamp(screenX, minX, maxX);
          screenY = UtilMath.clamp(screenY, minY, maxY);
          x = screenX + offX;
          if (viewer != null)
          {
              y = viewer.getHeight() - screenY + offY;
          }
          else
          {
              y = screenY + offY;
          }
          renderer.update(screenX, screenY);
      }
docs: /*
  Updatable