tried this stock on pyportal and did not work as the api no longer supports position as a kwarg for the location. fixed with simple re-naming.
61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
import os
|
|
import board
|
|
import displayio
|
|
from adafruit_display_text.label import Label
|
|
from adafruit_bitmap_font import bitmap_font
|
|
|
|
# the current working directory (where this file is)
|
|
cwd = ("/"+__file__).rsplit('/', 1)[0]
|
|
fonts = [file for file in os.listdir(cwd+"/fonts/")
|
|
if (file.endswith(".bdf") and not file.startswith("._"))]
|
|
for i, filename in enumerate(fonts):
|
|
fonts[i] = cwd+"/fonts/"+filename
|
|
print(fonts)
|
|
|
|
##########################################################################
|
|
THE_FONT = fonts[0]
|
|
DISPLAY_STRING = "A multi-line-\nexample of\n font bounding!"
|
|
WRAP_CHARS = 40
|
|
|
|
##########################################################################
|
|
# Make the display context
|
|
splash = displayio.Group()
|
|
board.DISPLAY.show(splash)
|
|
|
|
# Make a background color fill
|
|
color_bitmap = displayio.Bitmap(320, 240, 1)
|
|
color_palette = displayio.Palette(1)
|
|
color_palette[0] = 0xFFFFFF
|
|
bg_sprite = displayio.TileGrid(color_bitmap,
|
|
pixel_shader=color_palette,
|
|
x=0, y=0)
|
|
splash.append(bg_sprite)
|
|
|
|
# Load the font
|
|
font = bitmap_font.load_font(THE_FONT)
|
|
font.load_glyphs(DISPLAY_STRING.encode('utf-8'))
|
|
|
|
print(DISPLAY_STRING)
|
|
|
|
text = Label(font, text=DISPLAY_STRING)
|
|
text.x = 20
|
|
text.y = 100
|
|
text.color = 0x0
|
|
|
|
# Make a background color fill
|
|
dims = text.bounding_box
|
|
print(dims)
|
|
textbg_bitmap = displayio.Bitmap(dims[2], dims[3], 1)
|
|
textbg_palette = displayio.Palette(1)
|
|
textbg_palette[0] = 0xFF0000
|
|
textbg_sprite = displayio.TileGrid(textbg_bitmap,
|
|
pixel_shader=textbg_palette,
|
|
x=text.x+dims[0], y=text.y+dims[1])
|
|
splash.append(textbg_sprite)
|
|
splash.append(text)
|
|
board.DISPLAY.refresh_soon()
|
|
board.DISPLAY.wait_for_frame()
|
|
|
|
|
|
while True:
|
|
pass
|