nextrpg.geometry.dimension
1from dataclasses import dataclass 2from typing import Self 3 4type Pixel = int | float 5type PixelPerMillisecond = int | float 6type ValueScaling = int | float 7type Percentage = float 8 9 10@dataclass(frozen=True) 11class Dimension: 12 value: Pixel 13 14 def __lt__(self, other: Self) -> bool: 15 return self.value < other.value 16 17 def __le__(self, other: Self) -> bool: 18 return self.value <= other.value 19 20 def __neg__(self) -> Self: 21 return type(self)(-self.value) 22 23 def __add__(self, other: Self) -> Self: 24 return type(self)(self.value + other.value) 25 26 def __sub__(self, other: Self) -> Self: 27 return self + -other 28 29 def __mul__(self, other: ValueScaling) -> Self: 30 return type(self)(self.value * other) 31 32 def __rmul__(self, other: ValueScaling) -> Self: 33 return self * other 34 35 def __truediv__(self, other: ValueScaling) -> Self: 36 return self * (1.0 / other) 37 38 def __rtruediv__(self, other: ValueScaling) -> Self: 39 return other * (1.0 / self)
type Pixel =
int | float
type PixelPerMillisecond =
int | float
type ValueScaling =
int | float
type Percentage =
float
@dataclass(frozen=True)
class
Dimension:
11@dataclass(frozen=True) 12class Dimension: 13 value: Pixel 14 15 def __lt__(self, other: Self) -> bool: 16 return self.value < other.value 17 18 def __le__(self, other: Self) -> bool: 19 return self.value <= other.value 20 21 def __neg__(self) -> Self: 22 return type(self)(-self.value) 23 24 def __add__(self, other: Self) -> Self: 25 return type(self)(self.value + other.value) 26 27 def __sub__(self, other: Self) -> Self: 28 return self + -other 29 30 def __mul__(self, other: ValueScaling) -> Self: 31 return type(self)(self.value * other) 32 33 def __rmul__(self, other: ValueScaling) -> Self: 34 return self * other 35 36 def __truediv__(self, other: ValueScaling) -> Self: 37 return self * (1.0 / other) 38 39 def __rtruediv__(self, other: ValueScaling) -> Self: 40 return other * (1.0 / self)
value: Pixel