setfont - für eigene Display-Routinen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • setfont - für eigene Display-Routinen

      Nutzt man unter BASCOM ein Grafik-Display das auf Basis einer implementierten Library angesteuert wird, wird der Programmierer bei der Umschaltung der Schriftart mit dem Befehl setfont unterstützt.

      Der folgende Codeschnipsel zeigt, wie man setfont für seine eigene Display-Bibliothek nutzbar macht.
      Zuerst benötigt man eine Variable, ein Array das sonst automatisch vom Compiler implementiert wird.

      Quellcode

      1. #if _ROMSIZE > 65536
      2. dim ___FONTTABLE(3) as byte
      3. #else
      4. dim ___FONTTABLE(2) as byte
      5. #endif

      :!: Mit setfont wird die Adresse des angegebenen Fonts in die soeben deklarierte Variable gespeichert.


      Ein weiterer Vorschlag:

      :!: Die nachstehende Routine dient dem Auslesen der Headinformationen eines Fonts.

      Quellcode

      1. dim FONT_PROPERTYS(4) as byte
      2. dim font_height as byte at FONT_PROPERTYS(_base + 0) overlay
      3. dim font_width as byte at FONT_PROPERTYS(_base + 1) overlay
      4. dim font_block as byte at FONT_PROPERTYS(_base + 2) overlay
      5. dim font_ttype as byte at FONT_PROPERTYS(_base + 3) overlay
      6. sub Read_font_propertys()
      7. $external _Flash2RAM
      8. !lds Zl , {___Fonttable}
      9. !lds Zh , {___Fonttable+1}
      10. #IF _ROMSIZE>65536
      11. !lds R16,{___Fonttable+2}
      12. !out RAMPZ,R16
      13. #ENDIF
      14. loadadr FONT_PROPERTYS , x
      15. !rcall _Flash2RAM4
      16. end sub
      Alles anzeigen


      Viel Spaß damit

      Galahat