Beispiel #1
0
  private boolean isClickValid(float x, float y) {
    float currentAngle = MixUtils.getAngle(cMarker.x, cMarker.y, signMarker.x, signMarker.y);
    // if the marker is not active (i.e. not shown in AR view) we don't have to check it for clicks
    if (!isActive()) return false;

    // TODO adapt the following to the variable radius!
    pPt.x = x - signMarker.x;
    pPt.y = y - signMarker.y;
    pPt.rotate(Math.toRadians(-(currentAngle + 90)));
    pPt.x += txtLab.getX();
    pPt.y += txtLab.getY();

    float objX = txtLab.getX() - txtLab.getWidth() / 2;
    float objY = txtLab.getY() - txtLab.getHeight() / 2;
    float objW = txtLab.getWidth();
    float objH = txtLab.getHeight();

    if (pPt.x > objX && pPt.x < objX + objW && pPt.y > objY && pPt.y < objY + objH) {
      return true;
    } else {
      return false;
    }
  }