valetudo-map-parser 0.1.9b47__tar.gz → 0.1.9b49__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.
Files changed (28) hide show
  1. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/PKG-INFO +1 -1
  2. valetudo_map_parser-0.1.9b49/SCR/valetudo_map_parser/config/color_utils.py +51 -0
  3. valetudo_map_parser-0.1.9b49/SCR/valetudo_map_parser/config/drawable.py +892 -0
  4. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/pyproject.toml +1 -1
  5. valetudo_map_parser-0.1.9b47/SCR/valetudo_map_parser/config/drawable.py +0 -656
  6. valetudo_map_parser-0.1.9b47/SCR/valetudo_map_parser/utils/__init__.py +0 -5
  7. valetudo_map_parser-0.1.9b47/SCR/valetudo_map_parser/utils/color_utils.py +0 -62
  8. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/LICENSE +0 -0
  9. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/NOTICE.txt +0 -0
  10. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/README.md +0 -0
  11. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/__init__.py +0 -0
  12. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/__init__.py +0 -0
  13. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/auto_crop.py +0 -0
  14. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/colors.py +0 -0
  15. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/drawable_elements.py +0 -0
  16. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/enhanced_drawable.py +0 -0
  17. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/optimized_element_map.py +0 -0
  18. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/rand25_parser.py +0 -0
  19. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/room_outline.py +0 -0
  20. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/shared.py +0 -0
  21. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/types.py +0 -0
  22. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/config/utils.py +0 -0
  23. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/hypfer_draw.py +0 -0
  24. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/hypfer_handler.py +0 -0
  25. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/map_data.py +0 -0
  26. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/py.typed +0 -0
  27. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/rand25_handler.py +0 -0
  28. {valetudo_map_parser-0.1.9b47 → valetudo_map_parser-0.1.9b49}/SCR/valetudo_map_parser/reimg_draw.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: valetudo-map-parser
3
- Version: 0.1.9b47
3
+ Version: 0.1.9b49
4
4
  Summary: A Python library to parse Valetudo map data returning a PIL Image object.
5
5
  License: Apache-2.0
6
6
  Author: Sandro Cantarella
@@ -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