public boolean containsPoint(int x, int y) {
        if (up) {
            if (y < fY[0] || y > fY[1])
                return false;
            if (x > fX[1] || x < fX[2])
                return false;
        } else {
            if (y > fY[0] || y < fY[1])
                return false;
            if (x < fX[1] || x > fX[2])
                return false;
        }
        return true;
        //TODO fix?
    }