fonts.odin 793 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package karl2d_fonts_example
  2. import k2 "../.."
  3. import "core:log"
  4. main :: proc() {
  5. context.logger = log.create_console_logger()
  6. init()
  7. run := true
  8. for run {
  9. run = step()
  10. }
  11. shutdown()
  12. }
  13. cat_and_onion_font: k2.Font_Handle
  14. init :: proc() {
  15. k2.init(1080, 1080, "Karl2D Fonts Example")
  16. cat_and_onion_font = k2.load_font_from_bytes(#load("cat_and_onion_dialogue_font.ttf"))
  17. }
  18. step :: proc() -> bool {
  19. k2.new_frame()
  20. k2.process_events()
  21. k2.clear(k2.BLUE)
  22. font := k2.get_default_font()
  23. if k2.key_is_held(.K) {
  24. font = cat_and_onion_font
  25. }
  26. k2.draw_text_ex(font, "Hellöpe! Hold K to swap font", {20, 20}, 64, k2.WHITE)
  27. k2.present()
  28. free_all(context.temp_allocator)
  29. return !k2.shutdown_wanted()
  30. }
  31. shutdown :: proc() {
  32. k2.destroy_font(cat_and_onion_font)
  33. k2.shutdown()
  34. }