Skip to content
Adafruit GFX graphics core library, this is the 'core' class that all our other graphics libraries derive from
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Fonts Add .h extension to Tiny3x3a2pt7b font file Aug 19, 2018
examples/mock_ili9341 Appease the ESP8266 compiler Mar 3, 2019
fontconvert Include FT_TRUETYPE_DRIVER_H in fontconvert.c Jan 4, 2019
.gitignore doxy gitignore Jul 14, 2018
.travis.yml Disable SPI DMA by default! Dec 10, 2018
Adafruit_GFX.cpp Fix some ESP8266 batshittery Mar 1, 2019
Adafruit_GFX.h Added String overload to getTextBounds() #90 Aug 6, 2018
Adafruit_SPITFT.cpp
Adafruit_SPITFT.h Fix error with pre-C++11 compilers Mar 18, 2019
Adafruit_SPITFT_Macros.h WIP do not use yet! Feb 27, 2019
README.md Update README.md Mar 2, 2019
gfxfont.h *falls over* Jul 14, 2018
glcdfont.c Fonts FONTS fonts! 1.1 release Dec 22, 2015
library.properties Fix error with pre-C++11 compilers Mar 18, 2019
license.txt Fixed constructor() kludge - all subclass libs updated too Jul 5, 2013

README.md

Adafruit GFX Library # Build Status

This is the core graphics library for all our displays, providing a common set of graphics primitives (points, lines, circles, etc.). It needs to be paired with a hardware-specific library for each display device we carry (to handle the lower-level functions).

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

Written by Limor Fried/Ladyada for Adafruit Industries. BSD license, check license.txt for more information. All text above must be included in any redistribution.

Recent Arduino IDE releases include the Library Manager for easy installation. Otherwise, to download, click the DOWNLOAD ZIP button, uncompress and rename the uncompressed folder Adafruit_GFX. Confirm that the Adafruit_GFX folder contains Adafruit_GFX.cpp and Adafruit_GFX.h. Place the Adafruit_GFX library folder your ArduinoSketchFolder/Libraries/ folder. You may need to create the Libraries subfolder if its your first library. Restart the IDE.

Useful Resources

  • Image2Code: This is a handy Java GUI utility to convert a BMP file into the array code necessary to display the image with the drawBitmap function. Check out the code at ehubin's GitHub repository: https://github.com/ehubin/Adafruit-GFX-Library/tree/master/Img2Code

  • drawXBitmap function: You can use the GIMP photo editor to save a .xbm file and use the array saved in the file to draw a bitmap with the drawXBitmap function. See the pull request here for more details: https://github.com/adafruit/Adafruit-GFX-Library/pull/31

  • 'Fonts' folder contains bitmap fonts for use with recent (1.1 and later) Adafruit_GFX. To use a font in your Arduino sketch, #include the corresponding .h file and pass address of GFXfont struct to setFont(). Pass NULL to revert to 'classic' fixed-space bitmap font.

  • 'fontconvert' folder contains a command-line tool for converting TTF fonts to Adafruit_GFX header format.


Roadmap

The PRIME DIRECTIVE is to maintain backward compatibility with existing Arduino sketches -- many are hosted elsewhere and don't track changes here, some are in print and can never be changed! This "little" library has grown organically over time and sometimes we paint ourselves into a design corner and just have to live with it or add ungainly workarounds.

Highly unlikely to merge any changes for additional or incompatible font formats (see Prime Directive above). There are already two formats and the code is quite bloaty there as it is (this also creates liabilities for tools and documentation). If you must have a more sophisticated font format, consider creating a fork with the features required for your project. For similar reasons, also unlikely to add any more bitmap formats, it's getting messy.

Please don't reformat code for the sake of reformatting code. The resulting large "visual diff" makes it impossible to untangle actual bug fixes from merely rearranged lines.

You can’t perform that action at this time.