MBED Import of ADAFRUIT graphics library, BSD License

Dependents:   GP9002adafruit GP9002af_gray

Notes on this library

This was imported into MBED specifically to support the GP9002 VFD, as a result it has some "hacks" to optimize it for the GP9002.

Due to the GP9002 internal organization it draws vertical lines much faster than horizontal (assuming you orient it "landscape"). This is likely to be true of other displays that have bits in a byte arranged vertically, which seems a common theme in small GLCDs. Some types may have a more CGA-like memory organization and will draw faster horizontally.

On a vertical-organised display the graphics functions are often substantially faster if X and Y are exchanged, especially with the dot-write optimization. This is because vertical lines can be written byte-at-a-time with no need for read-modify-write, and even when individual bits are written a significant number will "land" in the byte previously written. In contrast a horizontal line would require changing one bit of each byte in turn, requiring a sequence of set-address,read,write operations for each dot in turn.

I've hacked this in the library. I forget exactly how but I believe I simply exchanged X with W in the code for drawing filled shapes.

I would like to come up with a more generic way to do this, such as having internal coordinates that are not defined as X and Y, then leaving it up to the display library to "wrap" them in the way that is best for that display.

I would like to apologize for abandoning this project, but the test harness still exists and I might return to it, though I'm more interested in TFT systems like the STM discovery now.

Download repository: zip gz

Files at revision 0:3bf8ef959338

Name Size Actions
[up]
FreeMono12pt7b.h 14395 Revisions Annotate
FreeMono18pt7b.h 24441 Revisions Annotate
FreeMono24pt7b.h 40283 Revisions Annotate
FreeMono9pt7b.h 10592 Revisions Annotate
FreeMonoBold12pt7b.h 16081 Revisions Annotate
FreeMonoBold18pt7b.h 28925 Revisions Annotate
FreeMonoBold24pt7b.h 47327 Revisions Annotate
FreeMonoBold9pt7b.h 11574 Revisions Annotate
FreeMonoBoldOblique12pt7b.h 17570 Revisions Annotate
FreeMonoBoldOblique18pt7b.h 31692 Revisions Annotate
FreeMonoBoldOblique24pt7b.h 52530 Revisions Annotate
FreeMonoBoldOblique9pt7b.h 12639 Revisions Annotate
FreeMonoOblique12pt7b.h 15954 Revisions Annotate
FreeMonoOblique18pt7b.h 27096 Revisions Annotate
FreeMonoOblique24pt7b.h 45214 Revisions Annotate
FreeMonoOblique9pt7b.h 11477 Revisions Annotate
FreeSans12pt7b.h 17535 Revisions Annotate
FreeSans18pt7b.h 31039 Revisions Annotate
FreeSans24pt7b.h 51419 Revisions Annotate
FreeSans9pt7b.h 12478 Revisions Annotate
FreeSansBold12pt7b.h 18893 Revisions Annotate
FreeSansBold18pt7b.h 33181 Revisions Annotate
FreeSansBold24pt7b.h 55627 Revisions Annotate
FreeSansBold9pt7b.h 12992 Revisions Annotate
FreeSansBoldOblique12pt7b.h 21080 Revisions Annotate
FreeSansBoldOblique18pt7b.h 37952 Revisions Annotate
FreeSansBoldOblique24pt7b.h 63705 Revisions Annotate
FreeSansBoldOblique9pt7b.h 14469 Revisions Annotate
FreeSansOblique12pt7b.h 19992 Revisions Annotate
FreeSansOblique18pt7b.h 35958 Revisions Annotate
FreeSansOblique24pt7b.h 59762 Revisions Annotate
FreeSansOblique9pt7b.h 13865 Revisions Annotate
FreeSerif12pt7b.h 16738 Revisions Annotate
FreeSerif18pt7b.h 29360 Revisions Annotate
FreeSerif24pt7b.h 48626 Revisions Annotate
FreeSerif9pt7b.h 12051 Revisions Annotate
FreeSerifBold12pt7b.h 17694 Revisions Annotate
FreeSerifBold18pt7b.h 31768 Revisions Annotate
FreeSerifBold24pt7b.h 53806 Revisions Annotate
FreeSerifBold9pt7b.h 12577 Revisions Annotate
FreeSerifBoldItalic12pt7b.h 19248 Revisions Annotate
FreeSerifBoldItalic18pt7b.h 34664 Revisions Annotate
FreeSerifBoldItalic24pt7b.h 56292 Revisions Annotate
FreeSerifBoldItalic9pt7b.h 13521 Revisions Annotate
FreeSerifItalic12pt7b.h 17662 Revisions Annotate
FreeSerifItalic18pt7b.h 30914 Revisions Annotate
FreeSerifItalic24pt7b.h 52164 Revisions Annotate
FreeSerifItalic9pt7b.h 12593 Revisions Annotate
TomThumb.h 24111 Revisions Annotate