diff --git a/gfx.h b/gfx.h index afaf7b87..2e25db88 100644 --- a/gfx.h +++ b/gfx.h @@ -229,6 +229,7 @@ extern "C" { * @note If you define GFX_OS_EXTRA_DEINIT_FUNCTION in your gfxconf.h file the macro is the * name of a void function with no parameters that is called immediately before * operating system de-initialisation (as ugfx is exiting). + * @note If GFX_OS_CALL_UGFXMAIN is set uGFXMain() is called after all initialisation is complete. * * @api */ @@ -243,6 +244,17 @@ extern "C" { */ void gfxDeinit(void); + #if GFX_OS_CALL_UGFXMAIN || defined(__DOXYGEN__) + /** + * @brief The function containing all the user uGFX application code. + * + * @note This is called by gfxInit() and is expected to never return. + * It is defined by the user. + * + * @pre GFX_OS_CALL_UGFXMAIN is GFXON + */ + void uGFXMain(void); + #endif #ifdef __cplusplus } #endif diff --git a/src/gfx.c b/src/gfx.c index e35bcd3d..dac9e470 100644 --- a/src/gfx.c +++ b/src/gfx.c @@ -78,9 +78,6 @@ extern void _gosDeinit(void); extern void _gtransInit(void); extern void _gtransDeinit(void); #endif -#if GFX_OS_CALL_UGFXMAIN - extern void uGFXMain(void); -#endif void gfxInit(void) { diff --git a/src/gos/gos_freertos.c b/src/gos/gos_freertos.c index 93696581..414b0bab 100644 --- a/src/gos/gos_freertos.c +++ b/src/gos/gos_freertos.c @@ -38,8 +38,6 @@ void _gosInit(void) } #if !GFX_OS_NO_INIT && GFX_OS_CALL_UGFXMAIN - extern void uGFXMain(void); - static DECLARE_THREAD_FUNCTION(startUGFX_FreeRTOS, p) { (void) p; uGFXMain();