mirror of
https://github.com/quantum5/win2xcur.git
synced 2025-04-24 10:11:57 -04:00
39 lines
1 KiB
Python
39 lines
1 KiB
Python
from typing import Iterator, List, Tuple
|
|
|
|
from wand.sequence import SingleImage
|
|
|
|
|
|
class CursorImage:
|
|
image: SingleImage
|
|
hotspot: Tuple[int, int]
|
|
nominal: int
|
|
|
|
def __init__(self, image: SingleImage, hotspot: Tuple[int, int], nominal: int) -> None:
|
|
self.image = image
|
|
self.hotspot = hotspot
|
|
self.nominal = nominal
|
|
|
|
def __repr__(self) -> str:
|
|
return f'CursorImage(image={self.image!r}, hotspot={self.hotspot!r}, nominal={self.nominal!r})'
|
|
|
|
|
|
class CursorFrame:
|
|
images: List[CursorImage]
|
|
delay: int
|
|
|
|
def __init__(self, images: List[CursorImage], delay: int = 0) -> None:
|
|
self.images = images
|
|
self.delay = delay
|
|
|
|
def __getitem__(self, item: int) -> CursorImage:
|
|
return self.images[item]
|
|
|
|
def __len__(self) -> int:
|
|
return len(self.images)
|
|
|
|
def __iter__(self) -> Iterator[CursorImage]:
|
|
return iter(self.images)
|
|
|
|
def __repr__(self) -> str:
|
|
return f'CursorFrame(images={self.images!r}, delay={self.delay!r})'
|