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()