Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 9 of 9

Thread: ILI9341 font background

  1. #1
    Junior Member
    Join Date
    Oct 2020
    Posts
    4

    ILI9341 font background

    dear all

    I've been porting the ILI9341_t3 code to STM32
    working so far fine, but I'm wondering one thing:

    is drawFontChar not possible to set a background color to the font; the font always appears transparent, while the glcdfont has a selectable background color.

    Is that intentionally like that or did I miss something?

  2. #2
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,928
    I believe that the ili9341_t3 library draws the fonts with or without background color.

    However I know the Adafruit library Adafruit_ILI9341 nor any of their libraries did not (probably still don't) draw their GFX fonts except as transparent. By design as they did not want to handle the issues associated with font characters could overlap.

    My ili9341_t3n library supports opaque or transparent with system font, ILI9341_t3n fonts and we also support GFX fonts including the opaque. I think the code caught most of the cases, but could always have missed some.

  3. #3
    Junior Member
    Join Date
    Oct 2020
    Posts
    4
    Hi Kurt

    thanks for the first hint; as far as I see your ili9341_t3n lib is further developed regarding the opaque/transparent feature for gfx fonts, so I guess, I'll adopt your way solving this thing, it's certainly the more sophisticated way than implementing workarounds in Pauls lib.
    but still, I'm maybe overseeing something there

  4. #4
    Junior Member
    Join Date
    Oct 2020
    Posts
    4
    so, a short followup:

    your approach for drawfontchar() is working perfectly with transparent/opaque, dr Kurt, ufb!
    I got it easily ported to bare metal STM32 c code.
    thanks again for the hint; it was a big help!

  5. #5
    Senior Member jim lee's Avatar
    Join Date
    Dec 2016
    Location
    Anacortes, WA
    Posts
    168
    Quote Originally Posted by KurtE View Post
    My ili9341_t3n library supports..
    KurtE, You wrote ili9341_t3? I had no idea!

    -jim lee

  6. #6
    Junior Member
    Join Date
    Oct 2020
    Posts
    4
    ili9341_t3N, not the original ili9341_t3

    https://github.com/KurtE/ILI9341_t3n

  7. #7
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,928
    Quote Originally Posted by jim lee View Post
    KurtE, You wrote ili9341_t3? I had no idea!
    No, the original ILI9341_t3 was done by Paul again starting off with Adafruit library as more or less the starting point. Several of us did some fixes and enhancements to this library.

    The ILI9341_t3n, I not sure I would say I wrote it... It is sort of evolved with code and ideas from many.

    It started off from the ILI9341_t3 library during the T3.6 and 3.5 beta. It started off as I wanted something to test out the different SPI busses of these boards, so started working on making with all three buses. I found lots interesting things and decided to try splitting out some of the underlying SPI buss stuff including all of the lower level helpers into another library SPIN (SPI n), which still exists and I tried to make it more table driven... Then it grew from there. With others who had done Pull Requests for the other library that looked interesting (offsets and clipping), I went ahead and merged it in... Then @Frank B started another library for DMA updates, which looked interesting and I added that functionality in, then GFX fonts looked interesting so merged it in, but did not like not having it work for Opaque... Others also added other functionality like @mjs513 added some enhancements...

    So again it is a work of many!

  8. #8
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    23,061
    Much of the work in ILI9341_t3 started in various optimized copies of ST7735. Of course all are built on top of Adafruit's work and generally follow their GFX API, though probably not much of Adafruit's original (slow) code remains.

    Many people have worked on these optimizations over the years.

  9. #9
    Senior Member jim lee's Avatar
    Join Date
    Dec 2016
    Location
    Anacortes, WA
    Posts
    168
    Ah, ok. I came into this late.

    It caught my attention because I have a GUI application framework I've been working on for my stuff and, at one point, I kinda' bailing-wired ILI9341_t3 in to see if it really was any better. I was really impressed at the improvement! (Teensy 3.2). Ever since, its been a back burner mental exercise of mine, working on how to do a proper integration of it into my stuff.

    Anyhow, just wanted to say, to whomever worked on it. GOOD JOB! Thanks!

    -jim lee

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •