crystalwindow 5.8__tar.gz → 5.9__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 (53) hide show
  1. {crystalwindow-5.8/crystalwindow.egg-info → crystalwindow-5.9}/PKG-INFO +1 -1
  2. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/sprites.py +4 -0
  3. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/window.py +31 -6
  4. {crystalwindow-5.8 → crystalwindow-5.9/crystalwindow.egg-info}/PKG-INFO +1 -1
  5. {crystalwindow-5.8 → crystalwindow-5.9}/setup.py +1 -1
  6. {crystalwindow-5.8 → crystalwindow-5.9}/LICENSE +0 -0
  7. {crystalwindow-5.8 → crystalwindow-5.9}/MANIFEST.in +0 -0
  8. {crystalwindow-5.8 → crystalwindow-5.9}/README.md +0 -0
  9. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/FileHelper.py +0 -0
  10. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/Fonts.py +0 -0
  11. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/Icons/default_icon.png +0 -0
  12. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/Icons/file_icons.png +0 -0
  13. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/System.py +0 -0
  14. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/__init__.py +0 -0
  15. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/ai.py +0 -0
  16. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/animation.py +0 -0
  17. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/apphelper.py +0 -0
  18. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/assets.py +0 -0
  19. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/camera.py +0 -0
  20. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/chatvpn.py +0 -0
  21. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/clock.py +0 -0
  22. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/collision.py +0 -0
  23. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/color_handler.py +0 -0
  24. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/crystal3d.py +0 -0
  25. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/draw_helpers.py +0 -0
  26. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/draw_rects.py +0 -0
  27. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/draw_text_helper.py +0 -0
  28. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/draw_tool.py +0 -0
  29. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/fun_helpers.py +0 -0
  30. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/3dsquare.py +0 -0
  31. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/__init__.py +0 -0
  32. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/__main__.py +0 -0
  33. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/gravitytest.py +0 -0
  34. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/guitesting.py +0 -0
  35. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/sandbox.py +0 -0
  36. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/squaremove.py +0 -0
  37. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/testtttagain.py +0 -0
  38. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gametests/windowtesting.py +0 -0
  39. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gravity.py +0 -0
  40. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gui.py +0 -0
  41. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/gui_ext.py +0 -0
  42. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/math.py +0 -0
  43. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/messagebus.py +0 -0
  44. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/objects.py +0 -0
  45. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/scores.py +0 -0
  46. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/tilemap.py +0 -0
  47. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/ver_warner.py +0 -0
  48. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow/websearch.py +0 -0
  49. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow.egg-info/SOURCES.txt +0 -0
  50. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow.egg-info/dependency_links.txt +0 -0
  51. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow.egg-info/requires.txt +0 -0
  52. {crystalwindow-5.8 → crystalwindow-5.9}/crystalwindow.egg-info/top_level.txt +0 -0
  53. {crystalwindow-5.8 → crystalwindow-5.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crystalwindow
3
- Version: 5.8
3
+ Version: 5.9
4
4
  Summary: A Tkinter powered window + GUI toolkit made by Crystal (ME)! Easier apps, smoother UI and all-in-one helpers!, Gui, Buttons, FileHelper, Sprites, Animations, Colors, Math, Gravity, Camera, 3D and more!
5
5
  Home-page: https://pypi.org/project/crystalwindow/
6
6
  Author: CrystalBallyHereXD
@@ -72,6 +72,10 @@ class Sprite:
72
72
  """Create sprite using a simple rectangle"""
73
73
  return cls(pos, size=(w, h), color=color)
74
74
 
75
+ @classmethod
76
+ def group(cls, *sprites):
77
+ """Create a list of sprites"""
78
+ return list(sprites)
75
79
 
76
80
  # === MOVE / DRAW ===
77
81
  def draw(self, win, cam=None):
@@ -218,6 +218,14 @@ class Window:
218
218
 
219
219
  return False
220
220
 
221
+ def keys_combined(self, *keys):
222
+ for key in keys:
223
+ if isinstance(key, str):
224
+ key = self.KEY_MAP.get(key, key)
225
+ if not self.keys.get(key, False):
226
+ return False
227
+ return True
228
+
221
229
  def key_held(self, key):
222
230
  if isinstance(key, str):
223
231
  key = self.KEY_MAP.get(key, key)
@@ -533,6 +541,14 @@ class Window:
533
541
  bold = kwargs.pop("bold", False)
534
542
  italic = kwargs.pop("italic", False)
535
543
 
544
+ pil_font = None
545
+
546
+ if hasattr(font, "font"):
547
+ pil_font = font.font
548
+ font_name = font.font_name
549
+ else:
550
+ font_name = font
551
+
536
552
  # scale
537
553
  scaled_size = size
538
554
 
@@ -549,9 +565,9 @@ class Window:
549
565
 
550
566
  # tkinter font tuple
551
567
  if style:
552
- font_tuple = (font, scaled_size, style)
568
+ font_tuple = (font_name, scaled_size, style)
553
569
  else:
554
- font_tuple = (font, scaled_size)
570
+ font_tuple = (font_name, scaled_size)
555
571
 
556
572
  # ---------------- NORMAL COLOR TEXT ----------------
557
573
  if mode != "texture":
@@ -579,10 +595,19 @@ class Window:
579
595
  from PIL import Image, ImageDraw, ImageFont, ImageTk
580
596
 
581
597
  # try load font with style
582
- try:
583
- fnt = ImageFont.truetype(font + ".ttf", scaled_size)
584
- except:
585
- fnt = ImageFont.load_default()
598
+ # choose correct PIL font
599
+ if pil_font and hasattr(font, "font_path") and font.font_path:
600
+ try:
601
+ fnt = ImageFont.truetype(font.font_path, scaled_size)
602
+ except:
603
+ fnt = ImageFont.load_default()
604
+ elif pil_font:
605
+ fnt = pil_font
606
+ else:
607
+ try:
608
+ fnt = ImageFont.truetype(font_name + ".ttf", scaled_size)
609
+ except:
610
+ fnt = ImageFont.load_default()
586
611
 
587
612
  # measure text
588
613
  temp = Image.new("L", (1, 1), 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crystalwindow
3
- Version: 5.8
3
+ Version: 5.9
4
4
  Summary: A Tkinter powered window + GUI toolkit made by Crystal (ME)! Easier apps, smoother UI and all-in-one helpers!, Gui, Buttons, FileHelper, Sprites, Animations, Colors, Math, Gravity, Camera, 3D and more!
5
5
  Home-page: https://pypi.org/project/crystalwindow/
6
6
  Author: CrystalBallyHereXD
@@ -7,7 +7,7 @@ with open("README.md", encoding="utf-8") as f:
7
7
 
8
8
  setup(
9
9
  name="crystalwindow",
10
- version="5.8", # Force metadata refresh
10
+ version="5.9", # Force metadata refresh
11
11
  packages=find_packages(include=["crystalwindow", "crystalwindow.*"]),
12
12
 
13
13
  include_package_data=True, # include package_data files
File without changes
File without changes
File without changes
File without changes