valetudo-map-parser 0.1.9b46__tar.gz → 0.1.9b48__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/PKG-INFO +1 -1
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/__init__.py +2 -2
- valetudo_map_parser-0.1.9b48/SCR/valetudo_map_parser/config/color_utils.py +51 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/colors.py +1 -1
- valetudo_map_parser-0.1.9b48/SCR/valetudo_map_parser/config/drawable.py +892 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/pyproject.toml +1 -1
- valetudo_map_parser-0.1.9b46/SCR/valetudo_map_parser/config/drawable.py +0 -656
- valetudo_map_parser-0.1.9b46/SCR/valetudo_map_parser/utils/color_utils.py +0 -62
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/LICENSE +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/NOTICE.txt +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/README.md +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/__init__.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/auto_crop.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/drawable_elements.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/enhanced_drawable.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/optimized_element_map.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/rand25_parser.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/room_outline.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/shared.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/types.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/config/utils.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/hypfer_draw.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/hypfer_handler.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/map_data.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/py.typed +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/rand25_handler.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/reimg_draw.py +0 -0
- {valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/utils/__init__.py +0 -0
{valetudo_map_parser-0.1.9b46 → valetudo_map_parser-0.1.9b48}/SCR/valetudo_map_parser/__init__.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
"""Valetudo map parser.
|
2
2
|
Version: 0.1.9"""
|
3
3
|
|
4
|
-
from .config.colors import
|
4
|
+
from .config.colors import ColorsManagement
|
5
5
|
from .config.drawable import Drawable
|
6
6
|
from .config.drawable_elements import DrawableElement, DrawingConfig
|
7
7
|
from .config.enhanced_drawable import EnhancedDrawable
|
@@ -25,7 +25,7 @@ __all__ = [
|
|
25
25
|
"RRMapParser",
|
26
26
|
"CameraShared",
|
27
27
|
"CameraSharedManager",
|
28
|
-
"
|
28
|
+
"ColorsManagement",
|
29
29
|
"Drawable",
|
30
30
|
"DrawableElement",
|
31
31
|
"DrawingConfig",
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"""Utility functions for color operations in the map parser."""
|
2
|
+
|
3
|
+
from typing import Tuple, Optional
|
4
|
+
|
5
|
+
from SCR.valetudo_map_parser.config.colors import ColorsManagement
|
6
|
+
from SCR.valetudo_map_parser.config.types import NumpyArray, Color
|
7
|
+
|
8
|
+
|
9
|
+
def get_blended_color(
|
10
|
+
x0: int,
|
11
|
+
y0: int,
|
12
|
+
x1: int,
|
13
|
+
y1: int,
|
14
|
+
arr: Optional[NumpyArray],
|
15
|
+
color: Color,
|
16
|
+
) -> Color:
|
17
|
+
"""
|
18
|
+
Get a blended color for a pixel based on the current element map and the new element to draw.
|
19
|
+
|
20
|
+
This function:
|
21
|
+
1. Gets the current element at position (x,y) from the element map
|
22
|
+
2. Gets the color for that element from the colors manager
|
23
|
+
3. Blends the new color with the existing color based on alpha values
|
24
|
+
|
25
|
+
Returns:
|
26
|
+
Blended RGBA color to use for drawing
|
27
|
+
"""
|
28
|
+
# Sample background color at the endpoints and blend with foreground color
|
29
|
+
# This is more efficient than sampling at every pixel
|
30
|
+
if 0 <= y0 < arr.shape[0] and 0 <= x0 < arr.shape[1]:
|
31
|
+
start_blended_color = ColorsManagement.sample_and_blend_color(
|
32
|
+
arr, x0, y0, color
|
33
|
+
)
|
34
|
+
else:
|
35
|
+
start_blended_color = color
|
36
|
+
|
37
|
+
if 0 <= y1 < arr.shape[0] and 0 <= x1 < arr.shape[1]:
|
38
|
+
end_blended_color = ColorsManagement.sample_and_blend_color(
|
39
|
+
arr, x1, y1, color
|
40
|
+
)
|
41
|
+
else:
|
42
|
+
end_blended_color = color
|
43
|
+
|
44
|
+
# Use the average of the two blended colors
|
45
|
+
blended_color = (
|
46
|
+
(start_blended_color[0] + end_blended_color[0]) // 2,
|
47
|
+
(start_blended_color[1] + end_blended_color[1]) // 2,
|
48
|
+
(start_blended_color[2] + end_blended_color[2]) // 2,
|
49
|
+
(start_blended_color[3] + end_blended_color[3]) // 2,
|
50
|
+
)
|
51
|
+
return blended_color
|
@@ -456,7 +456,7 @@ class ColorsManagement:
|
|
456
456
|
out_g = max(0, min(255, out_g))
|
457
457
|
out_b = max(0, min(255, out_b))
|
458
458
|
|
459
|
-
return
|
459
|
+
return [out_r, out_g, out_b, out_a]
|
460
460
|
|
461
461
|
@staticmethod
|
462
462
|
def sample_and_blend_color(array, x: int, y: int, foreground: Color) -> Color:
|