ugfx/src/gfx_options.h

146 lines
3.6 KiB
C
Raw Normal View History

/*
* This file is subject to the terms of the GFX License. If a copy of
* the license was not distributed with this file, you can obtain one at:
*
2018-10-01 15:32:39 +00:00
* http://ugfx.io/license.html
*/
/**
* @file gfx_options.h
* @brief GFX system options.
*
* @addtogroup GFX
* @{
*/
/**
* @name GFX sub-systems that can be turned on
* @{
*/
/**
* @brief GFX Driver API
* @details Defaults to GFXON
* @note Not much useful can be done without a driver
*/
#ifndef GFX_USE_GDRIVER
#define GFX_USE_GDRIVER GFXON
#endif
/**
* @brief GFX Graphics Display Basic API
* @details Defaults to GFXOFF
* @note Also add the specific hardware driver to your makefile.
* Eg. include $(GFXLIB)/drivers/gdisp/Nokia6610/driver.mk
*/
#ifndef GFX_USE_GDISP
#define GFX_USE_GDISP GFXOFF
#endif
/**
* @brief GFX Graphics Windowing API
* @details Defaults to GFXOFF
* @details Extends the GDISP API to add the concept of graphic windows.
* @note Also supports high-level "window" objects such as console windows,
* buttons, graphing etc
*/
#ifndef GFX_USE_GWIN
#define GFX_USE_GWIN GFXOFF
#endif
/**
* @brief GFX Event API
* @details Defaults to GFXOFF
* @details Defines the concept of a "Source" that can send "Events" to "Listeners".
*/
#ifndef GFX_USE_GEVENT
#define GFX_USE_GEVENT GFXOFF
#endif
/**
* @brief GFX Timer API
* @details Defaults to GFXOFF
* @details Provides thread context timers - both one-shot and periodic.
*/
#ifndef GFX_USE_GTIMER
#define GFX_USE_GTIMER GFXOFF
#endif
/**
* @brief GFX Queue API
* @details Defaults to GFXOFF
* @details Provides queue management.
*/
#ifndef GFX_USE_GQUEUE
#define GFX_USE_GQUEUE GFXOFF
#endif
/**
* @brief GFX Input Device API
* @details Defaults to GFXOFF
* @note Also add the specific hardware drivers to your makefile.
* Eg.
* include $(GFXLIB)/drivers/ginput/toggle/Pal/driver.mk
* and...
* include $(GFXLIB)/drivers/ginput/touch/MCU/driver.mk
*/
#ifndef GFX_USE_GINPUT
#define GFX_USE_GINPUT GFXOFF
#endif
/**
* @brief GFX Generic Periodic ADC API
* @details Defaults to GFXOFF
*/
#ifndef GFX_USE_GADC
#define GFX_USE_GADC GFXOFF
#endif
/**
* @brief GFX Audio API
* @details Defaults to GFXOFF
* @note Also add the specific hardware drivers to your makefile.
* Eg.
* include $(GFXLIB)/drivers/gaudio/GADC/driver.mk
*/
#ifndef GFX_USE_GAUDIO
#define GFX_USE_GAUDIO GFXOFF
#endif
/**
* @brief GFX Miscellaneous Routines API
* @details Defaults to GFXOFF
* @note Turning this on without turning on any GMISC_NEED_xxx macros will result
* in no extra code being compiled in. GMISC is made up from the sum of its
* parts.
*/
#ifndef GFX_USE_GMISC
#define GFX_USE_GMISC GFXOFF
#endif
/**
* @brief GFX File API
* @details Defaults to GFXOFF
*/
#ifndef GFX_USE_GFILE
#define GFX_USE_GFILE GFXOFF
#endif
/**
* @brief GFX Translation Support API
* @details Defaults to GFXOFF
*/
#ifndef GFX_USE_GTRANS
#define GFX_USE_GTRANS GFXOFF
#endif
/** @} */
/**
* @name GFX compatibility options
* @{
*/
/**
* @brief Include the uGFX V2.x Old Colors
* @details Defaults to GFXON
* @pre Requires GFX_COMPAT_V2 to be GFXON
* @note The old color definitions (particularly Red, Green & Blue) can
* cause symbol conflicts with many platforms eg Win32, STM32 HAL etc.
* Although officially these symbols are part of the V2.x API, this
* option allows them to be turned off even when the rest of the V2.x
* API is turned on.
*/
#ifndef GFX_COMPAT_OLDCOLORS
#define GFX_COMPAT_OLDCOLORS GFXON
#endif
/** @} */
/** @} */