Skip to content

Commit 59f193e

Browse files
authored
Add TRANSPARENT_BLACK color constant (#1425)
* Add TRANSPARENT_BLACK color constant * Improve clarity by using named constant for default window background * Improve clarity by using named color constant for clearing in arcade.gui.Surface * Improve clarity in arcade.texture.Texture by using named color constant * Improve clarity in arcade.gui.widgets by using named color constant * Use named color constant in bloom defender examples * Update expected dict size in color constant test
1 parent 1b76a6a commit 59f193e

File tree

8 files changed

+17
-12
lines changed

8 files changed

+17
-12
lines changed

arcade/application.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from arcade import get_display_size
1818
from arcade import set_viewport
1919
from arcade import set_window
20+
from arcade.color import TRANSPARENT_BLACK
2021
from arcade.context import ArcadeContext
2122
from arcade.arcade_types import Color
2223
from arcade import SectionManager
@@ -176,7 +177,7 @@ def __init__(
176177

177178
self._ctx: ArcadeContext = ArcadeContext(self, gc_mode=gc_mode, gl_api=gl_api)
178179
set_viewport(0, self.width, 0, self.height)
179-
self._background_color: Color = (0, 0, 0, 0)
180+
self._background_color: Color = TRANSPARENT_BLACK
180181

181182
# See if we should center the window
182183
if center_window:

arcade/color/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -923,6 +923,7 @@
923923
TROLLEY_GREY = (128, 128, 128, 255)
924924
TROPICAL_RAIN_FOREST = (0, 117, 94, 255)
925925
TRUE_BLUE = (0, 115, 207, 255)
926+
TRANSPARENT_BLACK = (0, 0, 0, 0)
926927
TUFTS_BLUE = (65, 125, 193, 255)
927928
TULIP = (255, 135, 141, 255)
928929
TUMBLEWEED = (222, 170, 136, 255)

arcade/examples/bloom_defender.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ def on_draw(self):
240240

241241
# Draw to the 'bloom' layer
242242
self.bloom_screen.use()
243-
self.bloom_screen.clear((0, 0, 0, 0))
243+
self.bloom_screen.clear(arcade.color.TRANSPARENT_BLACK)
244244

245245
arcade.set_viewport(self.view_left,
246246
SCREEN_WIDTH + self.view_left,

arcade/experimental/bloom_multilayer_defender.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ def on_draw(self):
250250

251251
# Draw to the 'slight bloom' layer
252252
self.slight_bloom_screen.use()
253-
self.slight_bloom_screen.clear((0, 0, 0, 0))
253+
self.slight_bloom_screen.clear(arcade.color.TRANSPARENT_BLACK)
254254

255255
arcade.set_viewport(self.view_left,
256256
SCREEN_WIDTH + self.view_left,
@@ -262,7 +262,7 @@ def on_draw(self):
262262

263263
# # Draw to the 'intense bloom' layer
264264
self.intense_bloom_screen.use()
265-
self.intense_bloom_screen.clear((0, 0, 0, 0))
265+
self.intense_bloom_screen.clear(arcade.color.TRANSPARENT_BLACK)
266266

267267
arcade.set_viewport(self.view_left,
268268
SCREEN_WIDTH + self.view_left,

arcade/gui/surface.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import arcade
55
from arcade import Texture
6+
from arcade.color import TRANSPARENT_BLACK
67
from arcade.gl import Framebuffer
78
from arcade.gl import geometry
89
from arcade.gui.nine_patch import NinePatchTexture
@@ -102,7 +103,7 @@ def width(self) -> int:
102103
def height(self) -> int:
103104
return self._size[1]
104105

105-
def clear(self, color: arcade.Color = (0, 0, 0, 0)):
106+
def clear(self, color: arcade.Color = TRANSPARENT_BLACK):
106107
"""Clear the surface"""
107108
self.fbo.clear(color=color)
108109

arcade/gui/widgets/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import arcade
1818
from arcade import Sprite, get_window, Texture
19+
from arcade.color import TRANSPARENT_BLACK
1920
from arcade.gui.events import (
2021
UIEvent,
2122
UIMouseMovementEvent,
@@ -829,7 +830,7 @@ def on_update(self, dt):
829830

830831
def do_render(self, surface: Surface):
831832
self.prepare_render(surface)
832-
surface.clear(color=(0, 0, 0, 0))
833+
surface.clear(color=TRANSPARENT_BLACK)
833834
surface.draw_sprite(0, 0, self.width, self.height, self._sprite)
834835

835836

@@ -887,7 +888,7 @@ def __init__(
887888
y=0,
888889
width=100,
889890
height=100,
890-
color=(0, 0, 0, 0),
891+
color=TRANSPARENT_BLACK,
891892
size_hint=None,
892893
size_hint_min=None,
893894
size_hint_max=None,

arcade/texture.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
calculate_hit_box_points_simple,
1818
calculate_hit_box_points_detailed,
1919
)
20+
from arcade.color import TRANSPARENT_BLACK
2021
from arcade.resources import resolve_resource_path
2122
from arcade.cache.hit_box import HitBoxCache
2223
from arcade.cache.image import WeakImageCache
@@ -206,7 +207,7 @@ def create_empty(cls, name: str, size: Tuple[int, int]) -> "Texture":
206207
"""
207208
return Texture(
208209
name,
209-
image=PIL.Image.new("RGBA", size, (0, 0, 0, 0)),
210+
image=PIL.Image.new("RGBA", size, TRANSPARENT_BLACK),
210211
hit_box_algorithm=None,
211212
)
212213

@@ -707,7 +708,7 @@ def make_circle_texture(diameter: int, color: Color, name: Optional[str] = None)
707708
"circle_texture", diameter, color[0], color[1], color[2]
708709
)
709710

710-
bg_color = (0, 0, 0, 0) # fully transparent
711+
bg_color = TRANSPARENT_BLACK # fully transparent
711712
img = PIL.Image.new("RGBA", (diameter, diameter), bg_color)
712713
draw = PIL.ImageDraw.Draw(img)
713714
draw.ellipse((0, 0, diameter - 1, diameter - 1), fill=color)
@@ -745,7 +746,7 @@ def make_soft_circle_texture(
745746
outer_alpha,
746747
) # name must be unique for caching
747748

748-
bg_color = (0, 0, 0, 0) # fully transparent
749+
bg_color = TRANSPARENT_BLACK
749750
img = PIL.Image.new("RGBA", (diameter, diameter), bg_color)
750751
draw = PIL.ImageDraw.Draw(img)
751752
max_radius = int(diameter // 2)
@@ -789,7 +790,7 @@ def make_soft_square_texture(
789790
"gradientsquare", size, color, center_alpha, outer_alpha
790791
)
791792

792-
bg_color = (0, 0, 0, 0) # fully transparent
793+
bg_color = TRANSPARENT_BLACK
793794
img = PIL.Image.new("RGBA", (size, size), bg_color)
794795
draw = PIL.ImageDraw.Draw(img)
795796
half_size = int(size // 2)

tests/unit/test_color.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
def test_colors():
33
from arcade import color
44
names = color.__dict__.keys()
5-
assert 1012 == len(names)
5+
assert 1013 == len(names)

0 commit comments

Comments
 (0)