crystalwindow 5.8__py3-none-any.whl → 5.9__py3-none-any.whl

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.
crystalwindow/sprites.py CHANGED
@@ -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):
crystalwindow/window.py CHANGED
@@ -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
@@ -24,11 +24,11 @@ crystalwindow/math.py,sha256=AGhLGkPWozNOMlSieF5u8jSDY0qakOPJIi5aWI9P91o,1598
24
24
  crystalwindow/messagebus.py,sha256=9K2P_TkdQ1rt-oouIkRg_XHwMTwykttBt-9gFYaItyI,696
25
25
  crystalwindow/objects.py,sha256=BWqjlxOXpaCGeaAocFL5L9Qh-a_MRjbN6Qb-Vd7R0K8,6262
26
26
  crystalwindow/scores.py,sha256=O5E-rceNEaRpsC3XZ2PpE5gsLvJk86f4ChA5UNdd4b0,1069
27
- crystalwindow/sprites.py,sha256=IADCQetFDQoat3qGpKkH93TdtqqgldfHl4N0HKX1Ajc,7480
27
+ crystalwindow/sprites.py,sha256=REkKkKi1oDQBjnjM7fX-49_zsJmTlwpDpoX8PlTohtQ,7599
28
28
  crystalwindow/tilemap.py,sha256=endJ8KcbP9EjPvL9qWsOpV4jc_Re1yH080aUyDkwufA,3378
29
29
  crystalwindow/ver_warner.py,sha256=qEN3ulc1NixBy15FFx2R3Zu0DhyJTVJwiESGAPwpynM,3373
30
30
  crystalwindow/websearch.py,sha256=IgsoKt27yCBHeq8yFVfSq_8sEj5KP6mqn2yNRTsRw1A,5161
31
- crystalwindow/window.py,sha256=i9VRJyVVMQoLzaHbOuZHsdmtmwXRA9h-pL_Tc8Kb5XY,32327
31
+ crystalwindow/window.py,sha256=yo_Onk0RYEjUMhzKsNXJDBlYYFF9l9Nhbxiza3wf4UY,33128
32
32
  crystalwindow/Icons/default_icon.png,sha256=Loq27Pxb8Wb3Sz-XwtNF1RmlLNxR4TcfOWfK-1lWcII,7724
33
33
  crystalwindow/Icons/file_icons.png,sha256=kqjvz3gMaIbepW4XGrLZOjDYu-yhFbVxjvylS-0RO4U,5659
34
34
  crystalwindow/gametests/3dsquare.py,sha256=MM_RRx1mz_NeBhTAoNomzn_IAbbN4ZnQZWA9VAFL8mY,821
@@ -40,8 +40,8 @@ crystalwindow/gametests/sandbox.py,sha256=Oo2tU2N0y3BPVa6T5vs_h9N6islhQrjSrr_78X
40
40
  crystalwindow/gametests/squaremove.py,sha256=ei6DMnvcgpOhmxbGv-Yqmx5EqiZjKbVlZhI7YbT2hY8,643
41
41
  crystalwindow/gametests/testtttagain.py,sha256=oIhK9MGgMVly_W2lRwD9Hn9WyPdd8JnX2HGrLTGZdxY,373
42
42
  crystalwindow/gametests/windowtesting.py,sha256=_9X6wnV1-_X_PtNS-0zu-k209NtFIwAc4vpxLPp7V2o,97
43
- crystalwindow-5.8.dist-info/licenses/LICENSE,sha256=Gt5cJRchdNt0guxyQMHKsATN5PM5mjuDhdO6Gzs9qQc,1096
44
- crystalwindow-5.8.dist-info/METADATA,sha256=Dmffz8ly1Vcfaowu4Hj7IsXF4071v5H-tgxZKV7t-fQ,7523
45
- crystalwindow-5.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
46
- crystalwindow-5.8.dist-info/top_level.txt,sha256=PeQSld4b19XWT-zvbYkvE2Xg8sakIMbDzSzSdOSRN8o,14
47
- crystalwindow-5.8.dist-info/RECORD,,
43
+ crystalwindow-5.9.dist-info/licenses/LICENSE,sha256=Gt5cJRchdNt0guxyQMHKsATN5PM5mjuDhdO6Gzs9qQc,1096
44
+ crystalwindow-5.9.dist-info/METADATA,sha256=3E8i92v7k5r5ZEalfSSeYpE61uTcKeYsitj3-Q94SI4,7523
45
+ crystalwindow-5.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
46
+ crystalwindow-5.9.dist-info/top_level.txt,sha256=PeQSld4b19XWT-zvbYkvE2Xg8sakIMbDzSzSdOSRN8o,14
47
+ crystalwindow-5.9.dist-info/RECORD,,