Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

build.rs 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. extern crate tinygfx_assets as assets;
  2. use std::env;
  3. use std::fs::File;
  4. use std::io::Write;
  5. use std::path::Path;
  6. fn main() {
  7. let out_dir = env::var("OUT_DIR").unwrap();
  8. let dest_path = Path::new(&out_dir).join("assets.rs");
  9. let mut f = File::create(&dest_path).unwrap();
  10. let mut font = assets::Font::load("assets/Roboto-Regular.ttf").unwrap();
  11. let epd_font = font.generate("ROBOTO_100", 100, " 0123456789:", "::tinygfx");
  12. f.write_all(epd_font.as_bytes()).unwrap();
  13. let epd_font = font.generate(
  14. "ROBOTO_30",
  15. 30,
  16. " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:.,%°ß↗",
  17. "::tinygfx",
  18. );
  19. f.write_all(epd_font.as_bytes()).unwrap();
  20. let epd_font = font.generate(
  21. "ROBOTO_22",
  22. 22,
  23. " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:.,%°ß",
  24. "::tinygfx",
  25. );
  26. f.write_all(epd_font.as_bytes()).unwrap();
  27. for (filename, name) in [
  28. ("assets/ic_alarm_black_36dp.png", "ALARM_CLOCK_36"),
  29. ("assets/ic_thermometer_black_36dp.png", "THERMOMETER_36"),
  30. ("assets/ic_water_percent_black_36dp.png", "WATER_PERCENT_36"),
  31. (
  32. "assets/ic_wifi_strength_alert_outline_black_36dp.png",
  33. "WIFI_STRENGTH_ALERT_36",
  34. ),
  35. ]
  36. .iter()
  37. {
  38. let clock_image = assets::Image::load(filename).unwrap();
  39. f.write_all(clock_image.generate_bitmap(name, "::tinygfx").as_bytes())
  40. .unwrap();
  41. }
  42. }