Files
imgui-java/imgui-binding/src/main/java/imgui/ImVec2.java
T
2022-12-19 11:30:51 +02:00

94 lines
1.9 KiB
Java

package imgui;
import java.util.Objects;
/**
* 2D vector (often used to store positions or sizes).
*/
public final class ImVec2 implements Cloneable {
public float x;
public float y;
public ImVec2() {
}
public ImVec2(final float x, final float y) {
set(x, y);
}
public ImVec2(final ImVec2 value) {
this(value.x, value.y);
}
public ImVec2 set(final float x, final float y) {
this.x = x;
this.y = y;
return this;
}
public ImVec2 set(final ImVec2 value) {
return set(value.x, value.y);
}
public ImVec2 plus(final float x, final float y) {
this.x += x;
this.y += y;
return this;
}
public ImVec2 plus(final ImVec2 value) {
return plus(value.x, value.y);
}
public ImVec2 minus(final float x, final float y) {
this.x -= x;
this.y -= y;
return this;
}
public ImVec2 minus(final ImVec2 value) {
return minus(value.x, value.y);
}
public ImVec2 times(final float x, final float y) {
this.x *= x;
this.y *= y;
return this;
}
public ImVec2 times(final ImVec2 value) {
return times(value.x, value.y);
}
@Override
public String toString() {
return "ImVec2{"
+ "x=" + x
+ ", y=" + y
+ '}';
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
final ImVec2 imVec2 = (ImVec2) o;
return Float.compare(imVec2.x, x) == 0 && Float.compare(imVec2.y, y) == 0;
}
@Override
public int hashCode() {
return Objects.hash(x, y);
}
@Override
@SuppressWarnings("MethodDoesntCallSuperMethod")
public ImVec2 clone() {
return new ImVec2(this);
}
}