From uGFX Wiki
Jump to: navigation, search

All project specific options for µGFX are defined in the file gfxconf.h which must be supplied by the user (place it in your project directory). Within each section, the very first option enables or disables the entire module. All the following sub-options only take effect when the module is enabled.


A template of the gfxconf.h file can be found in the top-level directory of the µGFX folder. It is called gfxconf.example.h. You can copy this file to your project directory and rename it to gfxconf.h.

In your gfxconf.h you should leave commented out any options you are leaving them as the default value. This improves the future compatibility of your project as we make changes to the µGFX default configuration.

As the gfxconf.example.h is kept up to date as we change the source code, it may have more up to date definitions than this document.


Option Description
GFX_USE_OS_RAW32 Use the bare metal port without any underlying OS.
See BareMetal.
INTERRUPTS_ON() Optionally set code that is executed when interrupts are turned on.
See Interrupts.
INTERRUPTS_OFF() Optionally set code that is executed when interrupts are turned off.
See Interrupts.
GFX_USE_OS_CHIBIOS Use ChibiOS/RT as the underlying system.
See ChibiOS/RT.
GFX_USE_OS_FREERTOS Use FreeRTOS as the underlying system.
See FreeRTOS.
GFX_FREERTOS_USE_TRACE Enable support for the FreeRTOS+Trace feature.
See Trace.
GFX_USE_OS_CMSIS Use any CMSIS-RTOS compatible operating system the underlying system.
GFX_USE_OS_KEIL Use Keil RTX as the underlying system.
See Keil RTX.
GFX_USE_OS_ECOS Use eCOS as the underlying system.
See eCOS.
GFX_USE_OS_NIOS Use NIOS-II as the underlying system.
GFX_USE_OS_ARDUINO Use Arduino the underlying system.
See Arduino.
GFX_USE_OS_WIN32 Use Windows as the underlying system.
See Windows.
GFX_USE_OS_LINUX Use Linux as the underlying system.
See Linux.
GFX_USE_OS_OSX Use Mac OS X as the underlying system.
See Mac_OS_X.
GFX_COMPILER Enables compiler specific code. Usually not required as all compilers are auto-detected.
See Compiler.
GFX_SHOW_COMPILER If set to TRUE, a compiler warning will be generated showing the name of the compiler that was set or automatically detected.
See Compiler.
GFX_CPU Enables CPU specific code.
See CPU.
GFX_CPU_ENDIAN Enables CPU-endian specific code.
See Endian.
GFX_NO_INLINE Can be used to disable the inlining of functions inside the µGFX library.
See Inlining.
GFX_OS_HEAP_SIZE Set the maximum size of the heap. If set to 0, the C runtime library malloc() and free() are used.
See Memory Management.
GFX_OS_NO_INIT Do not initialize the underlying operating system when calling gfxInit().
See Initialization.
GFX_OS_INIT_NO_WARNING Turn off warnings about initializing the operating system.
See Warning.
GFX_OS_EXTRA_INIT_FUNCTION Optionally set code that is executed when the operating system is being initialized.
See Extra functions.
GFX_OS_EXTRA_DEINIT_FUNCTION Optionally set code that is executed when the operating system is being deinitialized.
See Extra functions.
GFX_EMULATE_MALLOC If turned on, uGFX will create its own implementations of malloc() and free() which are wrappers to gfxAlloc() and gfxFree().
See Emulating Malloc.


