Problems with Bitmaps on TFT Display using GFX Library

The Arduino builds a project from INO, C++, C, S source files.

It parses the main INO file to determine any library header files and locations.
It adds "Arduino.h", inserts any forward declarations and concatenates all INO files into a regular C++ file.
The original C++, C, S project files are unchanged.

The process of finding headers and library files makes it much more user friendly than a conventional IDE where the user has to manually add Include paths and library paths.

Personally, I think that the forward declarations is BAD practice. But the paths are very effective. Yes, a computer science student should understand the significance. An Arduino punter does not need to know.

There is a certain amount of snobbery about Arduino. It hides the difficult subjects of paths and forward declarations. But it means a project just needs to have a single INO file with appropriate #include "library.h" statements.

Existing Arduino Graphics libraries and programs follow this "style" i.e. #include "font.h"
e.g. Adafruit_ILI9341, ILI9341_due, UTFT, TFT_eSPI, ...

Yes, of course it would be better C practice to add H, C pairs of font files for every local font in an Arduino project.

I know that the Linker only adds data that is actually referenced.
I know that including an unused "library.h" does not add the library code.
Yes, it is important for computer science students to understand this.

A regular Arduino punter just wants to "wash and go".

You are absolutely didn't understand goals and possibilities of my application. But I'm here not to advertise them to you.

I want to use existing artwork. I am not Michaelangelo. Your program only seems to support freehand drawing.

David.