1 /**
2  * Copyright 2010 JogAmp Community. All rights reserved.
3  * Copyright (c) 2010 JogAmp Community. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without modification, are
6  * permitted provided that the following conditions are met:
7  *
8  *    1. Redistributions of source code must retain the above copyright notice, this list of
9  *       conditions and the following disclaimer.
10  *
11  *    2. Redistributions in binary form must reproduce the above copyright notice, this list
12  *       of conditions and the following disclaimer in the documentation and/or other materials
13  *       provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
16  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
17  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
23  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  *
25  * The views and conclusions contained in the software and documentation are those of the
26  * authors and should not be interpreted as representing official policies, either expressed
27  * or implied, of JogAmp Community.
28  */
29 
30 package com.jogamp.nativewindow.util;
31 
32 import com.jogamp.common.type.WriteCloneable;
33 
34 /** Immutable Point interface */
35 public interface PointImmutable extends WriteCloneable, Comparable<PointImmutable> {
36 
getX()37     int getX();
38 
getY()39     int getY();
40 
41     /**
42      * <p>
43      * Compares the square of the position.
44      * </p>
45      * {@inheritDoc}
46      */
47     @Override
compareTo(final PointImmutable d)48     public int compareTo(final PointImmutable d);
49 
50     /**
51      * Checks whether two points objects are equal. Two instances
52      * of <code>PointReadOnly</code> are equal if the two components
53      * <code>y</code> and <code>x</code> are equal.
54      * @return <code>true</code> if the two points are equal;
55      *         otherwise <code>false</code>.
56      */
57     @Override
equals(Object obj)58     public boolean equals(Object obj);
59 
60     @Override
hashCode()61     public int hashCode();
62 
63 }
64