Option Description
GFX_USE_GDISP Enable or disable the entire GDISP module.
GDISP_NEED_AUTOFLUSH Flush drawing operations automatically.
See Flushing.
GDISP_NEED_TIMERFLUSH Flush drawing operations automatically using a timer.
See Flushing.
GDISP_NEED_VALIDATION Clip all drawing operations to the screen limits and validate color values.
See Validation.
GDISP_NEED_CLIP Add area clipping feature.
See Clipping.
GDISP_NEED_CIRCLE Include circle drawing functions.
See Circle.
GDISP_NEED_DUALCIRCLE Include dual circle drawing functions.
See Dual Circle.
GDISP_NEED_ELLIPSE Include ellipse drawing functions.
See Ellipse.
GDISP_NEED_ARC Include arc drawing functions.
See Arc.
GDISP_NEED_CONVEX_POLYGON Include convex polygon and thick line drawing functions.
See Polygon.
GDISP_NEED_SCROLL Include scrolling functions.
See Scrolling.
GDISP_NEED_PIXELREAD Can pixels be read back from the display/memory?
See Read Back.
GDISP_NEED_CONTROL Can hardware aspects like the orientation, backlight and contrast be controlled?
See Control.
GDISP_NEED_QUERY Can hardware aspects like backlight and contrast be read back?
See Query.
GDISP_NEED_MULTITHREAD Make all GDISP calls thread safe.
See Thread safe.
GDISP_NEED_IMAGE Include the image decoder feature.
See Images.
GDISP_NEED_ACCOUNTING Include accounting feature which registers the memory usage of each image.
See Accounting.
GDISP_NEED_IMAGE_NATIVE Include the decoder for the native image format.
See Native.
GDISP_NEED_IMAGE_GIF Include the decoder for the GIF image format.
See GIF.
GDISP_NEED_IMAGE_BMP Include the decoder for the BMP image format.
See BMP.
GDISP_NEED_IMAGE_BMP_1 Include the decoder for the BMP_1 image format.
See BMP.
GDISP_NEED_IMAGE_BMP_4 Include the decoder for the BMP_4 image format.
See BMP.
GDISP_NEED_IMAGE_BMP_4_RLE Include the decoder for the BMP_4_RLE image format.
See BMP.
GDISP_NEED_IMAGE_BMP_8 Include the decoder for the BMP_8 image format.
See BMP.
GDISP_NEED_IMAGE_BMP_8_RL Include the decoder for the BMP_8_RLE image format.
See BMP.
GDISP_NEED_IMAGE_BMP_16 Include the decoder for the BMP_16 image format.
See BMP.
GDISP_NEED_IMAGE_BMP_24 Include the decoder for the BMP_24 image format.
See BMP.
GDISP_NEED_IMAGE_BMP_32 Include the decoder for the BMP_32 image format.
See BMP.
GDISP_NEED_IMAGE_JPG Not implemented yet.
See ToDo.
GDISP_NEED_IMAGE_PNG Not implemented yet.
See ToDo.
GDISP_NEED_TEXT Include the font rendering feature.
See Font rendering.
GDISP_NEED_TEXT_WORDWRAP Enable word-wrapping.
See Word-Wrapping.
GDISP_NEED_ANTIALIAS Enable anti-aliasing for fonts.
See Anti-Aliasing.
GDISP_NEED_KERNING Enable kerning for fonts.
See Kerning.
GDISP_NEED_UTF8 Enable unicode support for fonts.
See Unicode.
GDISP_INCLUDE_FONT_UI1 Include the UI1 font.
See Fonts.
GDISP_INCLUDE_FONT_UI2 Include the UI2 font.
See Fonts.
GDISP_INCLUDE_FONT_LARGENUMBERS Include the largenumbers font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS10 Include the DejaVu Sans 10 font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS12 Include the DejaVu Sans 12 font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS16 Include the DejaVu Sans 16 font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS20 Include the DejaVu Sans 20 font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS24 Include the DejaVu Sans 24 font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS32 Include the DejaVu Sans 32 font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 Include the DejaVu Sans Bold 12 font.
See Fonts.
GDISP_INCLUDE_FONT_FIXED_10X20 Include the Fixed 10x20 font.
See Fonts.
GDISP_INCLUDE_FONT_FIXED_7X14 Include the Fixed 7x14 font.
See Fonts.
GDISP_INCLUDE_FONT_FIXED_5X8 Include the Fixed 5x8 font.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS12_AA Include the DejaVu Sans 12 font with anti-aliasing.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS16_AA Include the DejaVu Sans 16 font with anti-aliasing.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS20_AA Include the DejaVu Sans 20 font with anti-aliasing.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS24_AA Include the DejaVu Sans 24 font with anti-aliasing.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANS32_AA Include the DejaVu Sans 32 font with anti-aliasing.
See Fonts.
GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA Include the DejaVu Sans Bold 12 font with anti-aliasing.
See Fonts.
GDISP_INCLUDE_USER_FONTS Include fonts specified by the user.
See Custom Fonts.
GDISP_STARTUP_COLOR The color which is used when clearing the display during gfxInit().
See Colors.
GDISP_NEED_STARTUP_LOGO Display the uGFX Logo when initializing the GDISP module for one second.
See Start-Up Logo.
GDISP_DEFAULT_ORIENTATION The default orientation of the used display pnale.
See Orientation.
GDISP_LINEBUF_SIZE The size of the pixel buffer (in pixels) used for optimizations.
See Optimizations.
GDISP_TOTAL_DISPLAYS The total amount of displays used.
See Multiple displays.
GDISP_TOTAL_CONTROLLERS The total amount of display controllers used.
See Multiple displays.
GDISP_USE_GFXNET Include support for remote displays.
See Remote displays.
GDISP_GFXNET_PORT The port to be used for remote displays.
See Remote displays.
GDISP_GFXNET_CUSTOM_LWIP_STARTUP Is a custom LwIP routine defined?.
See Remote displays.
GDISP_DONT_WAIT_FOR_NET_DISPLAY Don't wait until the remote display has been initialized properly.
See Remote displays.
See Remote displays.


