2018-03-17 22:23:55 +00:00
|
|
|
"""Functions used to generate source files during build time
|
|
|
|
|
|
|
|
All such functions are invoked in a subprocess on Windows to prevent build flakiness.
|
|
|
|
|
|
|
|
"""
|
2024-02-28 13:25:35 +00:00
|
|
|
|
2018-03-17 22:23:55 +00:00
|
|
|
from platform_methods import subprocess_main
|
|
|
|
|
|
|
|
|
|
|
|
def make_splash(target, source, env):
|
|
|
|
src = source[0]
|
|
|
|
dst = target[0]
|
|
|
|
|
|
|
|
with open(src, "rb") as f:
|
|
|
|
buf = f.read()
|
|
|
|
|
2024-03-09 20:29:24 +00:00
|
|
|
with open(dst, "w", encoding="utf-8", newline="\n") as g:
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
|
|
|
|
g.write("#ifndef BOOT_SPLASH_H\n")
|
|
|
|
g.write("#define BOOT_SPLASH_H\n")
|
2021-03-17 21:56:58 +00:00
|
|
|
# Use a neutral gray color to better fit various kinds of projects.
|
2020-03-30 06:28:32 +00:00
|
|
|
g.write("static const Color boot_splash_bg_color = Color(0.14, 0.14, 0.14);\n")
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("static const unsigned char boot_splash_png[] = {\n")
|
|
|
|
for i in range(len(buf)):
|
2020-03-25 13:36:03 +00:00
|
|
|
g.write(str(buf[i]) + ",\n")
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("};\n")
|
|
|
|
g.write("#endif")
|
|
|
|
|
|
|
|
|
|
|
|
def make_splash_editor(target, source, env):
|
|
|
|
src = source[0]
|
|
|
|
dst = target[0]
|
|
|
|
|
|
|
|
with open(src, "rb") as f:
|
|
|
|
buf = f.read()
|
|
|
|
|
2024-03-09 20:29:24 +00:00
|
|
|
with open(dst, "w", encoding="utf-8", newline="\n") as g:
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
|
|
|
|
g.write("#ifndef BOOT_SPLASH_EDITOR_H\n")
|
|
|
|
g.write("#define BOOT_SPLASH_EDITOR_H\n")
|
2021-03-17 21:56:58 +00:00
|
|
|
# The editor splash background color is taken from the default editor theme's background color.
|
|
|
|
# This helps achieve a visually "smoother" transition between the splash screen and the editor.
|
|
|
|
g.write("static const Color boot_splash_editor_bg_color = Color(0.125, 0.145, 0.192);\n")
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("static const unsigned char boot_splash_editor_png[] = {\n")
|
|
|
|
for i in range(len(buf)):
|
2020-03-25 13:36:03 +00:00
|
|
|
g.write(str(buf[i]) + ",\n")
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("};\n")
|
|
|
|
g.write("#endif")
|
|
|
|
|
|
|
|
|
|
|
|
def make_app_icon(target, source, env):
|
|
|
|
src = source[0]
|
|
|
|
dst = target[0]
|
|
|
|
|
|
|
|
with open(src, "rb") as f:
|
|
|
|
buf = f.read()
|
|
|
|
|
2024-03-09 20:29:24 +00:00
|
|
|
with open(dst, "w", encoding="utf-8", newline="\n") as g:
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
|
|
|
|
g.write("#ifndef APP_ICON_H\n")
|
|
|
|
g.write("#define APP_ICON_H\n")
|
|
|
|
g.write("static const unsigned char app_icon_png[] = {\n")
|
|
|
|
for i in range(len(buf)):
|
2020-03-25 13:36:03 +00:00
|
|
|
g.write(str(buf[i]) + ",\n")
|
2018-03-17 22:23:55 +00:00
|
|
|
g.write("};\n")
|
|
|
|
g.write("#endif")
|
|
|
|
|
|
|
|
|
2020-03-30 06:28:32 +00:00
|
|
|
if __name__ == "__main__":
|
2018-03-17 22:23:55 +00:00
|
|
|
subprocess_main(globals())
|