Demo

examples/demo.py
 1#!/usr/bin/env python
 2# SPDX-FileCopyrightText: 2020 Melissa LeBlanc-Williams
 3#
 4# SPDX-License-Identifier: MIT
 5
 6import time
 7
 8from opensign import OpenSign
 9from opensign.canvas import OpenSignCanvas
10
11
12def main():
13    message1 = OpenSignCanvas()
14    message1.add_font("dejavu", "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 14)
15    message1.set_stroke(1, (255, 255, 255))
16    message1.add_text("Scroll Text In", color=(255, 0, 0))
17    message1.set_shadow()
18
19    message2 = OpenSignCanvas()
20    message2.add_font("comic", "/usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS.ttf", 14)
21    message2.set_stroke(1, (0, 0, 0))
22    message2.add_image("logo.png")
23    message2.add_text("Maker Melissa's Lab", color=(255, 255, 0), y_offset=-2)
24    message2.set_shadow()
25
26    message3 = OpenSignCanvas()
27    message3.add_font("dejavu", "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 14)
28    message3.set_stroke(1, (0, 0, 0))
29    message3.add_text("https://makermelissa.com/", color=(255, 0, 0))
30
31    message4 = OpenSignCanvas()
32    message4.add_font("dejavu", "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 14)
33    message4.set_stroke(1, (0, 0, 0))
34    message4.add_text("Subscribe to my Channel", color=(255, 255, 255))
35    message4.set_shadow()
36
37    sign = OpenSign(chain=6)
38    sign.set_background_image("background.jpg")
39
40    while True:
41        sign.scroll_in_from_left(message1)
42        time.sleep(1)
43        message1.clear()
44        message1.add_text("Change Messages")
45        sign.show(message1)
46        time.sleep(1)
47        message1.clear()
48        message1.add_text("And Scroll Out")
49        sign.show(message1)
50        sign.scroll_out_to_right(message1)
51        time.sleep(1)
52
53        sign.join_in_vertically(message1)
54        sign.loop_left(message1)
55        sign.flash(message1, count=3)
56        sign.split_out_vertically(message1)
57        time.sleep(1)
58        sign.set_background_color((0, 255, 0))
59        sign.fade_in(message2)
60        time.sleep(1)
61        sign.fade_out(message2)
62        sign.scroll_in_from_top(message3)
63        time.sleep(1)
64        sign.scroll_out_to_bottom(message3)
65        sign.scroll_in_from_right(message4)
66        time.sleep(1)
67
68
69# Main function
70if __name__ == "__main__":
71    main()