Option Description
GFX_USE_GWIN Enable or disable the entire GWIN module.
GWIN_NEED_WINDOWMANAGER Enable or disable the window manager.
See ToDo.
See GWIN redrawing mode.
See GWIN redrawing mode.
GWIN_NEED_CONSOLE Include the console window features.
See Console.
GWIN_CONSOLE_USE_HISTORY Enable or disable the console history.
See History.
GWIN_CONSOLE_HISTORY_AVERAGING Create an average history buffer.
See History.
GWIN_CONSOLE_HISTORY_ATCREATE Create a history buffer at window creation time.
See History.
GWIN_CONSOLE_ESQSEQ Include escape sequence features.
See Escape sequences.
GWIN_CONSOLE_USE_BASESTREAM Include support for ChibiOS/RT base streams.
See ToDo.
GWIN_CONSOLE_USE_FLOAT Include support for floating point numbers.
See Float.
GWIN_NEED_GRAPH Include the graph window features.
See Graph.
GWIN_NEED_WIDGET Enable or disable the widget system.
See Widgets.
See ToDo.
GWIN_NEED_LABEL Enable or disable the label widget.
See Label.
GWIN_NEED_LABEL_ATTRIBUTE Include the label attribute feature.
See Attribute.
GWIN_NEED_BUTTON Enable or disable the push button widget.
See PushButton.
GWIN_NEED_BUTTON_LAZY_RELEASE Enabel or disable the lazy release feature.
See Cancel feature.
GWIN_NEED_SLIDER Enable or disable the slider widget.
See Slider.
GWIN_NEED_CHECKBOX Enable or disable the check box widget.
See CheckBox.
GWIN_NEED_IMAGE Enable or disable the image box widget.
See ImageBox.
GWIN_NEED_IMAGE_ANIMATION Include the image box animated images feature.
See Animated Images.
GWIN_NEED_RADIO Enable or disable the radio button widget.
See RadioButton.
GWIN_NEED_LIST Enable or disable the list widget.
See List.
GWIN_NEED_LIST_IMAGES Include the list widget images feature.
See Images.
GWIN_NEED_PROGRESSBAR Enable or disable the progress bar widget.
See Progressbar.
GWIN_NEED_PROGRESSBAR_AUTO Include the automatic progress bar feature.
See Automatic.
GWIN_NEED_CONTAINERS Enable or disable the containers system.
See Containers.
GWIN_NEED_CONTAINER Enable or disable the basic container.
See Container.
GWIN_NEED_FRAME Enable or disable the frame container.
See Frame.


Option Description
GFX_USE_GTIMER Enable or disable the entire GTIMER module.
GTIMER_THREAD_PRIORITY The GTIMER thread priority level.
See Precision.
See Stack size.


Option Description
GFX_USE_GQUEUE Enable or disable the entire GQUEUE module.
GQUEUE_NEED_ASYNC Enable or disable the asynchronous queue functions.
See Asynchronous.
GQUEUE_NEED_GSYNC Enable or disable the GET synchronous queue functions.
See Asynchronous.
GQUEUE_NEED_FSYNC Enable or disable the fully synchronous queue functions.
See Asynchronous.
GQUEUE_NEED_BUFFERS Enable or disable the buffers functions.
See Buffers.


Option Description
GFX_USE_GINPUT Enable or disable the entire GINPUT module.
GINPUT_NEED_MOUSE Enable or disable support for a pointing device such as a touchscreen.
See Touchscreen.
GINPUT_NEED_KEYBOARD Not implemented yet.
GINPUT_NEED_TOGGLE Enable or disable support for digital inputs.
See digital inputs.
GINPUT_NEED_DIAL Enable or disable support for analog inputs.
See analog inputs.
GINPUT_MOUSE_CALIBRATE_EXTREMES If this is set to TRUE, the calibration points are displayed at the very corner of the display. This gives an overall more accurate result but they are less intuitive.
See calibration.
GINPUT_MOUSE_MAX_CALIBRATION_ERROR This macro is part of the config file of the driver in your board directory and takes a pixel value. It defines how big the pixel offset of the test point can be before the calibration process is repeated automatically.
See calibration.


Option Description
GFX_USE_GFILE Enable or disable the entire GFILE module.
GFILE_NEED_PRINTG Enable or disable print functions support.
See String manipulation & printing.
GFILE_NEED_SCANG Enable or disable scan functions support.
See String manipulation & printing.
GFILE_NEED_STRINGS Enable or disable string manipulation functions support.
See String manipulation & printing.
GFILE_NEED_STDIO Enable or disable STDIO emulation.
See STDIO emulation.
GFILE_ALLOW_FLOATS Enable or disable float support.
See STDIO emulation.
GFILE_ALLOW_DEVICESPECIFIC ' prefix in order to ensure the file is opened with the specified file system.
See Multiple file systems.
GFILE_MAX_GFILES Specify the maximum number of files that can be opened at a time.
See ToDo.
GFILE_NEED_NOAUTOMOUNT Enable or disable automatic file system mounting feature.
See Mounting.
GFILE_NEED_NOAUTOSYNC Enable or disable automatic file system synchronization feature.
See Syncronization.
GFILE_NEED_FATFS Enable or disable FatFS support.
GFILE_NEED_ROMFS Enable or disable ROMFS support.
GFILE_NEED_RAMFS Enable or disable RAMFS support.
GFILE_NEED_MEMFS Enable or disable MEMFS support.
GFILE_NEED_NATIVEFS Enable or disable NATIVEFS support.
GFILE_NEED_CHIBIOSFS Enable or disable CHIBIOSFS support.


Option Description
GFX_USE_GAUDIO Enable or disable the entire GAUDIO module.
GAUDIO_NEED_PLAY Enable or disable the play-back system (audio output).
See PlayBack.
GAUDIO_NEED_RECORD Enable or disable the record system (audio input).
See Record.


Option Description
GFX_USE_GADC Enable or disable the entire GADC module.
GADC_MAX_LOWSPEED_DEVICES Specify the maximum amount of low speed GADC devices.


Option Description
GFX_USE_GMISC Enable or disable the entire GMISC module.
See ToDo.
See ToDo.
See ToDo.
See ToDo.
See ToDo.
See ToDo.
See ToDo.
See ToDo.