aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/modules/gadc/gwinosc.c2
-rw-r--r--demos/modules/gaudin/gwinosc.c2
-rw-r--r--drivers/gadc/AT91SAM7/gadc_lld.c2
-rw-r--r--drivers/gaudin/Win32/gaudin_lld.c2
-rw-r--r--drivers/gaudin/gadc/gaudin_lld.c2
-rw-r--r--drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c4
-rw-r--r--drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c4
-rw-r--r--drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c4
-rw-r--r--drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c4
-rw-r--r--drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c4
-rw-r--r--drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c4
-rw-r--r--drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c6
-rw-r--r--drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c6
-rw-r--r--drivers/gdisp/RA8875/gdisp_lld_RA8875.c4
-rw-r--r--drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c4
-rw-r--r--drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c4
-rw-r--r--drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c6
-rw-r--r--drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c6
-rw-r--r--drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c6
-rw-r--r--drivers/gdisp/ST7565/gdisp_lld_ST7565.c6
-rw-r--r--drivers/gdisp/TestStub/gdisp_lld_TestStub.c4
-rw-r--r--drivers/ginput/dial/GADC/ginput_lld_dial.c2
-rw-r--r--drivers/ginput/toggle/Pal/ginput_lld_toggle.c2
-rw-r--r--drivers/ginput/touch/ADS7843/ginput_lld_mouse.c2
-rw-r--r--drivers/ginput/touch/FT5x06/ginput_lld_mouse.c8
-rw-r--r--drivers/ginput/touch/MCU/ginput_lld_mouse.c2
-rw-r--r--drivers/ginput/touch/STMPE811/ginput_lld_mouse.c6
-rw-r--r--drivers/multiple/Win32/gdisp_lld_Win32.c8
-rw-r--r--drivers/multiple/X/gdisp_lld_X.c6
-rw-r--r--drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c8
-rw-r--r--gfx.h (renamed from include/gfx.h)67
-rw-r--r--gfx.mk26
-rw-r--r--include/gfx_rules.h246
-rw-r--r--releases.txt5
-rw-r--r--src/gadc/driver.h (renamed from include/gadc/lld/gadc_lld.h)2
-rw-r--r--src/gadc/gadc.c2
-rw-r--r--src/gadc/sys_defs.h (renamed from include/gadc/gadc.h)2
-rw-r--r--src/gadc/sys_make.mk (renamed from src/gadc/gadc.mk)2
-rw-r--r--src/gadc/sys_options.h (renamed from include/gadc/options.h)2
-rw-r--r--src/gadc/sys_rules.h30
-rw-r--r--src/gaudin/driver.h (renamed from include/gaudin/lld/gaudin_lld.h)2
-rw-r--r--src/gaudin/gaudin.c2
-rw-r--r--src/gaudin/sys_defs.h (renamed from include/gaudin/gaudin.h)4
-rw-r--r--src/gaudin/sys_make.mk (renamed from src/gaudin/gaudin.mk)2
-rw-r--r--src/gaudin/sys_options.h (renamed from include/gaudin/options.h)52
-rw-r--r--src/gaudin/sys_rules.h30
-rw-r--r--src/gaudout/sys_defs.h (renamed from include/gaudout/gaudout.h)2
-rw-r--r--src/gaudout/sys_make.mk (renamed from src/gaudout/gaudout.mk)2
-rw-r--r--src/gaudout/sys_options.h (renamed from include/gaudout/options.h)52
-rw-r--r--src/gaudout/sys_rules.h23
-rw-r--r--src/gdisp/colors.h (renamed from include/gdisp/colors.h)0
-rw-r--r--src/gdisp/driver.h (renamed from include/gdisp/lld/gdisp_lld.h)2
-rw-r--r--src/gdisp/fonts/build_fonts.sh2
-rw-r--r--src/gdisp/fonts/fonts.h34
-rw-r--r--src/gdisp/gdisp.c2
-rw-r--r--src/gdisp/image.h (renamed from include/gdisp/image.h)0
-rw-r--r--src/gdisp/mcufont/mf_config.h4
-rw-r--r--src/gdisp/sys_defs.h (renamed from include/gdisp/gdisp.h)4
-rw-r--r--src/gdisp/sys_make.mk (renamed from src/gdisp/gdisp.mk)0
-rw-r--r--src/gdisp/sys_options.h (renamed from include/gdisp/options.h)2
-rw-r--r--src/gdisp/sys_rules.h85
-rw-r--r--src/gevent/sys_defs.h (renamed from include/gevent/gevent.h)2
-rw-r--r--src/gevent/sys_make.mk (renamed from src/gevent/gevent.mk)2
-rw-r--r--src/gevent/sys_options.h (renamed from include/gevent/options.h)2
-rw-r--r--src/gevent/sys_rules.h23
-rw-r--r--src/gfile/gfile.c12
-rw-r--r--src/gfile/sys_defs.h (renamed from include/gfile/gfile.h)2
-rw-r--r--src/gfile/sys_make.mk (renamed from src/gfile/gfile.mk)0
-rw-r--r--src/gfile/sys_options.h (renamed from include/gfile/options.h)2
-rw-r--r--src/gfile/sys_rules.h23
-rw-r--r--src/ginput/dial.c2
-rw-r--r--src/ginput/dial.h (renamed from include/ginput/dial.h)0
-rw-r--r--src/ginput/driver_dial.h (renamed from include/ginput/lld/dial.h)2
-rw-r--r--src/ginput/driver_mouse.h (renamed from include/ginput/lld/mouse.h)2
-rw-r--r--src/ginput/driver_toggle.h (renamed from include/ginput/lld/toggle.h)2
-rw-r--r--src/ginput/keyboard.h (renamed from include/ginput/keyboard.h)0
-rw-r--r--src/ginput/mouse.c2
-rw-r--r--src/ginput/mouse.h (renamed from include/ginput/mouse.h)0
-rw-r--r--src/ginput/sys_defs.h (renamed from include/ginput/ginput.h)10
-rw-r--r--src/ginput/sys_make.mk (renamed from src/ginput/ginput.mk)10
-rw-r--r--src/ginput/sys_options.h (renamed from include/ginput/options.h)216
-rw-r--r--src/ginput/sys_rules.h37
-rw-r--r--src/ginput/toggle.c2
-rw-r--r--src/ginput/toggle.h (renamed from include/ginput/toggle.h)0
-rw-r--r--src/gmisc/sys_defs.h (renamed from include/gmisc/gmisc.h)2
-rw-r--r--src/gmisc/sys_make.mk (renamed from src/gmisc/gmisc.mk)6
-rw-r--r--src/gmisc/sys_options.h (renamed from include/gmisc/options.h)163
-rw-r--r--src/gmisc/sys_rules.h23
-rw-r--r--src/gos/chibios.h (renamed from include/gos/chibios.h)0
-rw-r--r--src/gos/linux.h (renamed from include/gos/linux.h)0
-rw-r--r--src/gos/osx.h (renamed from include/gos/osx.h)0
-rw-r--r--src/gos/raw32.h (renamed from include/gos/raw32.h)0
-rw-r--r--src/gos/sys_defs.h (renamed from include/gos/gos.h)12
-rw-r--r--src/gos/sys_make.mk (renamed from src/gos/gos.mk)0
-rw-r--r--src/gos/sys_options.h (renamed from include/gos/options.h)2
-rw-r--r--src/gos/sys_rules.h31
-rw-r--r--src/gos/win32.h (renamed from include/gos/win32.h)0
-rw-r--r--src/gqueue/sys_defs.h (renamed from include/gqueue/gqueue.h)2
-rw-r--r--src/gqueue/sys_make.mk (renamed from src/gqueue/gqueue.mk)0
-rw-r--r--src/gqueue/sys_options.h (renamed from include/gqueue/options.h)2
-rw-r--r--src/gqueue/sys_rules.h23
-rw-r--r--src/gtimer/sys_defs.h (renamed from include/gtimer/gtimer.h)2
-rw-r--r--src/gtimer/sys_make.mk (renamed from src/gtimer/gtimer.mk)2
-rw-r--r--src/gtimer/sys_options.h (renamed from include/gtimer/options.h)2
-rw-r--r--src/gtimer/sys_rules.h29
-rw-r--r--src/gwin/button.c2
-rw-r--r--src/gwin/button.h (renamed from include/gwin/button.h)0
-rw-r--r--src/gwin/checkbox.c2
-rw-r--r--src/gwin/checkbox.h (renamed from include/gwin/checkbox.h)0
-rw-r--r--src/gwin/class_gwin.h (renamed from include/gwin/class_gwin.h)0
-rw-r--r--src/gwin/console.c2
-rw-r--r--src/gwin/console.h (renamed from include/gwin/console.h)0
-rw-r--r--src/gwin/gimage.c2
-rw-r--r--src/gwin/graph.c2
-rw-r--r--src/gwin/graph.h (renamed from include/gwin/graph.h)0
-rw-r--r--src/gwin/gwidget.c2
-rw-r--r--src/gwin/gwidget.h (renamed from include/gwin/gwidget.h)14
-rw-r--r--src/gwin/gwin.c2
-rw-r--r--src/gwin/gwm.c2
-rw-r--r--src/gwin/image.h (renamed from include/gwin/image.h)0
-rw-r--r--src/gwin/label.c2
-rw-r--r--src/gwin/label.h (renamed from include/gwin/label.h)0
-rw-r--r--src/gwin/list.c2
-rw-r--r--src/gwin/list.h (renamed from include/gwin/list.h)0
-rw-r--r--src/gwin/progressbar.c2
-rw-r--r--src/gwin/progressbar.h (renamed from include/gwin/progressbar.h)0
-rw-r--r--src/gwin/radio.c2
-rw-r--r--src/gwin/radio.h (renamed from include/gwin/radio.h)0
-rw-r--r--src/gwin/slider.c2
-rw-r--r--src/gwin/slider.h (renamed from include/gwin/slider.h)0
-rw-r--r--src/gwin/sys_defs.h (renamed from include/gwin/gwin.h)10
-rw-r--r--src/gwin/sys_make.mk (renamed from src/gwin/gwin.mk)0
-rw-r--r--src/gwin/sys_options.h (renamed from include/gwin/options.h)2
-rw-r--r--src/gwin/sys_rules.h99
-rw-r--r--tools/uGFXnetDisplay/main.c2
135 files changed, 931 insertions, 696 deletions
diff --git a/demos/modules/gadc/gwinosc.c b/demos/modules/gadc/gwinosc.c
index 4cc1fc3a..afa12bfc 100644
--- a/demos/modules/gadc/gwinosc.c
+++ b/demos/modules/gadc/gwinosc.c
@@ -36,7 +36,7 @@
#include "gwinosc.h"
/* Include internal GWIN routines so we can build our own superset class */
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
/* The size of our dynamically allocated audio buffer */
#define AUDIOBUFSZ 64*2
diff --git a/demos/modules/gaudin/gwinosc.c b/demos/modules/gaudin/gwinosc.c
index 28a5cf69..43ef1385 100644
--- a/demos/modules/gaudin/gwinosc.c
+++ b/demos/modules/gaudin/gwinosc.c
@@ -43,7 +43,7 @@
#include "gwinosc.h"
/* Include internal GWIN routines so we can build our own superset class */
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
/* The size of our dynamically allocated audio buffer */
#define AUDIOBUFSZ 64*2
diff --git a/drivers/gadc/AT91SAM7/gadc_lld.c b/drivers/gadc/AT91SAM7/gadc_lld.c
index 78a60109..f18f2717 100644
--- a/drivers/gadc/AT91SAM7/gadc_lld.c
+++ b/drivers/gadc/AT91SAM7/gadc_lld.c
@@ -18,7 +18,7 @@
#if GFX_USE_GADC
-#include "gadc/lld/gadc_lld.h"
+#include "src/gadc/driver.h"
static ADCConversionGroup acg = {
FALSE, // circular
diff --git a/drivers/gaudin/Win32/gaudin_lld.c b/drivers/gaudin/Win32/gaudin_lld.c
index dce4cad3..e798f4ef 100644
--- a/drivers/gaudin/Win32/gaudin_lld.c
+++ b/drivers/gaudin/Win32/gaudin_lld.c
@@ -15,7 +15,7 @@
#if GFX_USE_GAUDIN
/* Include the driver defines */
-#include "gaudin/lld/gaudin_lld.h"
+#include "src/gaudin/driver.h"
#undef Red
#undef Green
diff --git a/drivers/gaudin/gadc/gaudin_lld.c b/drivers/gaudin/gadc/gaudin_lld.c
index 10730797..972f3dcf 100644
--- a/drivers/gaudin/gadc/gaudin_lld.c
+++ b/drivers/gaudin/gadc/gaudin_lld.c
@@ -31,7 +31,7 @@
#endif
/* Include the driver defines */
-#include "gaudin/lld/gaudin_lld.h"
+#include "src/gaudin/driver.h"
/*===========================================================================*/
/* External declarations. */
diff --git a/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c b/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c
index 166f564b..1c61ee93 100644
--- a/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c
+++ b/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_ED060SC4
-#include "../drivers/gdisp/ED060SC4/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/ED060SC4/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_ED060SC4.h"
diff --git a/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c b/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c
index 88d3d19a..35492541 100644
--- a/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c
+++ b/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_HX8347D
-#include "../drivers/gdisp/HX8347D/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/HX8347D/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_HX8347D.h"
diff --git a/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c b/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c
index 816d9956..ab0cc0ce 100644
--- a/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c
+++ b/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c
@@ -25,8 +25,8 @@
#endif
#define GDISP_DRIVER_VMT GDISPVMT_ILI9320
-#include "../drivers/gdisp/ILI9320/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/ILI9320/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_ILI9320.h"
diff --git a/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c b/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c
index 0197a536..e2900514 100644
--- a/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c
+++ b/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c
@@ -25,8 +25,8 @@
#endif
#define GDISP_DRIVER_VMT GDISPVMT_ILI9325
-#include "../drivers/gdisp/ILI9325/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/ILI9325/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_ILI9325.h"
diff --git a/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c b/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c
index 4a21aa32..134e3614 100644
--- a/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c
+++ b/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c
@@ -25,8 +25,8 @@
#endif
#define GDISP_DRIVER_VMT GDISPVMT_ILI9341
-#include "../drivers/gdisp/ILI9341/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/ILI9341/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_ILI9341.h"
diff --git a/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c b/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c
index c96faf33..748ee469 100644
--- a/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c
+++ b/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c
@@ -25,8 +25,8 @@
#endif
#define GDISP_DRIVER_VMT GDISPVMT_ILI9481
-#include "../drivers/gdisp/ILI9481/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/ILI9481/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_ILI9481.h"
diff --git a/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c b/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c
index 261f6f66..f0603ca8 100644
--- a/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c
+++ b/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c
@@ -24,8 +24,8 @@
#endif
#define GDISP_DRIVER_VMT GDISPVMT_Nokia6610GE12
-#include "../drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_Nokia6610GE12.h"
@@ -33,7 +33,7 @@
/* Driver local definitions. */
/*===========================================================================*/
-#include "GE12.h"
+#include "drivers/gdisp/Nokia6610GE12/GE12.h"
#define GDISP_SCAN_LINES 132
#define GDISP_SLEEP_SIZE 32 /* Sleep mode window lines - this must be 32 on this controller */
diff --git a/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c b/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c
index afb060c1..0e2c7e4e 100644
--- a/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c
+++ b/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c
@@ -59,8 +59,8 @@
#endif
#define GDISP_DRIVER_VMT GDISPVMT_Nokia6610GE8
-#include "../drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_Nokia6610GE8.h"
@@ -68,7 +68,7 @@
/* Driver local definitions. */
/*===========================================================================*/
-#include "GE8.h"
+#include "drivers/gdisp/Nokia6610GE8/GE8.h"
#define GDISP_SCAN_LINES 132
diff --git a/drivers/gdisp/RA8875/gdisp_lld_RA8875.c b/drivers/gdisp/RA8875/gdisp_lld_RA8875.c
index e3fee636..a4d1d0e1 100644
--- a/drivers/gdisp/RA8875/gdisp_lld_RA8875.c
+++ b/drivers/gdisp/RA8875/gdisp_lld_RA8875.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP /*|| defined(__DOXYGEN__)*/
#define GDISP_DRIVER_VMT GDISPVMT_RA8875
-#include "../drivers/gdisp/RA8875/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/RA8875/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
/* include the users board interface */
#include "board_RA8875.h"
diff --git a/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c b/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c
index 78b659de..389b27fe 100644
--- a/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c
+++ b/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c
@@ -27,8 +27,8 @@
#endif
#define GDISP_DRIVER_VMT GDISPVMT_S6D1121
-#include "../drivers/gdisp/S6D1121/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/S6D1121/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_S6D1121.h"
diff --git a/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c b/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c
index 79ac7dd9..75338745 100644
--- a/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c
+++ b/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_SSD1289
-#include "../drivers/gdisp/SSD1289/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/SSD1289/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_SSD1289.h"
diff --git a/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c b/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c
index b7bce1e2..5dd4c2ab 100644
--- a/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c
+++ b/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_SSD1306
-#include "../drivers/gdisp/SSD1306/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/SSD1306/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_SSD1306.h"
@@ -46,7 +46,7 @@
#define GDISP_FLG_NEEDFLUSH (GDISP_FLG_DRIVER<<0)
-#include "SSD1306.h"
+#include "drivers/gdisp/SSD1306/SSD1306.h"
/*===========================================================================*/
/* Driver local functions. */
diff --git a/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c b/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c
index e1924c2d..1e69ef70 100644
--- a/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c
+++ b/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_SSD1963
-#include "../drivers/gdisp/SSD1963/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/SSD1963/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#define CALC_PERIOD(w,b,f,p) (p+b+w+f)
#define CALC_FPR(w,h,hb,hf,hp,vb,vf,vp,fps) ((fps * CALC_PERIOD(w,hb,hf,hp) * CALC_PERIOD(h,vb,vf,vp) * 1048576)/100000000)
@@ -51,7 +51,7 @@ typedef struct LCD_Parameters {
/* Driver local functions. */
/*===========================================================================*/
-#include "ssd1963.h"
+#include "drivers/gdisp/SSD1963/ssd1963.h"
#define write_reg(g, reg, data) { write_index(g, reg); write_data(g, data); }
#define write_data16(g, data) { write_data(g, (data)>>8); write_data(g, (data) & 0xFF); }
diff --git a/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c b/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c
index a58d2973..8af9a123 100644
--- a/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c
+++ b/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_SSD2119
-#include "../drivers/gdisp/SSD2119/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/SSD2119/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_SSD2119.h"
@@ -37,7 +37,7 @@
#define GDISP_INITIAL_BACKLIGHT 100
#endif
-#include "ssd2119.h"
+#include "drivers/gdisp/SSD2119/ssd2119.h"
/*===========================================================================*/
/* Driver local functions. */
diff --git a/drivers/gdisp/ST7565/gdisp_lld_ST7565.c b/drivers/gdisp/ST7565/gdisp_lld_ST7565.c
index 5b0e9f27..b3029391 100644
--- a/drivers/gdisp/ST7565/gdisp_lld_ST7565.c
+++ b/drivers/gdisp/ST7565/gdisp_lld_ST7565.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_ST7565
-#include "../drivers/gdisp/ST7565/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/ST7565/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#include "board_ST7565.h"
@@ -39,7 +39,7 @@
#define GDISP_FLG_NEEDFLUSH (GDISP_FLG_DRIVER<<0)
-#include "st7565.h"
+#include "drivers/gdisp/ST7565/st7565.h"
/*===========================================================================*/
/* Driver config defaults for backward compatibility. */
diff --git a/drivers/gdisp/TestStub/gdisp_lld_TestStub.c b/drivers/gdisp/TestStub/gdisp_lld_TestStub.c
index 1a5ad81f..f87826aa 100644
--- a/drivers/gdisp/TestStub/gdisp_lld_TestStub.c
+++ b/drivers/gdisp/TestStub/gdisp_lld_TestStub.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP /*|| defined(__DOXYGEN__)*/
#define GDISP_DRIVER_VMT GDISPVMT_TestStub
-#include "../drivers/gdisp/TestStub/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/gdisp/TestStub/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#ifndef GDISP_SCREEN_HEIGHT
#define GDISP_SCREEN_HEIGHT 128
diff --git a/drivers/ginput/dial/GADC/ginput_lld_dial.c b/drivers/ginput/dial/GADC/ginput_lld_dial.c
index af633771..cefe5689 100644
--- a/drivers/ginput/dial/GADC/ginput_lld_dial.c
+++ b/drivers/ginput/dial/GADC/ginput_lld_dial.c
@@ -18,7 +18,7 @@
#if GFX_USE_GINPUT && GINPUT_NEED_DIAL
-#include "ginput/lld/dial.h"
+#include "src/ginput/driver_dial.h"
#if GINPUT_DIAL_NUM_PORTS >= 5
#error "GINPUT: Dial - GADC driver currently only supports 4 devices"
diff --git a/drivers/ginput/toggle/Pal/ginput_lld_toggle.c b/drivers/ginput/toggle/Pal/ginput_lld_toggle.c
index 3ed923bc..09290f17 100644
--- a/drivers/ginput/toggle/Pal/ginput_lld_toggle.c
+++ b/drivers/ginput/toggle/Pal/ginput_lld_toggle.c
@@ -18,7 +18,7 @@
#if (GFX_USE_GINPUT && GINPUT_NEED_TOGGLE) /*|| defined(__DOXYGEN__)*/
-#include "ginput/lld/toggle.h"
+#include "src/ginput/driver_toggle.h"
GINPUT_TOGGLE_DECLARE_STRUCTURE();
diff --git a/drivers/ginput/touch/ADS7843/ginput_lld_mouse.c b/drivers/ginput/touch/ADS7843/ginput_lld_mouse.c
index 074fd7ce..890b65ae 100644
--- a/drivers/ginput/touch/ADS7843/ginput_lld_mouse.c
+++ b/drivers/ginput/touch/ADS7843/ginput_lld_mouse.c
@@ -18,7 +18,7 @@
#if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) /*|| defined(__DOXYGEN__)*/
-#include "ginput/lld/mouse.h"
+#include "src/ginput/driver_mouse.h"
#include "ginput_lld_mouse_board.h"
diff --git a/drivers/ginput/touch/FT5x06/ginput_lld_mouse.c b/drivers/ginput/touch/FT5x06/ginput_lld_mouse.c
index 74670c1e..43baa9b7 100644
--- a/drivers/ginput/touch/FT5x06/ginput_lld_mouse.c
+++ b/drivers/ginput/touch/FT5x06/ginput_lld_mouse.c
@@ -14,15 +14,13 @@
* @{
*/
-#include "ch.h"
-#include "hal.h"
#include "gfx.h"
-#include "ft5x06.h"
-
#if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) /*|| defined(__DOXYGEN__)*/
-#include "ginput/lld/mouse.h"
+#include "src/ginput/driver_mouse.h"
+
+#include "drivers/ginput/touch/FT5x06/ft5x06.h"
// include board abstraction
#include "ginput_lld_mouse_board.h"
diff --git a/drivers/ginput/touch/MCU/ginput_lld_mouse.c b/drivers/ginput/touch/MCU/ginput_lld_mouse.c
index 1e325318..d7a2e314 100644
--- a/drivers/ginput/touch/MCU/ginput_lld_mouse.c
+++ b/drivers/ginput/touch/MCU/ginput_lld_mouse.c
@@ -19,7 +19,7 @@
#if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) /*|| defined(__DOXYGEN__)*/
-#include "ginput/lld/mouse.h"
+#include "src/ginput/driver_mouse.h"
#include "ginput_lld_mouse_board.h"
diff --git a/drivers/ginput/touch/STMPE811/ginput_lld_mouse.c b/drivers/ginput/touch/STMPE811/ginput_lld_mouse.c
index 9ec1bdaa..d650e603 100644
--- a/drivers/ginput/touch/STMPE811/ginput_lld_mouse.c
+++ b/drivers/ginput/touch/STMPE811/ginput_lld_mouse.c
@@ -16,11 +16,11 @@
#include "gfx.h"
-#include "stmpe811.h"
-
#if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) /*|| defined(__DOXYGEN__)*/
-#include "ginput/lld/mouse.h"
+#include "src/ginput/driver_mouse.h"
+
+#include "drivers/ginput/touch/STMPE811/stmpe811.h"
#include "ginput_lld_mouse_board.h"
diff --git a/drivers/multiple/Win32/gdisp_lld_Win32.c b/drivers/multiple/Win32/gdisp_lld_Win32.c
index 9425bd36..7bd9379f 100644
--- a/drivers/multiple/Win32/gdisp_lld_Win32.c
+++ b/drivers/multiple/Win32/gdisp_lld_Win32.c
@@ -14,8 +14,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_Win32
-#include "../drivers/multiple/Win32/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/multiple/Win32/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
#ifndef GDISP_SCREEN_WIDTH
#define GDISP_SCREEN_WIDTH 640
@@ -64,12 +64,12 @@
#if GINPUT_NEED_TOGGLE
/* Include toggle support code */
- #include "ginput/lld/toggle.h"
+ #include "src/ginput/driver_toggle.h"
#endif
#if GINPUT_NEED_MOUSE
/* Include mouse support code */
- #include "ginput/lld/mouse.h"
+ #include "src/ginput/driver_mouse.h"
#endif
static DWORD winThreadId;
diff --git a/drivers/multiple/X/gdisp_lld_X.c b/drivers/multiple/X/gdisp_lld_X.c
index dcc76d09..940f4f7b 100644
--- a/drivers/multiple/X/gdisp_lld_X.c
+++ b/drivers/multiple/X/gdisp_lld_X.c
@@ -15,8 +15,8 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_X11
-#include "../drivers/multiple/X/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
+#include "drivers/multiple/X/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
/**
* Our color model - Default or 24 bit only.
@@ -40,7 +40,7 @@
#if GINPUT_NEED_MOUSE
/* Include mouse support code */
- #include "ginput/lld/mouse.h"
+ #include "src/ginput/driver_mouse.h"
#endif
#include <X11/Xlib.h>
diff --git a/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c b/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
index 787062f6..18a53580 100644
--- a/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
+++ b/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
@@ -14,9 +14,9 @@
#if GFX_USE_GDISP
#define GDISP_DRIVER_VMT GDISPVMT_uGFXnet
-#include "../drivers/multiple/uGFXnet/gdisp_lld_config.h"
-#include "gdisp/lld/gdisp_lld.h"
-#include "../drivers/multiple/uGFXnet/uGFXnetProtocol.h"
+#include "drivers/multiple/uGFXnet/gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
+#include "drivers/multiple/uGFXnet/uGFXnetProtocol.h"
#ifndef GDISP_SCREEN_WIDTH
#define GDISP_SCREEN_WIDTH 640
@@ -107,7 +107,7 @@
#if GINPUT_NEED_MOUSE
/* Include mouse support code */
- #include "ginput/lld/mouse.h"
+ #include "src/ginput/driver_mouse.h"
#endif
/*===========================================================================*/
diff --git a/include/gfx.h b/gfx.h
index 0c922669..77aba969 100644
--- a/include/gfx.h
+++ b/gfx.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gfx.h
+ * @file gfx.h
* @brief GFX system header file.
*
* @addtogroup GFX
@@ -163,40 +163,55 @@
* Get all the options for each sub-system.
*
*/
-#include "gos/options.h"
-#include "gfile/options.h"
-#include "gmisc/options.h"
-#include "gqueue/options.h"
-#include "gevent/options.h"
-#include "gtimer/options.h"
-#include "gdisp/options.h"
-#include "gwin/options.h"
-#include "ginput/options.h"
-#include "gadc/options.h"
-#include "gaudin/options.h"
-#include "gaudout/options.h"
+#include "src/gos/sys_options.h"
+#include "src/gfile/sys_options.h"
+#include "src/gmisc/sys_options.h"
+#include "src/gqueue/sys_options.h"
+#include "src/gevent/sys_options.h"
+#include "src/gtimer/sys_options.h"
+#include "src/gdisp/sys_options.h"
+#include "src/gwin/sys_options.h"
+#include "src/ginput/sys_options.h"
+#include "src/gadc/sys_options.h"
+#include "src/gaudin/sys_options.h"
+#include "src/gaudout/sys_options.h"
/**
* Interdependency safety checks on the sub-systems.
+ * These must be in dependency order.
*
*/
-#include "gfx_rules.h"
+#ifndef GFX_DISPLAY_RULE_WARNINGS
+ #define GFX_DISPLAY_RULE_WARNINGS FALSE
+#endif
+#include "src/gwin/sys_rules.h"
+#include "src/ginput/sys_rules.h"
+#include "src/gdisp/sys_rules.h"
+#include "src/gaudout/sys_rules.h"
+#include "src/gaudin/sys_rules.h"
+#include "src/gadc/sys_rules.h"
+#include "src/gevent/sys_rules.h"
+#include "src/gtimer/sys_rules.h"
+#include "src/gqueue/sys_rules.h"
+#include "src/gmisc/sys_rules.h"
+#include "src/gfile/sys_rules.h"
+#include "src/gos/sys_rules.h"
/**
* Include the sub-system header files
*/
-#include "gos/gos.h"
-#include "gfile/gfile.h"
-#include "gmisc/gmisc.h"
-#include "gqueue/gqueue.h"
-#include "gevent/gevent.h"
-#include "gtimer/gtimer.h"
-#include "gdisp/gdisp.h"
-#include "gwin/gwin.h"
-#include "ginput/ginput.h"
-#include "gadc/gadc.h"
-#include "gaudin/gaudin.h"
-#include "gaudout/gaudout.h"
+#include "src/gos/sys_defs.h"
+#include "src/gfile/sys_defs.h"
+#include "src/gmisc/sys_defs.h"
+#include "src/gqueue/sys_defs.h"
+#include "src/gevent/sys_defs.h"
+#include "src/gtimer/sys_defs.h"
+#include "src/gdisp/sys_defs.h"
+#include "src/gwin/sys_defs.h"
+#include "src/ginput/sys_defs.h"
+#include "src/gadc/sys_defs.h"
+#include "src/gaudin/sys_defs.h"
+#include "src/gaudout/sys_defs.h"
#ifdef __cplusplus
extern "C" {
diff --git a/gfx.mk b/gfx.mk
index 0ee3e3f1..8ac6e36b 100644
--- a/gfx.mk
+++ b/gfx.mk
@@ -1,15 +1,15 @@
-GFXINC += $(GFXLIB)/include
+GFXINC += $(GFXLIB)
GFXSRC += $(GFXLIB)/src/gfx.c
-include $(GFXLIB)/src/gos/gos.mk
-include $(GFXLIB)/src/gqueue/gqueue.mk
-include $(GFXLIB)/src/gdisp/gdisp.mk
-include $(GFXLIB)/src/gevent/gevent.mk
-include $(GFXLIB)/src/gtimer/gtimer.mk
-include $(GFXLIB)/src/gwin/gwin.mk
-include $(GFXLIB)/src/ginput/ginput.mk
-include $(GFXLIB)/src/gadc/gadc.mk
-include $(GFXLIB)/src/gaudin/gaudin.mk
-include $(GFXLIB)/src/gaudout/gaudout.mk
-include $(GFXLIB)/src/gmisc/gmisc.mk
-include $(GFXLIB)/src/gfile/gfile.mk
+include $(GFXLIB)/src/gos/sys_make.mk
+include $(GFXLIB)/src/gqueue/sys_make.mk
+include $(GFXLIB)/src/gdisp/sys_make.mk
+include $(GFXLIB)/src/gevent/sys_make.mk
+include $(GFXLIB)/src/gtimer/sys_make.mk
+include $(GFXLIB)/src/gwin/sys_make.mk
+include $(GFXLIB)/src/ginput/sys_make.mk
+include $(GFXLIB)/src/gadc/sys_make.mk
+include $(GFXLIB)/src/gaudin/sys_make.mk
+include $(GFXLIB)/src/gaudout/sys_make.mk
+include $(GFXLIB)/src/gmisc/sys_make.mk
+include $(GFXLIB)/src/gfile/sys_make.mk
diff --git a/include/gfx_rules.h b/include/gfx_rules.h
deleted file mode 100644
index 817ff749..00000000
--- a/include/gfx_rules.h
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * 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:
- *
- * http://ugfx.org/license.html
- */
-
-/**
- * @file include/gfx_rules.h
- * @brief GFX system safety rules header file.
- *
- * @addtogroup GFX
- * @{
- */
-
-#ifndef _GFX_RULES_H
-#define _GFX_RULES_H
-
-/**
- * Safety checks on all the defines.
- *
- * These are defined in the order of their inter-dependancies.
- */
-
-#ifndef GFX_DISPLAY_RULE_WARNINGS
- #define GFX_DISPLAY_RULE_WARNINGS FALSE
-#endif
-
-#if !GFX_USE_OS_CHIBIOS && !GFX_USE_OS_WIN32 && !GFX_USE_OS_LINUX && !GFX_USE_OS_OSX && !GFX_USE_OS_RAW32
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GOS: No Operating System has been defined. ChibiOS (GFX_USE_OS_CHIBIOS) has been turned on for you."
- #endif
- #undef GFX_USE_OS_CHIBIOS
- #define GFX_USE_OS_CHIBIOS TRUE
-#endif
-#if GFX_USE_OS_CHIBIOS + GFX_USE_OS_WIN32 + GFX_USE_OS_LINUX + GFX_USE_OS_OSX + GFX_USE_OS_RAW32 != 1 * TRUE
- #error "GOS: More than one operation system has been defined as TRUE."
-#endif
-
-#if GFX_USE_GWIN
- #if !GFX_USE_GDISP
- #error "GWIN: GFX_USE_GDISP must be TRUE when using GWIN"
- #endif
- #if !GDISP_NEED_CLIP
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GWIN: Drawing can occur outside the defined windows as GDISP_NEED_CLIP is FALSE"
- #endif
- #endif
- #if GWIN_NEED_IMAGE
- #if !GDISP_NEED_IMAGE
- #error "GWIN: GDISP_NEED_IMAGE is required when GWIN_NEED_IMAGE is TRUE."
- #endif
- #endif
- #if GWIN_NEED_RADIO
- #if !GDISP_NEED_CIRCLE
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GWIN: GDISP_NEED_CIRCLE should be set to TRUE for much nicer radio button widgets."
- #endif
- #endif
- #endif
- #if GWIN_NEED_BUTTON || GWIN_NEED_SLIDER || GWIN_NEED_CHECKBOX || GWIN_NEED_LABEL || GWIN_NEED_RADIO || GWIN_NEED_LIST || \
- GWIN_NEED_IMAGE || GWIN_NEED_CHECKBOX || GWIN_NEED_PROGRESSBAR
- #if !GWIN_NEED_WIDGET
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GWIN: GWIN_NEED_WIDGET is required when a Widget is used. It has been turned on for you."
- #endif
- #undef GWIN_NEED_WIDGET
- #define GWIN_NEED_WIDGET TRUE
- #endif
- #endif
- #if GWIN_NEED_LIST
- #if !GDISP_NEED_TEXT
- #error "GWIN: GDISP_NEED_TEXT is required when GWIN_NEED_LIST is TRUE."
- #endif
- #endif
- #if GWIN_NEED_WIDGET
- #if !GDISP_NEED_TEXT
- #error "GWIN: GDISP_NEED_TEXT is required if GWIN_NEED_WIDGET is TRUE."
- #endif
- #if !GFX_USE_GINPUT
- // This test also ensures that GFX_USE_GEVENT is set
- #error "GWIN: GFX_USE_GINPUT (and one or more input sources) is required if GWIN_NEED_WIDGET is TRUE"
- #endif
- #if !GWIN_NEED_WINDOWMANAGER
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GWIN: GWIN_NEED_WINDOWMANAGER is required if GWIN_NEED_WIDGET is TRUE. It has been turned on for you."
- #endif
- #undef GWIN_NEED_WINDOWMANAGER
- #define GWIN_NEED_WINDOWMANAGER TRUE
- #endif
- #if !GDISP_NEED_MULTITHREAD
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GWIN: GDISP_NEED_MULTITHREAD is required if GWIN_NEED_WIDGET is TRUE. It has been turned on for you"
- #endif
- #undef GDISP_NEED_MULTITHREAD
- #define GDISP_NEED_MULTITHREAD TRUE
- #endif
- #endif
- #if GWIN_NEED_WINDOWMANAGER
- #if !GFX_USE_GQUEUE || !GQUEUE_NEED_ASYNC
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GWIN: GFX_USE_GQUEUE and GQUEUE_NEED_ASYNC is required if GWIN_NEED_WINDOWMANAGER is TRUE. It has been turned on for you."
- #endif
- #undef GFX_USE_GQUEUE
- #undef GQUEUE_NEED_ASYNC
- #define GFX_USE_GQUEUE TRUE
- #define GQUEUE_NEED_ASYNC TRUE
- #endif
- #endif
- #if GWIN_NEED_CONSOLE
- #if !GDISP_NEED_TEXT
- #error "GWIN: GDISP_NEED_TEXT is required if GWIN_NEED_CONSOLE is TRUE."
- #endif
- #endif
- #if GWIN_NEED_GRAPH
- #endif
-#endif
-
-#if GFX_USE_GINPUT
- #if !GFX_USE_GEVENT
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GINPUT: GFX_USE_GEVENT is required if GFX_USE_GINPUT is TRUE. It has been turned on for you."
- #endif
- #undef GFX_USE_GEVENT
- #define GFX_USE_GEVENT TRUE
- #endif
- #if !GFX_USE_GTIMER
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GINPUT: GFX_USE_GTIMER is required if GFX_USE_GINPUT is TRUE. It has been turned on for you."
- #endif
- #undef GFX_USE_GTIMER
- #define GFX_USE_GTIMER TRUE
- #endif
-#endif
-
-#if GFX_USE_GDISP
- #if GDISP_TOTAL_CONTROLLERS > 1
- #ifndef GDISP_CONTROLLER_LIST
- #error "GDISP Multiple Controllers: You must specify a value for GDISP_CONTROLLER_LIST"
- #endif
- #ifndef GDISP_CONTROLLER_DISPLAYS
- #error "GDISP Multiple Controllers: You must specify a value for GDISP_CONTROLLER_DISPLAYS"
- #endif
- #ifndef GDISP_PIXELFORMAT
- #error "GDISP Multiple Controllers: You must specify a value for GDISP_PIXELFORMAT"
- #endif
- #endif
- #if GDISP_NEED_AUTOFLUSH && GDISP_NEED_TIMERFLUSH
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GDISP: Both GDISP_NEED_AUTOFLUSH and GDISP_NEED_TIMERFLUSH has been set. GDISP_NEED_TIMERFLUSH has disabled for you."
- #endif
- #undef GDISP_NEED_TIMERFLUSH
- #define GDISP_NEED_TIMERFLUSH FALSE
- #endif
- #if GDISP_NEED_TIMERFLUSH
- #if GDISP_NEED_TIMERFLUSH < 50 || GDISP_NEED_TIMERFLUSH > 1200
- #error "GDISP: GDISP_NEED_TIMERFLUSH has been set to an invalid value (FALSE, 50-1200)."
- #endif
- #if !GFX_USE_GTIMER
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GDISP: GDISP_NEED_TIMERFLUSH has been set but GFX_USE_GTIMER has not been set. It has been turned on for you."
- #endif
- #undef GFX_USE_GTIMER
- #define GFX_USE_GTIMER TRUE
- #undef GDISP_NEED_MULTITHREAD
- #define GDISP_NEED_MULTITHREAD TRUE
- #endif
- #endif
- #if GDISP_NEED_ANTIALIAS && !GDISP_NEED_PIXELREAD
- #if GDISP_HARDWARE_PIXELREAD
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GDISP: GDISP_NEED_ANTIALIAS has been set but GDISP_NEED_PIXELREAD has not. It has been turned on for you."
- #endif
- #undef GDISP_NEED_PIXELREAD
- #define GDISP_NEED_PIXELREAD TRUE
- #else
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GDISP: GDISP_NEED_ANTIALIAS has been set but your hardware does not support reading back pixels. Anti-aliasing will only occur for filled characters."
- #endif
- #endif
- #endif
- #if (defined(GDISP_INCLUDE_FONT_SMALL) && GDISP_INCLUDE_FONT_SMALL) || (defined(GDISP_INCLUDE_FONT_LARGER) && GDISP_INCLUDE_FONT_LARGER)
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GDISP: An old font (Small or Larger) has been defined. A single default font of UI2 has been added instead."
- #warning "GDISP: Please see <$(GFXLIB)/include/gdisp/fonts/fonts.h> for a list of available font names."
- #endif
- #undef GDISP_INCLUDE_FONT_UI2
- #define GDISP_INCLUDE_FONT_UI2 TRUE
- #endif
- #if GDISP_NEED_IMAGE
- #if !GFX_USE_GFILE
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GDISP: GFX_USE_GFILE is required when GDISP_NEED_IMAGE is TRUE. It has been turned on for you."
- #endif
- #undef GFX_USE_GFILE
- #define GFX_USE_GFILE TRUE
- #endif
- #endif
-#endif
-
-#if GFX_USE_GAUDIN
- #if GFX_USE_GEVENT && !GFX_USE_GTIMER
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GAUDIN: GFX_USE_GTIMER is required if GFX_USE_GAUDIN and GFX_USE_GEVENT are TRUE. It has been turned on for you."
- #endif
- #undef GFX_USE_GTIMER
- #define GFX_USE_GTIMER TRUE
- #endif
-#endif
-
-#if GFX_USE_GADC
- #if !GFX_USE_GTIMER
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GADC: GFX_USE_GTIMER is required if GFX_USE_GADC is TRUE. It has been turned on for you."
- #endif
- #undef GFX_USE_GTIMER
- #define GFX_USE_GTIMER TRUE
- #endif
-#endif
-
-#if GFX_USE_GEVENT
-#endif
-
-#if GFX_USE_GTIMER
- #if GFX_USE_GDISP && !GDISP_NEED_MULTITHREAD
- #if GFX_DISPLAY_RULE_WARNINGS
- #warning "GTIMER: GDISP_NEED_MULTITHREAD has not been specified."
- #warning "GTIMER: Make sure you are not performing any GDISP/GWIN drawing operations in the timer callback!"
- #endif
- #endif
-#endif
-
-#if GFX_USE_GAUDOUT
-#endif
-
-#if GFX_USE_GQUEUE
-#endif
-
-#if GFX_USE_GMISC
-#endif
-
-#if GFX_USE_GFILE
-#endif
-
-#endif /* _GFX_H */
-/** @} */
diff --git a/releases.txt b/releases.txt
index f2cb77d5..552d7422 100644
--- a/releases.txt
+++ b/releases.txt
@@ -14,6 +14,11 @@ FEATURE: Console does now have an optional buffer (GWIN_CONSOLE_USE_HISTORY)
FEATURE: Added smooth scrolling to list widget
FEATURE: Increased performance of gwinListAddItem()
FEATURE: Added gfxDeinit()
+FEATURE: Allow touch screen calibration in any display orientation
+FEATURE: New GFILE module to abstract File IO.
+FEATURE: Image file handling changed to use new GFILE module.
+DEPRECTATE: Old image opening functions deprecated.
+FEATURE: Restructure and simplify the include path for GFX
*** changes after 1.9 ***
diff --git a/include/gadc/lld/gadc_lld.h b/src/gadc/driver.h
index 3de39d9a..4427f4f0 100644
--- a/include/gadc/lld/gadc_lld.h
+++ b/src/gadc/driver.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gadc/lld/gadc_lld.h
+ * @file src/gadc/driver.h
* @brief GADC - Periodic ADC driver header file.
*
* @defgroup Driver Driver
diff --git a/src/gadc/gadc.c b/src/gadc/gadc.c
index c9a4a31b..8ae431b0 100644
--- a/src/gadc/gadc.c
+++ b/src/gadc/gadc.c
@@ -17,7 +17,7 @@
#if GFX_USE_GADC
/* Include the driver defines */
-#include "gadc/lld/gadc_lld.h"
+#include "src/gadc/driver.h"
#if GADC_MAX_HIGH_SPEED_SAMPLERATE > GADC_MAX_SAMPLE_FREQUENCY/2
#error "GADC: GADC_MAX_HIGH_SPEED_SAMPLERATE has been set too high. It must be less than half the maximum CPU rate"
diff --git a/include/gadc/gadc.h b/src/gadc/sys_defs.h
index 1ad5ecb8..f6349dfe 100644
--- a/include/gadc/gadc.h
+++ b/src/gadc/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gadc/gadc.h
+ * @file src/gadc/sys_defs.h
*
* @addtogroup GADC
*
diff --git a/src/gadc/gadc.mk b/src/gadc/sys_make.mk
index cfe04177..05b1e9cc 100644
--- a/src/gadc/gadc.mk
+++ b/src/gadc/sys_make.mk
@@ -1 +1 @@
-GFXSRC += $(GFXLIB)/src/gadc/gadc.c
+GFXSRC += $(GFXLIB)/src/gadc/gadc.c
diff --git a/include/gadc/options.h b/src/gadc/sys_options.h
index 9c3988fc..d9519c39 100644
--- a/include/gadc/options.h
+++ b/src/gadc/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gadc/options.h
+ * @file src/gadc/sys_options.h
* @brief GADC - Periodic ADC subsystem options header file.
*
* @addtogroup GADC
diff --git a/src/gadc/sys_rules.h b/src/gadc/sys_rules.h
new file mode 100644
index 00000000..7272337e
--- /dev/null
+++ b/src/gadc/sys_rules.h
@@ -0,0 +1,30 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gadc/sys_rules.h
+ * @brief GADC safety rules header file.
+ *
+ * @addtogroup GADC
+ * @{
+ */
+
+#ifndef _GADC_RULES_H
+#define _GADC_RULES_H
+
+#if GFX_USE_GADC
+ #if !GFX_USE_GTIMER
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GADC: GFX_USE_GTIMER is required if GFX_USE_GADC is TRUE. It has been turned on for you."
+ #endif
+ #undef GFX_USE_GTIMER
+ #define GFX_USE_GTIMER TRUE
+ #endif
+#endif
+
+#endif /* _GADC_RULES_H */
+/** @} */
diff --git a/include/gaudin/lld/gaudin_lld.h b/src/gaudin/driver.h
index 7c1919d3..bd04858a 100644
--- a/include/gaudin/lld/gaudin_lld.h
+++ b/src/gaudin/driver.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gaudin/lld/gaudin_lld.h
+ * @file src/gaudin/driver.h
* @brief GAUDIN - Audio Input driver header file.
*
* @defgroup Driver Driver
diff --git a/src/gaudin/gaudin.c b/src/gaudin/gaudin.c
index 8a425a10..c9ed1c7f 100644
--- a/src/gaudin/gaudin.c
+++ b/src/gaudin/gaudin.c
@@ -17,7 +17,7 @@
#if GFX_USE_GAUDIN
/* Include the driver defines */
-#include "gaudin/lld/gaudin_lld.h"
+#include "src/gaudin/driver.h"
static gaudin_params aud;
static gfxSem *paudSem;
diff --git a/include/gaudin/gaudin.h b/src/gaudin/sys_defs.h
index c9150f6d..3f06fa6e 100644
--- a/include/gaudin/gaudin.h
+++ b/src/gaudin/sys_defs.h
@@ -6,11 +6,11 @@
*/
/**
- * @file include/gaudin/gaudin.h
+ * @file src/gaudin/sys_defs.h
*
* @addtogroup GAUDIN
*
- * @brief Module to read audio inputs (under development)
+ * @brief Module to read audio inputs
*
* @{
*/
diff --git a/src/gaudin/gaudin.mk b/src/gaudin/sys_make.mk
index f134d264..16bb33b7 100644
--- a/src/gaudin/gaudin.mk
+++ b/src/gaudin/sys_make.mk
@@ -1 +1 @@
-GFXSRC += $(GFXLIB)/src/gaudin/gaudin.c
+GFXSRC += $(GFXLIB)/src/gaudin/gaudin.c
diff --git a/include/gaudin/options.h b/src/gaudin/sys_options.h
index a2c9ab5c..305a6f8d 100644
--- a/include/gaudin/options.h
+++ b/src/gaudin/sys_options.h
@@ -4,29 +4,29 @@
*
* http://ugfx.org/license.html
*/
-
-/**
- * @file include/gaudin/options.h
- * @brief GAUDIN - Audio Input subsystem options header file.
- *
- * @addtogroup GAUDIN
- * @{
- */
-
-#ifndef _GAUDIN_OPTIONS_H
-#define _GAUDIN_OPTIONS_H
-
-/**
- * @name GAUDIN Functionality to be included
- * @{
- */
-/**
- * @}
- *
- * @name GAUDIN Optional Sizing Parameters
- * @{
- */
-/** @} */
-
-#endif /* _GAUDIN_OPTIONS_H */
-/** @} */
+
+/**
+ * @file src/gaudin/sys_options.h
+ * @brief GAUDIN - Audio Input subsystem options header file.
+ *
+ * @addtogroup GAUDIN
+ * @{
+ */
+
+#ifndef _GAUDIN_OPTIONS_H
+#define _GAUDIN_OPTIONS_H
+
+/**
+ * @name GAUDIN Functionality to be included
+ * @{
+ */
+/**
+ * @}
+ *
+ * @name GAUDIN Optional Sizing Parameters
+ * @{
+ */
+/** @} */
+
+#endif /* _GAUDIN_OPTIONS_H */
+/** @} */
diff --git a/src/gaudin/sys_rules.h b/src/gaudin/sys_rules.h
new file mode 100644
index 00000000..21d2552f
--- /dev/null
+++ b/src/gaudin/sys_rules.h
@@ -0,0 +1,30 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gaudin/sys_rules.h
+ * @brief GAUDIN safety rules header file.
+ *
+ * @addtogroup GAUDIN
+ * @{
+ */
+
+#ifndef _GAUDIN_RULES_H
+#define _GAUDIN_RULES_H
+
+#if GFX_USE_GAUDIN
+ #if GFX_USE_GEVENT && !GFX_USE_GTIMER
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GAUDIN: GFX_USE_GTIMER is required if GFX_USE_GAUDIN and GFX_USE_GEVENT are TRUE. It has been turned on for you."
+ #endif
+ #undef GFX_USE_GTIMER
+ #define GFX_USE_GTIMER TRUE
+ #endif
+#endif
+
+#endif /* _GAUDIN_RULES_H */
+/** @} */
diff --git a/include/gaudout/gaudout.h b/src/gaudout/sys_defs.h
index 9e89ccc2..f22d269c 100644
--- a/include/gaudout/gaudout.h
+++ b/src/gaudout/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gaudout/gaudout.h
+ * @file src/gaudout/sys_defs.h
*
* @addtogroup GAUDOUT
*
diff --git a/src/gaudout/gaudout.mk b/src/gaudout/sys_make.mk
index 004306bc..14f5bac3 100644
--- a/src/gaudout/gaudout.mk
+++ b/src/gaudout/sys_make.mk
@@ -1 +1 @@
-GFXSRC += $(GFXLIB)/src/gaudout/gaudout.c
+GFXSRC += $(GFXLIB)/src/gaudout/gaudout.c
diff --git a/include/gaudout/options.h b/src/gaudout/sys_options.h
index 3a42429e..929bb42a 100644
--- a/include/gaudout/options.h
+++ b/src/gaudout/sys_options.h
@@ -4,29 +4,29 @@
*
* http://ugfx.org/license.html
*/
-
-/**
- * @file include/gaudout/options.h
- * @brief GAUDOUT - Audio Output subsystem options header file.
- *
- * @addtogroup GAUDOUT
- * @{
- */
-
-#ifndef _GAUDOUT_OPTIONS_H
-#define _GAUDOUT_OPTIONS_H
-
-/**
- * @name GAUDOUT Functionality to be included
- * @{
- */
-/**
- * @}
- *
- * @name GAUDOUT Optional Sizing Parameters
- * @{
- */
-/** @} */
-
-#endif /* _GAUDOUT_OPTIONS_H */
-/** @} */
+
+/**
+ * @file src/gaudout/sys_options.h
+ * @brief GAUDOUT - Audio Output subsystem options header file.
+ *
+ * @addtogroup GAUDOUT
+ * @{
+ */
+
+#ifndef _GAUDOUT_OPTIONS_H
+#define _GAUDOUT_OPTIONS_H
+
+/**
+ * @name GAUDOUT Functionality to be included
+ * @{
+ */
+/**
+ * @}
+ *
+ * @name GAUDOUT Optional Sizing Parameters
+ * @{
+ */
+/** @} */
+
+#endif /* _GAUDOUT_OPTIONS_H */
+/** @} */
diff --git a/src/gaudout/sys_rules.h b/src/gaudout/sys_rules.h
new file mode 100644
index 00000000..50b9a442
--- /dev/null
+++ b/src/gaudout/sys_rules.h
@@ -0,0 +1,23 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gaudout/sys_rules.h
+ * @brief GAUDOUT safety rules header file.
+ *
+ * @addtogroup GAUDOUT
+ * @{
+ */
+
+#ifndef _GAUDOUT_RULES_H
+#define _GAUDOUT_RULES_H
+
+#if GFX_USE_GAUDOUT
+#endif
+
+#endif /* _GAUDOUT_RULES_H */
+/** @} */
diff --git a/include/gdisp/colors.h b/src/gdisp/colors.h
index efd7076c..efd7076c 100644
--- a/include/gdisp/colors.h
+++ b/src/gdisp/colors.h
diff --git a/include/gdisp/lld/gdisp_lld.h b/src/gdisp/driver.h
index e4f9ece2..f45b3f87 100644
--- a/include/gdisp/lld/gdisp_lld.h
+++ b/src/gdisp/driver.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gdisp/lld/gdisp_lld.h
+ * @file src/gdisp/driver.h
* @brief GDISP Graphic Driver subsystem low level driver header.
*
* @addtogroup GDISP
diff --git a/src/gdisp/fonts/build_fonts.sh b/src/gdisp/fonts/build_fonts.sh
index b6c26602..4ce93a40 100644
--- a/src/gdisp/fonts/build_fonts.sh
+++ b/src/gdisp/fonts/build_fonts.sh
@@ -72,7 +72,7 @@ for file in *.c; do
defname='GDISP_INCLUDE_FONT_'$upper
echo '#if defined('$defname') && '$defname >> fonts.h
echo '#define GDISP_FONT_FOUND' >> fonts.h
- echo '#include "../src/gdisp/fonts/'$file'"' >> fonts.h
+ echo '#include "src/gdisp/fonts/'$file'"' >> fonts.h
echo '#endif' >> fonts.h
done
diff --git a/src/gdisp/fonts/fonts.h b/src/gdisp/fonts/fonts.h
index 7d696044..af851dbd 100644
--- a/src/gdisp/fonts/fonts.h
+++ b/src/gdisp/fonts/fonts.h
@@ -3,87 +3,87 @@
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS10) && GDISP_INCLUDE_FONT_DEJAVUSANS10
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans10.c"
+#include "src/gdisp/fonts/DejaVuSans10.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS12_AA
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans12_aa.c"
+#include "src/gdisp/fonts/DejaVuSans12_aa.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12) && GDISP_INCLUDE_FONT_DEJAVUSANS12
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans12.c"
+#include "src/gdisp/fonts/DejaVuSans12.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS16_AA
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans16_aa.c"
+#include "src/gdisp/fonts/DejaVuSans16_aa.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16) && GDISP_INCLUDE_FONT_DEJAVUSANS16
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans16.c"
+#include "src/gdisp/fonts/DejaVuSans16.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS24_AA
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans24_aa.c"
+#include "src/gdisp/fonts/DejaVuSans24_aa.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24) && GDISP_INCLUDE_FONT_DEJAVUSANS24
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans24.c"
+#include "src/gdisp/fonts/DejaVuSans24.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS32_AA
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans32_aa.c"
+#include "src/gdisp/fonts/DejaVuSans32_aa.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32) && GDISP_INCLUDE_FONT_DEJAVUSANS32
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSans32.c"
+#include "src/gdisp/fonts/DejaVuSans32.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSansBold12_aa.c"
+#include "src/gdisp/fonts/DejaVuSansBold12_aa.c"
#endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/DejaVuSansBold12.c"
+#include "src/gdisp/fonts/DejaVuSansBold12.c"
#endif
#if defined(GDISP_INCLUDE_FONT_FIXED_10X20) && GDISP_INCLUDE_FONT_FIXED_10X20
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/fixed_10x20.c"
+#include "src/gdisp/fonts/fixed_10x20.c"
#endif
#if defined(GDISP_INCLUDE_FONT_FIXED_5X8) && GDISP_INCLUDE_FONT_FIXED_5X8
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/fixed_5x8.c"
+#include "src/gdisp/fonts/fixed_5x8.c"
#endif
#if defined(GDISP_INCLUDE_FONT_FIXED_7X14) && GDISP_INCLUDE_FONT_FIXED_7X14
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/fixed_7x14.c"
+#include "src/gdisp/fonts/fixed_7x14.c"
#endif
#if defined(GDISP_INCLUDE_FONT_LARGENUMBERS) && GDISP_INCLUDE_FONT_LARGENUMBERS
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/LargeNumbers.c"
+#include "src/gdisp/fonts/LargeNumbers.c"
#endif
#if defined(GDISP_INCLUDE_FONT_UI1) && GDISP_INCLUDE_FONT_UI1
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/UI1.c"
+#include "src/gdisp/fonts/UI1.c"
#endif
#if defined(GDISP_INCLUDE_FONT_UI2) && GDISP_INCLUDE_FONT_UI2
#define GDISP_FONT_FOUND
-#include "../src/gdisp/fonts/UI2.c"
+#include "src/gdisp/fonts/UI2.c"
#endif
#if defined(GDISP_INCLUDE_USER_FONTS) && GDISP_INCLUDE_USER_FONTS
diff --git a/src/gdisp/gdisp.c b/src/gdisp/gdisp.c
index 949bedaf..2ac55f1b 100644
--- a/src/gdisp/gdisp.c
+++ b/src/gdisp/gdisp.c
@@ -17,7 +17,7 @@
#if GFX_USE_GDISP
/* Include the low level driver information */
-#include "gdisp/lld/gdisp_lld.h"
+#include "src/gdisp/driver.h"
#if 1
#undef INLINE
diff --git a/include/gdisp/image.h b/src/gdisp/image.h
index 607f1007..607f1007 100644
--- a/include/gdisp/image.h
+++ b/src/gdisp/image.h
diff --git a/src/gdisp/mcufont/mf_config.h b/src/gdisp/mcufont/mf_config.h
index 36268c6b..88838c1d 100644
--- a/src/gdisp/mcufont/mf_config.h
+++ b/src/gdisp/mcufont/mf_config.h
@@ -14,7 +14,7 @@
* Configuration settings related to GFX *
*******************************************************/
-#include <gfx.h>
+#include "gfx.h"
#if !GFX_USE_GDISP || !GDISP_NEED_TEXT
#define MF_NO_COMPILE // Don't compile any font code
@@ -31,7 +31,7 @@
#endif
#define MF_USE_KERNING GDISP_NEED_TEXT_KERNING
-#define MF_FONT_FILE_NAME "../src/gdisp/fonts/fonts.h"
+#define MF_FONT_FILE_NAME "src/gdisp/fonts/fonts.h"
/* These are not used for now */
#define MF_USE_ADVANCED_WORDWRAP 0
diff --git a/include/gdisp/gdisp.h b/src/gdisp/sys_defs.h
index d1d78145..a40d6e80 100644
--- a/include/gdisp/gdisp.h
+++ b/src/gdisp/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gdisp/gdisp.h
+ * @file src/gdisp/sys_defs.h
* @brief GDISP Graphic Driver subsystem header file.
*
* @addtogroup GDISP
@@ -985,7 +985,7 @@ void gdispGDrawBox(GDisplay *g, coord_t x, coord_t y, coord_t cx, coord_t cy, co
#endif
#if GDISP_NEED_IMAGE || defined(__DOXYGEN__)
- #include "gdisp/image.h"
+ #include "src/gdisp/image.h"
#endif
#endif /* GFX_USE_GDISP */
diff --git a/src/gdisp/gdisp.mk b/src/gdisp/sys_make.mk
index a133ce37..a133ce37 100644
--- a/src/gdisp/gdisp.mk
+++ b/src/gdisp/sys_make.mk
diff --git a/include/gdisp/options.h b/src/gdisp/sys_options.h
index 35cccea3..a38e4c6f 100644
--- a/include/gdisp/options.h
+++ b/src/gdisp/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gdisp/options.h
+ * @file src/gdisp/sys_options.h
* @brief GDISP sub-system options header file.
*
* @addtogroup GDISP
diff --git a/src/gdisp/sys_rules.h b/src/gdisp/sys_rules.h
new file mode 100644
index 00000000..83c95216
--- /dev/null
+++ b/src/gdisp/sys_rules.h
@@ -0,0 +1,85 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gdisp/sys_rules.h
+ * @brief GDISP safety rules header file.
+ *
+ * @addtogroup GDISP
+ * @{
+ */
+
+#ifndef _GDISP_RULES_H
+#define _GDISP_RULES_H
+
+#if GFX_USE_GDISP
+ #if GDISP_TOTAL_CONTROLLERS > 1
+ #ifndef GDISP_CONTROLLER_LIST
+ #error "GDISP Multiple Controllers: You must specify a value for GDISP_CONTROLLER_LIST"
+ #endif
+ #ifndef GDISP_CONTROLLER_DISPLAYS
+ #error "GDISP Multiple Controllers: You must specify a value for GDISP_CONTROLLER_DISPLAYS"
+ #endif
+ #ifndef GDISP_PIXELFORMAT
+ #error "GDISP Multiple Controllers: You must specify a value for GDISP_PIXELFORMAT"
+ #endif
+ #endif
+ #if GDISP_NEED_AUTOFLUSH && GDISP_NEED_TIMERFLUSH
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GDISP: Both GDISP_NEED_AUTOFLUSH and GDISP_NEED_TIMERFLUSH has been set. GDISP_NEED_TIMERFLUSH has disabled for you."
+ #endif
+ #undef GDISP_NEED_TIMERFLUSH
+ #define GDISP_NEED_TIMERFLUSH FALSE
+ #endif
+ #if GDISP_NEED_TIMERFLUSH
+ #if GDISP_NEED_TIMERFLUSH < 50 || GDISP_NEED_TIMERFLUSH > 1200
+ #error "GDISP: GDISP_NEED_TIMERFLUSH has been set to an invalid value (FALSE, 50-1200)."
+ #endif
+ #if !GFX_USE_GTIMER
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GDISP: GDISP_NEED_TIMERFLUSH has been set but GFX_USE_GTIMER has not been set. It has been turned on for you."
+ #endif
+ #undef GFX_USE_GTIMER
+ #define GFX_USE_GTIMER TRUE
+ #undef GDISP_NEED_MULTITHREAD
+ #define GDISP_NEED_MULTITHREAD TRUE
+ #endif
+ #endif
+ #if GDISP_NEED_ANTIALIAS && !GDISP_NEED_PIXELREAD
+ #if GDISP_HARDWARE_PIXELREAD
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GDISP: GDISP_NEED_ANTIALIAS has been set but GDISP_NEED_PIXELREAD has not. It has been turned on for you."
+ #endif
+ #undef GDISP_NEED_PIXELREAD
+ #define GDISP_NEED_PIXELREAD TRUE
+ #else
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GDISP: GDISP_NEED_ANTIALIAS has been set but your hardware does not support reading back pixels. Anti-aliasing will only occur for filled characters."
+ #endif
+ #endif
+ #endif
+ #if (defined(GDISP_INCLUDE_FONT_SMALL) && GDISP_INCLUDE_FONT_SMALL) || (defined(GDISP_INCLUDE_FONT_LARGER) && GDISP_INCLUDE_FONT_LARGER)
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GDISP: An old font (Small or Larger) has been defined. A single default font of UI2 has been added instead."
+ #warning "GDISP: Please see <$(GFXLIB)/include/gdisp/fonts/fonts.h> for a list of available font names."
+ #endif
+ #undef GDISP_INCLUDE_FONT_UI2
+ #define GDISP_INCLUDE_FONT_UI2 TRUE
+ #endif
+ #if GDISP_NEED_IMAGE
+ #if !GFX_USE_GFILE
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GDISP: GFX_USE_GFILE is required when GDISP_NEED_IMAGE is TRUE. It has been turned on for you."
+ #endif
+ #undef GFX_USE_GFILE
+ #define GFX_USE_GFILE TRUE
+ #endif
+ #endif
+#endif
+
+#endif /* _GDISP_RULES_H */
+/** @} */
diff --git a/include/gevent/gevent.h b/src/gevent/sys_defs.h
index 3e3544a2..0e656145 100644
--- a/include/gevent/gevent.h
+++ b/src/gevent/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gevent/gevent.h
+ * @file src/gevent/sys_defs.h
*
* @addtogroup GEVENT
*
diff --git a/src/gevent/gevent.mk b/src/gevent/sys_make.mk
index 59226318..5744ae46 100644
--- a/src/gevent/gevent.mk
+++ b/src/gevent/sys_make.mk
@@ -1 +1 @@
-GFXSRC += $(GFXLIB)/src/gevent/gevent.c
+GFXSRC += $(GFXLIB)/src/gevent/gevent.c
diff --git a/include/gevent/options.h b/src/gevent/sys_options.h
index 75b7a749..6a58103f 100644
--- a/include/gevent/options.h
+++ b/src/gevent/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gevent/options.h
+ * @file src/gevent/sys_options.h
* @brief GEVENT sub-system options header file.
*
* @addtogroup GEVENT
diff --git a/src/gevent/sys_rules.h b/src/gevent/sys_rules.h
new file mode 100644
index 00000000..8cf7e9b4
--- /dev/null
+++ b/src/gevent/sys_rules.h
@@ -0,0 +1,23 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gevent/sys_rules.h
+ * @brief GEVENT safety rules header file.
+ *
+ * @addtogroup GEVENT
+ * @{
+ */
+
+#ifndef _GEVENT_RULES_H
+#define _GEVENT_RULES_H
+
+#if GFX_USE_GEVENT
+#endif
+
+#endif /* _GEVENT_RULES_H */
+/** @} */
diff --git a/src/gfile/gfile.c b/src/gfile/gfile.c
index 9edafea4..8a3abf9c 100644
--- a/src/gfile/gfile.c
+++ b/src/gfile/gfile.c
@@ -77,42 +77,42 @@ GFILE *gfileStdErr;
* The ChibiOS BaseFileStream VMT
********************************************************/
#if GFILE_NEED_CHIBIOSFS && GFX_USE_OS_CHIBIOS
- #include "../src/gfile/inc_chibiosfs.c"
+ #include "src/gfile/inc_chibiosfs.c"
#endif
/********************************************************
* The Memory Pointer VMT
********************************************************/
#if GFILE_NEED_MEMFS
- #include "../src/gfile/inc_memfs.c"
+ #include "src/gfile/inc_memfs.c"
#endif
/********************************************************
* The RAM file-system VMT
********************************************************/
#if GFILE_NEED_RAMFS
- #include "../src/gfile/inc_ramfs.c"
+ #include "src/gfile/inc_ramfs.c"
#endif
/********************************************************
* The FAT file-system VMT
********************************************************/
#ifndef GFILE_NEED_FATFS
- #include "../src/gfile/inc_fatfs.c"
+ #include "src/gfile/inc_fatfs.c"
#endif
/********************************************************
* The native file-system
********************************************************/
#if GFILE_NEED_NATIVEFS
- #include "../src/gfile/inc_nativefs.c"
+ #include "src/gfile/inc_nativefs.c"
#endif
/********************************************************
* The ROM file-system VMT
********************************************************/
#if GFILE_NEED_ROMFS
- #include "../src/gfile/inc_romfs.c"
+ #include "src/gfile/inc_romfs.c"
#endif
/********************************************************
diff --git a/include/gfile/gfile.h b/src/gfile/sys_defs.h
index 62972c47..675bc4b1 100644
--- a/include/gfile/gfile.h
+++ b/src/gfile/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gfile/gfile.h
+ * @file src/gfile/sys_defs.h
* @brief GFILE - File IO Routines header file.
*
* @addtogroup GFILE
diff --git a/src/gfile/gfile.mk b/src/gfile/sys_make.mk
index 381bd6f6..381bd6f6 100644
--- a/src/gfile/gfile.mk
+++ b/src/gfile/sys_make.mk
diff --git a/include/gfile/options.h b/src/gfile/sys_options.h
index d73af02c..6e36e6b7 100644
--- a/include/gfile/options.h
+++ b/src/gfile/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gfile/options.h
+ * @file src/gfile/sys_options.h
* @brief GFILE - File IO options header file.
*
* @addtogroup GFILE
diff --git a/src/gfile/sys_rules.h b/src/gfile/sys_rules.h
new file mode 100644
index 00000000..8d07144d
--- /dev/null
+++ b/src/gfile/sys_rules.h
@@ -0,0 +1,23 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gfile/sys_rules.h
+ * @brief GFILE safety rules header file.
+ *
+ * @addtogroup GFILE
+ * @{
+ */
+
+#ifndef _GFILE_RULES_H
+#define _GFILE_RULES_H
+
+#if GFX_USE_GFILE
+#endif
+
+#endif /* _GFILE_RULES_H */
+/** @} */
diff --git a/src/ginput/dial.c b/src/ginput/dial.c
index a9d1858c..410efc1a 100644
--- a/src/ginput/dial.c
+++ b/src/ginput/dial.c
@@ -17,7 +17,7 @@
#if GFX_USE_GINPUT && GINPUT_NEED_DIAL
-#include "ginput/lld/dial.h"
+#include "src/ginput/driver_dial.h"
static GTIMER_DECL(DialTimer);
static struct DialStatus_t {
diff --git a/include/ginput/dial.h b/src/ginput/dial.h
index a90b5e46..a90b5e46 100644
--- a/include/ginput/dial.h
+++ b/src/ginput/dial.h
diff --git a/include/ginput/lld/dial.h b/src/ginput/driver_dial.h
index a7ce19ad..bf01da20 100644
--- a/include/ginput/lld/dial.h
+++ b/src/ginput/driver_dial.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/ginput/lld/dial.h
+ * @file src/ginput/driver_dial.h
* @brief GINPUT header file for dial drivers.
*
* @defgroup Dial Dial
diff --git a/include/ginput/lld/mouse.h b/src/ginput/driver_mouse.h
index 6b8246dc..21d87dac 100644
--- a/include/ginput/lld/mouse.h
+++ b/src/ginput/driver_mouse.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/ginput/lld/mouse.h
+ * @file src/ginput/driver_mouse.h
* @brief GINPUT LLD header file for mouse/touch drivers.
*
* @defgroup Mouse Mouse
diff --git a/include/ginput/lld/toggle.h b/src/ginput/driver_toggle.h
index c7809342..6d672c91 100644
--- a/include/ginput/lld/toggle.h
+++ b/src/ginput/driver_toggle.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/ginput/lld/toggle.h
+ * @file src/ginput/driver_toggle.h
* @brief GINPUT header file for toggle drivers.
*
* @defgroup Toggle Toggle
diff --git a/include/ginput/keyboard.h b/src/ginput/keyboard.h
index d2bebeb8..d2bebeb8 100644
--- a/include/ginput/keyboard.h
+++ b/src/ginput/keyboard.h
diff --git a/src/ginput/mouse.c b/src/ginput/mouse.c
index aad6119a..c7a20ec1 100644
--- a/src/ginput/mouse.c
+++ b/src/ginput/mouse.c
@@ -17,7 +17,7 @@
#if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) || defined(__DOXYGEN__)
-#include "ginput/lld/mouse.h"
+#include "src/ginput/driver_mouse.h"
#if GINPUT_MOUSE_NEED_CALIBRATION
#if !defined(GFX_USE_GDISP) || !GFX_USE_GDISP
diff --git a/include/ginput/mouse.h b/src/ginput/mouse.h
index 669eaec6..669eaec6 100644
--- a/include/ginput/mouse.h
+++ b/src/ginput/mouse.h
diff --git a/include/ginput/ginput.h b/src/ginput/sys_defs.h
index 3b2e37f5..33259da4 100644
--- a/include/ginput/ginput.h
+++ b/src/ginput/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/ginput/ginput.h
+ * @file src/ginput/sys_defs.h
*
* @addtogroup GINPUT
*
@@ -39,10 +39,10 @@
*/
// Include various ginput types
-#include "ginput/mouse.h"
-#include "ginput/keyboard.h"
-#include "ginput/toggle.h"
-#include "ginput/dial.h"
+#include "src/ginput/mouse.h"
+#include "src/ginput/keyboard.h"
+#include "src/ginput/toggle.h"
+#include "src/ginput/dial.h"
#endif /* GFX_USE_GINPUT */
diff --git a/src/ginput/ginput.mk b/src/ginput/sys_make.mk
index ed34d46d..34ac4a55 100644
--- a/src/ginput/ginput.mk
+++ b/src/ginput/sys_make.mk
@@ -1,5 +1,5 @@
-GFXSRC += $(GFXLIB)/src/ginput/ginput.c \
- $(GFXLIB)/src/ginput/mouse.c \
- $(GFXLIB)/src/ginput/keyboard.c \
- $(GFXLIB)/src/ginput/toggle.c \
- $(GFXLIB)/src/ginput/dial.c
+GFXSRC += $(GFXLIB)/src/ginput/ginput.c \
+ $(GFXLIB)/src/ginput/mouse.c \
+ $(GFXLIB)/src/ginput/keyboard.c \
+ $(GFXLIB)/src/ginput/toggle.c \
+ $(GFXLIB)/src/ginput/dial.c
diff --git a/include/ginput/options.h b/src/ginput/sys_options.h
index 5d903b07..c606262b 100644
--- a/include/ginput/options.h
+++ b/src/ginput/sys_options.h
@@ -4,111 +4,111 @@
*
* http://ugfx.org/license.html
*/
-
-/**
- * @file include/ginput/options.h
- * @brief GINPUT sub-system options header file.
- *
- * @addtogroup GINPUT
- * @{
- */
-
-#ifndef _GINPUT_OPTIONS_H
-#define _GINPUT_OPTIONS_H
-
-/**
- * @name GINPUT Functionality to be included
- * @{
- */
- /**
- * @brief Should mouse/touch functions be included.
- * @details Defaults to FALSE
- * @note Also add the a mouse/touch hardware driver to your makefile.
- * Eg.
- * include $(GFXLIB)/drivers/ginput/touch/MCU/ginput_lld.mk
- */
- #ifndef GINPUT_NEED_MOUSE
- #define GINPUT_NEED_MOUSE FALSE
- #endif
- /**
- * @brief Should keyboard functions be included.
- * @details Defaults to FALSE
- * @note Also add the a keyboard hardware driver to your makefile.
- * Eg.
- * include $(GFXLIB)/drivers/ginput/keyboard/XXXX/ginput_lld.mk
- */
- #ifndef GINPUT_NEED_KEYBOARD
- #define GINPUT_NEED_KEYBOARD FALSE
- #endif
- /**
- * @brief Should hardware toggle/switch/button functions be included.
- * @details Defaults to FALSE
- * @note Also add the a toggle hardware driver to your makefile.
- * Eg.
- * include $(GFXLIB)/drivers/ginput/toggle/Pal/ginput_lld.mk
- */
- #ifndef GINPUT_NEED_TOGGLE
- #define GINPUT_NEED_TOGGLE FALSE
- #endif
- /**
- * @brief Should analog dial functions be included.
- * @details Defaults to FALSE
- * @note Also add the a dial hardware driver to your makefile.
- * Eg.
- * include $(GFXLIB)/drivers/ginput/dial/analog/ginput_lld.mk
- */
- #ifndef GINPUT_NEED_DIAL
- #define GINPUT_NEED_DIAL FALSE
- #endif
-/**
- * @}
- *
- * @name GINPUT Optional Sizing Parameters
- * @{
- */
-/**
- * @}
- *
- * @name GINPUT Optional Low Level Driver Defines
- * @{
- */
- /**
- * @brief Use a custom board definition for the mouse/touch driver even if a board definition exists.
- * @details Defaults to FALSE
- * @details If TRUE, add ginput_lld_mouse_board.h to your project directory and customise it.
- * @note Not all GINPUT mouse/touch low level drivers use board definition files.
- */
- #ifndef GINPUT_MOUSE_USE_CUSTOM_BOARD
- #define GINPUT_MOUSE_USE_CUSTOM_BOARD FALSE
- #endif
- /**
- * @brief Use a custom board definition for the keyboard driver even if a board definition exists.
- * @details Defaults to FALSE
- * @details If TRUE, add ginput_lld_keyboard_board.h to your project directory and customise it.
- * @note Not all GINPUT keyboard low level drivers use board definition files.
- */
- #ifndef GINPUT_KEYBOARD_USE_CUSTOM_BOARD
- #define GINPUT_KEYBOARD_USE_CUSTOM_BOARD FALSE
- #endif
- /**
- * @brief Use a custom board definition for the toggle driver even if a board definition exists.
- * @details Defaults to FALSE
- * @details If TRUE, add ginput_lld_toggle_board.h to your project directory and customise it.
- * @note Not all GINPUT toggle low level drivers use board definition files.
- */
- #ifndef GINPUT_TOGGLE_USE_CUSTOM_BOARD
- #define GINPUT_TOGGLE_USE_CUSTOM_BOARD FALSE
- #endif
- /**
- * @brief Use a custom board definition for the dial driver even if a board definition exists.
- * @details Defaults to FALSE
- * @details If TRUE, add ginput_lld_dial_board.h to your project directory and customise it.
- * @note Not all GINPUT dial low level drivers use board definition files.
- */
- #ifndef GINPUT_DIAL_USE_CUSTOM_BOARD
- #define GINPUT_DIAL_USE_CUSTOM_BOARD FALSE
- #endif
-/** @} */
-
-#endif /* _GINPUT_OPTIONS_H */
-/** @} */
+
+/**
+ * @file src/ginput/sys_options.h
+ * @brief GINPUT sub-system options header file.
+ *
+ * @addtogroup GINPUT
+ * @{
+ */
+
+#ifndef _GINPUT_OPTIONS_H
+#define _GINPUT_OPTIONS_H
+
+/**
+ * @name GINPUT Functionality to be included
+ * @{
+ */
+ /**
+ * @brief Should mouse/touch functions be included.
+ * @details Defaults to FALSE
+ * @note Also add the a mouse/touch hardware driver to your makefile.
+ * Eg.
+ * include $(GFXLIB)/drivers/ginput/touch/MCU/ginput_lld.mk
+ */
+ #ifndef GINPUT_NEED_MOUSE
+ #define GINPUT_NEED_MOUSE FALSE
+ #endif
+ /**
+ * @brief Should keyboard functions be included.
+ * @details Defaults to FALSE
+ * @note Also add the a keyboard hardware driver to your makefile.
+ * Eg.
+ * include $(GFXLIB)/drivers/ginput/keyboard/XXXX/ginput_lld.mk
+ */
+ #ifndef GINPUT_NEED_KEYBOARD
+ #define GINPUT_NEED_KEYBOARD FALSE
+ #endif
+ /**
+ * @brief Should hardware toggle/switch/button functions be included.
+ * @details Defaults to FALSE
+ * @note Also add the a toggle hardware driver to your makefile.
+ * Eg.
+ * include $(GFXLIB)/drivers/ginput/toggle/Pal/ginput_lld.mk
+ */
+ #ifndef GINPUT_NEED_TOGGLE
+ #define GINPUT_NEED_TOGGLE FALSE
+ #endif
+ /**
+ * @brief Should analog dial functions be included.
+ * @details Defaults to FALSE
+ * @note Also add the a dial hardware driver to your makefile.
+ * Eg.
+ * include $(GFXLIB)/drivers/ginput/dial/analog/ginput_lld.mk
+ */
+ #ifndef GINPUT_NEED_DIAL
+ #define GINPUT_NEED_DIAL FALSE
+ #endif
+/**
+ * @}
+ *
+ * @name GINPUT Optional Sizing Parameters
+ * @{
+ */
+/**
+ * @}
+ *
+ * @name GINPUT Optional Low Level Driver Defines
+ * @{
+ */
+ /**
+ * @brief Use a custom board definition for the mouse/touch driver even if a board definition exists.
+ * @details Defaults to FALSE
+ * @details If TRUE, add ginput_lld_mouse_board.h to your project directory and customise it.
+ * @note Not all GINPUT mouse/touch low level drivers use board definition files.
+ */
+ #ifndef GINPUT_MOUSE_USE_CUSTOM_BOARD
+ #define GINPUT_MOUSE_USE_CUSTOM_BOARD FALSE
+ #endif
+ /**
+ * @brief Use a custom board definition for the keyboard driver even if a board definition exists.
+ * @details Defaults to FALSE
+ * @details If TRUE, add ginput_lld_keyboard_board.h to your project directory and customise it.
+ * @note Not all GINPUT keyboard low level drivers use board definition files.
+ */
+ #ifndef GINPUT_KEYBOARD_USE_CUSTOM_BOARD
+ #define GINPUT_KEYBOARD_USE_CUSTOM_BOARD FALSE
+ #endif
+ /**
+ * @brief Use a custom board definition for the toggle driver even if a board definition exists.
+ * @details Defaults to FALSE
+ * @details If TRUE, add ginput_lld_toggle_board.h to your project directory and customise it.
+ * @note Not all GINPUT toggle low level drivers use board definition files.
+ */
+ #ifndef GINPUT_TOGGLE_USE_CUSTOM_BOARD
+ #define GINPUT_TOGGLE_USE_CUSTOM_BOARD FALSE
+ #endif
+ /**
+ * @brief Use a custom board definition for the dial driver even if a board definition exists.
+ * @details Defaults to FALSE
+ * @details If TRUE, add ginput_lld_dial_board.h to your project directory and customise it.
+ * @note Not all GINPUT dial low level drivers use board definition files.
+ */
+ #ifndef GINPUT_DIAL_USE_CUSTOM_BOARD
+ #define GINPUT_DIAL_USE_CUSTOM_BOARD FALSE
+ #endif
+/** @} */
+
+#endif /* _GINPUT_OPTIONS_H */
+/** @} */
diff --git a/src/ginput/sys_rules.h b/src/ginput/sys_rules.h
new file mode 100644
index 00000000..f98cc469
--- /dev/null
+++ b/src/ginput/sys_rules.h
@@ -0,0 +1,37 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/ginput/sys_rules.h
+ * @brief GINPUT safety rules header file.
+ *
+ * @addtogroup GINPUT
+ * @{
+ */
+
+#ifndef _GINPUT_RULES_H
+#define _GINPUT_RULES_H
+
+#if GFX_USE_GINPUT
+ #if !GFX_USE_GEVENT
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GINPUT: GFX_USE_GEVENT is required if GFX_USE_GINPUT is TRUE. It has been turned on for you."
+ #endif
+ #undef GFX_USE_GEVENT
+ #define GFX_USE_GEVENT TRUE
+ #endif
+ #if !GFX_USE_GTIMER
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GINPUT: GFX_USE_GTIMER is required if GFX_USE_GINPUT is TRUE. It has been turned on for you."
+ #endif
+ #undef GFX_USE_GTIMER
+ #define GFX_USE_GTIMER TRUE
+ #endif
+#endif
+
+#endif /* _GINPUT_RULES_H */
+/** @} */
diff --git a/src/ginput/toggle.c b/src/ginput/toggle.c
index ec089ecb..aad9c862 100644
--- a/src/ginput/toggle.c
+++ b/src/ginput/toggle.c
@@ -17,7 +17,7 @@
#if (GFX_USE_GINPUT && GINPUT_NEED_TOGGLE) || defined(__DOXYGEN__)
-#include "ginput/lld/toggle.h"
+#include "src/ginput/driver_toggle.h"
#define GINPUT_TOGGLE_ISON 0x01
#define GINPUT_TOGGLE_INVERT 0x02
diff --git a/include/ginput/toggle.h b/src/ginput/toggle.h
index 73cf1e27..73cf1e27 100644
--- a/include/ginput/toggle.h
+++ b/src/ginput/toggle.h
diff --git a/include/gmisc/gmisc.h b/src/gmisc/sys_defs.h
index ff3d0c76..cbb0111b 100644
--- a/include/gmisc/gmisc.h
+++ b/src/gmisc/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gmisc/gmisc.h
+ * @file src/gmisc/sys_defs.h
* @brief GMISC - Miscellaneous Routines header file.
*
* @addtogroup GMISC
diff --git a/src/gmisc/gmisc.mk b/src/gmisc/sys_make.mk
index 73280699..66d19ab0 100644
--- a/src/gmisc/gmisc.mk
+++ b/src/gmisc/sys_make.mk
@@ -1,3 +1,3 @@
-GFXSRC += $(GFXLIB)/src/gmisc/gmisc.c \
- $(GFXLIB)/src/gmisc/arrayops.c \
- $(GFXLIB)/src/gmisc/trig.c
+GFXSRC += $(GFXLIB)/src/gmisc/gmisc.c \
+ $(GFXLIB)/src/gmisc/arrayops.c \
+ $(GFXLIB)/src/gmisc/trig.c
diff --git a/include/gmisc/options.h b/src/gmisc/sys_options.h
index 06f689ec..9cdf37f6 100644
--- a/include/gmisc/options.h
+++ b/src/gmisc/sys_options.h
@@ -1,78 +1,85 @@
-/*
- * 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:
- *
- * http://ugfx.org/license.html
- */
-
-/**
- * @file include/gmisc/options.h
- * @brief GMISC - Miscellaneous Routines options header file.
- *
- * @addtogroup GMISC
- * @{
- */
-
-#ifndef _GMISC_OPTIONS_H
-#define _GMISC_OPTIONS_H
-
-/**
- * @name GMISC Functionality to be included
- * @{
- */
- /**
- * @brief Include array operation functions
- * @details Defaults to FALSE
- */
- #ifndef GMISC_NEED_ARRAYOPS
- #define GMISC_NEED_ARRAYOPS FALSE
- #endif
- /**
- * @brief Include fast fixed point trig functions (sin, cos)
- * @details Defaults to FALSE
- */
- #ifndef GMISC_NEED_FIXEDTRIG
- #define GMISC_NEED_FIXEDTRIG FALSE
- #endif
- /**
- * @brief Include fast inverse square root (x^-1/2)
- * @details Defaults to FALSE
- */
- #ifndef GMISC_NEED_INVSQRT
- #define GMISC_NEED_INVSQRT FALSE
- #endif
-/**
- * @}
- *
- * @name GMISC Optional Parameters
- * @{
- */
- /**
- * @brief Modifies the @p invsqrt() function to assume a different integer to floating point endianness.
- * @note Normally the floating point format and the integer format have
- * the same endianness. Unfortunately there are some strange
- * processors that don't eg. some very early ARM devices.
- * For those where the endianness doesn't match you can fix it by
- * defining GMISC_INVSQRT_MIXED_ENDIAN.
- * @note This still assumes the processor is using an ieee floating point format.
- *
- * If you have a software floating point that uses a non-standard
- * floating point format (or very strange hardware) then define
- * GMISC_INVSQRT_REAL_SLOW and it will do it the hard way.
- */
- #ifndef GMISC_INVSQRT_MIXED_ENDIAN
- #define GMISC_INVSQRT_MIXED_ENDIAN FALSE
- #endif
- /**
- * @brief Modifies the @p invsqrt() function to do things the long slow way.
- * @note This causes the @p invsqrt() function to work regardless of the
- * processor floating point format.
- * @note This makes the @p invsqrt() function very slow.
- */
- #ifndef GMISC_INVSQRT_REAL_SLOW
- #define GMISC_INVSQRT_REAL_SLOW FALSE
- #endif
-/** @} */
-
-#endif /* _GMISC_OPTIONS_H */
-/** @} */
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gmisc/sys_options.h
+ * @brief GMISC - Miscellaneous Routines options header file.
+ *
+ * @addtogroup GMISC
+ * @{
+ */
+
+#ifndef _GMISC_OPTIONS_H
+#define _GMISC_OPTIONS_H
+
+/**
+ * @name GMISC Functionality to be included
+ * @{
+ */
+ /**
+ * @brief Include array operation functions
+ * @details Defaults to FALSE
+ */
+ #ifndef GMISC_NEED_ARRAYOPS
+ #define GMISC_NEED_ARRAYOPS FALSE
+ #endif
+ /**
+ * @brief Include fast floating point trig functions (fsin, fcos)
+ * @details Defaults to FALSE
+ */
+ #ifndef GMISC_NEED_FASTTRIG
+ #define GMISC_NEED_FASTTRIG FALSE
+ #endif
+ /**
+ * @brief Include fast fixed point trig functions (ffsin, ffcos)
+ * @details Defaults to FALSE
+ */
+ #ifndef GMISC_NEED_FIXEDTRIG
+ #define GMISC_NEED_FIXEDTRIG FALSE
+ #endif
+ /**
+ * @brief Include fast inverse square root (x^-1/2)
+ * @details Defaults to FALSE
+ */
+ #ifndef GMISC_NEED_INVSQRT
+ #define GMISC_NEED_INVSQRT FALSE
+ #endif
+/**
+ * @}
+ *
+ * @name GMISC Optional Parameters
+ * @{
+ */
+ /**
+ * @brief Modifies the @p invsqrt() function to assume a different integer to floating point endianness.
+ * @note Normally the floating point format and the integer format have
+ * the same endianness. Unfortunately there are some strange
+ * processors that don't eg. some very early ARM devices.
+ * For those where the endianness doesn't match you can fix it by
+ * defining GMISC_INVSQRT_MIXED_ENDIAN.
+ * @note This still assumes the processor is using an ieee floating point format.
+ *
+ * If you have a software floating point that uses a non-standard
+ * floating point format (or very strange hardware) then define
+ * GMISC_INVSQRT_REAL_SLOW and it will do it the hard way.
+ */
+ #ifndef GMISC_INVSQRT_MIXED_ENDIAN
+ #define GMISC_INVSQRT_MIXED_ENDIAN FALSE
+ #endif
+ /**
+ * @brief Modifies the @p invsqrt() function to do things the long slow way.
+ * @note This causes the @p invsqrt() function to work regardless of the
+ * processor floating point format.
+ * @note This makes the @p invsqrt() function very slow.
+ */
+ #ifndef GMISC_INVSQRT_REAL_SLOW
+ #define GMISC_INVSQRT_REAL_SLOW FALSE
+ #endif
+/** @} */
+
+#endif /* _GMISC_OPTIONS_H */
+/** @} */
diff --git a/src/gmisc/sys_rules.h b/src/gmisc/sys_rules.h
new file mode 100644
index 00000000..6c66907a
--- /dev/null
+++ b/src/gmisc/sys_rules.h
@@ -0,0 +1,23 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gmisc/sys_rules.h
+ * @brief GMISC safety rules header file.
+ *
+ * @addtogroup GMISC
+ * @{
+ */
+
+#ifndef _GMISC_RULES_H
+#define _GMISC_RULES_H
+
+#if GFX_USE_GMISC
+#endif
+
+#endif /* _GMISC_RULES_H */
+/** @} */
diff --git a/include/gos/chibios.h b/src/gos/chibios.h
index 6373aa43..6373aa43 100644
--- a/include/gos/chibios.h
+++ b/src/gos/chibios.h
diff --git a/include/gos/linux.h b/src/gos/linux.h
index f8b049e9..f8b049e9 100644
--- a/include/gos/linux.h
+++ b/src/gos/linux.h
diff --git a/include/gos/osx.h b/src/gos/osx.h
index 56e0551e..56e0551e 100644
--- a/include/gos/osx.h
+++ b/src/gos/osx.h
diff --git a/include/gos/raw32.h b/src/gos/raw32.h
index eb5b5e18..eb5b5e18 100644
--- a/include/gos/raw32.h
+++ b/src/gos/raw32.h
diff --git a/include/gos/gos.h b/src/gos/sys_defs.h
index 37335fbb..b913fb66 100644
--- a/include/gos/gos.h
+++ b/src/gos/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gos/gos.h
+ * @file src/gos/sys_defs.h
* @brief GOS - Operating System Support header file
*
* @addtogroup GOS
@@ -428,15 +428,15 @@
* (without any of the documentation overheads) is in the files below.
*/
#elif GFX_USE_OS_CHIBIOS
- #include "gos/chibios.h"
+ #include "src/gos/chibios.h"
#elif GFX_USE_OS_WIN32
- #include "gos/win32.h"
+ #include "src/gos/win32.h"
#elif GFX_USE_OS_LINUX
- #include "gos/linux.h"
+ #include "src/gos/linux.h"
#elif GFX_USE_OS_OSX
- #include "gos/osx.h"
+ #include "src/gos/osx.h"
#elif GFX_USE_OS_RAW32
- #include "gos/raw32.h"
+ #include "src/gos/raw32.h"
#else
#error "Your operating system is not supported yet"
#endif
diff --git a/src/gos/gos.mk b/src/gos/sys_make.mk
index 9db29fe2..9db29fe2 100644
--- a/src/gos/gos.mk
+++ b/src/gos/sys_make.mk
diff --git a/include/gos/options.h b/src/gos/sys_options.h
index 4edb35d8..ae9916ad 100644
--- a/include/gos/options.h
+++ b/src/gos/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gos/options.h
+ * @file src/gos/sys_options.h
* @brief GOS - Operating System options header file.
*
* @addtogroup GOS
diff --git a/src/gos/sys_rules.h b/src/gos/sys_rules.h
new file mode 100644
index 00000000..390e8116
--- /dev/null
+++ b/src/gos/sys_rules.h
@@ -0,0 +1,31 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gos/sys_rules.h
+ * @brief GOS safety rules header file.
+ *
+ * @addtogroup GOS
+ * @{
+ */
+
+#ifndef _GOS_RULES_H
+#define _GOS_RULES_H
+
+#if !GFX_USE_OS_CHIBIOS && !GFX_USE_OS_WIN32 && !GFX_USE_OS_LINUX && !GFX_USE_OS_OSX && !GFX_USE_OS_RAW32
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GOS: No Operating System has been defined. ChibiOS (GFX_USE_OS_CHIBIOS) has been turned on for you."
+ #endif
+ #undef GFX_USE_OS_CHIBIOS
+ #define GFX_USE_OS_CHIBIOS TRUE
+#endif
+#if GFX_USE_OS_CHIBIOS + GFX_USE_OS_WIN32 + GFX_USE_OS_LINUX + GFX_USE_OS_OSX + GFX_USE_OS_RAW32 != 1 * TRUE
+ #error "GOS: More than one operation system has been defined as TRUE."
+#endif
+
+#endif /* _GOS_RULES_H */
+/** @} */
diff --git a/include/gos/win32.h b/src/gos/win32.h
index c704a288..c704a288 100644
--- a/include/gos/win32.h
+++ b/src/gos/win32.h
diff --git a/include/gqueue/gqueue.h b/src/gqueue/sys_defs.h
index 865d7d8c..447ea5be 100644
--- a/include/gqueue/gqueue.h
+++ b/src/gqueue/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gqueue/gqueue.h
+ * @file src/gqueue/sys_defs.h
* @brief GQUEUE header file.
*
* @addtogroup GQUEUE
diff --git a/src/gqueue/gqueue.mk b/src/gqueue/sys_make.mk
index ab8a0423..ab8a0423 100644
--- a/src/gqueue/gqueue.mk
+++ b/src/gqueue/sys_make.mk
diff --git a/include/gqueue/options.h b/src/gqueue/sys_options.h
index 5ad6bf37..7c8627ce 100644
--- a/include/gqueue/options.h
+++ b/src/gqueue/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gqueue/options.h
+ * @file src/gqueue/sys_options.h
* @brief GQUEUE - Queue options header file.
*
* @addtogroup GQUEUE
diff --git a/src/gqueue/sys_rules.h b/src/gqueue/sys_rules.h
new file mode 100644
index 00000000..baeb073d
--- /dev/null
+++ b/src/gqueue/sys_rules.h
@@ -0,0 +1,23 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gqueue/sys_rules.h
+ * @brief GQUEUE safety rules header file.
+ *
+ * @addtogroup GQUEUE
+ * @{
+ */
+
+#ifndef _GQUEUE_RULES_H
+#define _GQUEUE_RULES_H
+
+#if GFX_USE_GQUEUE
+#endif
+
+#endif /* _GQUEUE_RULES_H */
+/** @} */
diff --git a/include/gtimer/gtimer.h b/src/gtimer/sys_defs.h
index 06072c7c..45b12162 100644
--- a/include/gtimer/gtimer.h
+++ b/src/gtimer/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gtimer/gtimer.h
+ * @file src/gtimer/sys_defs.h
*
* @addtogroup GTIMER
*
diff --git a/src/gtimer/gtimer.mk b/src/gtimer/sys_make.mk
index e6c2b588..801c31a6 100644
--- a/src/gtimer/gtimer.mk
+++ b/src/gtimer/sys_make.mk
@@ -1 +1 @@
-GFXSRC += $(GFXLIB)/src/gtimer/gtimer.c
+GFXSRC += $(GFXLIB)/src/gtimer/gtimer.c
diff --git a/include/gtimer/options.h b/src/gtimer/sys_options.h
index 881db138..8dca0b82 100644
--- a/include/gtimer/options.h
+++ b/src/gtimer/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gtimer/options.h
+ * @file src/gtimer/sys_options.h
* @brief GTIMER sub-system options header file.
*
* @addtogroup GTIMER
diff --git a/src/gtimer/sys_rules.h b/src/gtimer/sys_rules.h
new file mode 100644
index 00000000..6f277965
--- /dev/null
+++ b/src/gtimer/sys_rules.h
@@ -0,0 +1,29 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gtimer/sys_rules.h
+ * @brief GTIMER safety rules header file.
+ *
+ * @addtogroup GTIMER
+ * @{
+ */
+
+#ifndef _GTIMER_RULES_H
+#define _GTIMER_RULES_H
+
+#if GFX_USE_GTIMER
+ #if GFX_USE_GDISP && !GDISP_NEED_MULTITHREAD
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GTIMER: GDISP_NEED_MULTITHREAD has not been specified."
+ #warning "GTIMER: Make sure you are not performing any GDISP/GWIN drawing operations in the timer callback!"
+ #endif
+ #endif
+#endif
+
+#endif /* _GTIMER_RULES_H */
+/** @} */
diff --git a/src/gwin/button.c b/src/gwin/button.c
index b0fd973a..72d75225 100644
--- a/src/gwin/button.c
+++ b/src/gwin/button.c
@@ -19,7 +19,7 @@
#if GFX_USE_GWIN && GWIN_NEED_BUTTON
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
// Parameters for various shapes
#define RND_CNR_SIZE 5 // Rounded corner size for rounded buttons
diff --git a/include/gwin/button.h b/src/gwin/button.h
index d11764d6..d11764d6 100644
--- a/include/gwin/button.h
+++ b/src/gwin/button.h
diff --git a/src/gwin/checkbox.c b/src/gwin/checkbox.c
index 13730d50..8cdd51d9 100644
--- a/src/gwin/checkbox.c
+++ b/src/gwin/checkbox.c
@@ -19,7 +19,7 @@
#if (GFX_USE_GWIN && GWIN_NEED_CHECKBOX) || defined(__DOXYGEN__)
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
// Our checked state
#define GCHECKBOX_FLG_CHECKED (GWIN_FIRST_CONTROL_FLAG<<0)
diff --git a/include/gwin/checkbox.h b/src/gwin/checkbox.h
index 946f7e4a..946f7e4a 100644
--- a/include/gwin/checkbox.h
+++ b/src/gwin/checkbox.h
diff --git a/include/gwin/class_gwin.h b/src/gwin/class_gwin.h
index ae5ac756..ae5ac756 100644
--- a/include/gwin/class_gwin.h
+++ b/src/gwin/class_gwin.h
diff --git a/src/gwin/console.c b/src/gwin/console.c
index 623404be..0fe4b722 100644
--- a/src/gwin/console.c
+++ b/src/gwin/console.c
@@ -16,7 +16,7 @@
#include <string.h>
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
#define GWIN_CONSOLE_USE_CLEAR_LINES TRUE // Clear each line before using it
#define GWIN_CONSOLE_USE_FILLED_CHARS FALSE // Use filled characters instead of drawn characters
diff --git a/include/gwin/console.h b/src/gwin/console.h
index 252b627e..252b627e 100644
--- a/include/gwin/console.h
+++ b/src/gwin/console.h
diff --git a/src/gwin/gimage.c b/src/gwin/gimage.c
index e4032b96..953aefc3 100644
--- a/src/gwin/gimage.c
+++ b/src/gwin/gimage.c
@@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_IMAGE
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
#define widget(gh) ((GImageObject *)gh)
diff --git a/src/gwin/graph.c b/src/gwin/graph.c
index 1d513290..c06639fe 100644
--- a/src/gwin/graph.c
+++ b/src/gwin/graph.c
@@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_GRAPH
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
#define GGRAPH_FLG_CONNECTPOINTS (GWIN_FIRST_CONTROL_FLAG<<0)
#define GGRAPH_ARROW_SIZE 5
diff --git a/include/gwin/graph.h b/src/gwin/graph.h
index 65a64126..65a64126 100644
--- a/include/gwin/graph.h
+++ b/src/gwin/graph.h
diff --git a/src/gwin/gwidget.c b/src/gwin/gwidget.c
index 75a69667..ad2b7b20 100644
--- a/src/gwin/gwidget.c
+++ b/src/gwin/gwidget.c
@@ -11,7 +11,7 @@
#include <string.h>
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
/* Our listener for events for widgets */
static GListener gl;
diff --git a/include/gwin/gwidget.h b/src/gwin/gwidget.h
index a18d69b6..4eaf6c81 100644
--- a/include/gwin/gwidget.h
+++ b/src/gwin/gwidget.h
@@ -277,31 +277,31 @@ bool_t gwinAttachListener(GListener *pl);
/* Include extra widget types */
#if GWIN_NEED_BUTTON || defined(__DOXYGEN__)
- #include "gwin/button.h"
+ #include "src/gwin/button.h"
#endif
#if GWIN_NEED_SLIDER || defined(__DOXYGEN__)
- #include "gwin/slider.h"
+ #include "src/gwin/slider.h"
#endif
#if GWIN_NEED_CHECKBOX || defined(__DOXYGEN__)
- #include "gwin/checkbox.h"
+ #include "src/gwin/checkbox.h"
#endif
#if GWIN_NEED_RADIO || defined(__DOXYGEN__)
- #include "gwin/radio.h"
+ #include "src/gwin/radio.h"
#endif
#if GWIN_NEED_LABEL || defined(__DOXYGEN__)
- #include "gwin/label.h"
+ #include "src/gwin/label.h"
#endif
#if GWIN_NEED_LIST || defined(__DOXYGEN__)
- #include "gwin/list.h"
+ #include "src/gwin/list.h"
#endif
#if GWIN_NEED_PROGRESSBAR || defined(__DOXYGEN__)
- #include "gwin/progressbar.h"
+ #include "src/gwin/progressbar.h"
#endif
#endif /* _GWIDGET_H */
diff --git a/src/gwin/gwin.c b/src/gwin/gwin.c
index 485ccaaa..54f42077 100644
--- a/src/gwin/gwin.c
+++ b/src/gwin/gwin.c
@@ -9,7 +9,7 @@
#if GFX_USE_GWIN
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
// Needed if there is no window manager
#define MIN_WIN_WIDTH 1
diff --git a/src/gwin/gwm.c b/src/gwin/gwm.c
index e7a71737..9c158f68 100644
--- a/src/gwin/gwm.c
+++ b/src/gwin/gwm.c
@@ -17,7 +17,7 @@
#if GFX_USE_GWIN && GWIN_NEED_WINDOWMANAGER
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
/*-----------------------------------------------
* Data
diff --git a/include/gwin/image.h b/src/gwin/image.h
index 66aba3d1..66aba3d1 100644
--- a/include/gwin/image.h
+++ b/src/gwin/image.h
diff --git a/src/gwin/label.c b/src/gwin/label.c
index 5619761a..97588a27 100644
--- a/src/gwin/label.c
+++ b/src/gwin/label.c
@@ -19,7 +19,7 @@
#if GFX_USE_GWIN && GWIN_NEED_LABEL
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
// macros to assist in data type conversions
#define gh2obj ((GLabelObject *)gh)
diff --git a/include/gwin/label.h b/src/gwin/label.h
index 3fe0f3d7..3fe0f3d7 100644
--- a/include/gwin/label.h
+++ b/src/gwin/label.h
diff --git a/src/gwin/list.c b/src/gwin/list.c
index 08e6a96d..5b49811c 100644
--- a/src/gwin/list.c
+++ b/src/gwin/list.c
@@ -19,7 +19,7 @@
#if GFX_USE_GWIN && GWIN_NEED_LIST
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
#include <string.h>
#include <stdlib.h>
diff --git a/include/gwin/list.h b/src/gwin/list.h
index cfe6aeb2..cfe6aeb2 100644
--- a/include/gwin/list.h
+++ b/src/gwin/list.h
diff --git a/src/gwin/progressbar.c b/src/gwin/progressbar.c
index a2364d9f..37bad3c8 100644
--- a/src/gwin/progressbar.c
+++ b/src/gwin/progressbar.c
@@ -19,7 +19,7 @@
#if (GFX_USE_GWIN && GWIN_NEED_PROGRESSBAR) || defined(__DOXYGEN__)
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
// Reset the display position back to the value predicted by the saved progressbar position
static void ResetDisplayPos(GProgressbarObject *gsw) {
diff --git a/include/gwin/progressbar.h b/src/gwin/progressbar.h
index c9efe46b..c9efe46b 100644
--- a/include/gwin/progressbar.h
+++ b/src/gwin/progressbar.h
diff --git a/src/gwin/radio.c b/src/gwin/radio.c
index 7507634c..f50ffe9b 100644
--- a/src/gwin/radio.c
+++ b/src/gwin/radio.c
@@ -19,7 +19,7 @@
#if GFX_USE_GWIN && GWIN_NEED_RADIO
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
// Our pressed state
#define GRADIO_FLG_PRESSED (GWIN_FIRST_CONTROL_FLAG<<0)
diff --git a/include/gwin/radio.h b/src/gwin/radio.h
index 3ee2918f..3ee2918f 100644
--- a/include/gwin/radio.h
+++ b/src/gwin/radio.h
diff --git a/src/gwin/slider.c b/src/gwin/slider.c
index 5d6a5ec0..4c91ede6 100644
--- a/src/gwin/slider.c
+++ b/src/gwin/slider.c
@@ -19,7 +19,7 @@
#if (GFX_USE_GWIN && GWIN_NEED_SLIDER) || defined(__DOXYGEN__)
-#include "gwin/class_gwin.h"
+#include "src/gwin/class_gwin.h"
#ifndef GWIN_SLIDER_DEAD_BAND
#define GWIN_SLIDER_DEAD_BAND 5
diff --git a/include/gwin/slider.h b/src/gwin/slider.h
index 8f87745c..8f87745c 100644
--- a/include/gwin/slider.h
+++ b/src/gwin/slider.h
diff --git a/include/gwin/gwin.h b/src/gwin/sys_defs.h
index f97919e5..10b5b564 100644
--- a/include/gwin/gwin.h
+++ b/src/gwin/sys_defs.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gwin/gwin.h
+ * @file src/gwin/sys_defs.h
*
* @defgroup Window Window
* @ingroup GWIN
@@ -841,20 +841,20 @@ extern "C" {
/* Include widgets */
#if GWIN_NEED_WIDGET || defined(__DOXYGEN__)
- #include "gwin/gwidget.h"
+ #include "src/gwin/gwidget.h"
#endif
/* Include extra window types */
#if GWIN_NEED_CONSOLE || defined(__DOXYGEN__)
- #include "gwin/console.h"
+ #include "src/gwin/console.h"
#endif
#if GWIN_NEED_GRAPH || defined(__DOXYGEN__)
- #include "gwin/graph.h"
+ #include "src/gwin/graph.h"
#endif
#if GWIN_NEED_IMAGE || defined(__DOXYGEN__)
- #include "gwin/image.h"
+ #include "src/gwin/image.h"
#endif
#endif /* GFX_USE_GWIN */
diff --git a/src/gwin/gwin.mk b/src/gwin/sys_make.mk
index 4c670ea2..4c670ea2 100644
--- a/src/gwin/gwin.mk
+++ b/src/gwin/sys_make.mk
diff --git a/include/gwin/options.h b/src/gwin/sys_options.h
index 882db572..02467916 100644
--- a/include/gwin/options.h
+++ b/src/gwin/sys_options.h
@@ -6,7 +6,7 @@
*/
/**
- * @file include/gwin/options.h
+ * @file include/gwin/sys_options.h
* @brief GWIN sub-system options header file.
*
* @addtogroup GWIN
diff --git a/src/gwin/sys_rules.h b/src/gwin/sys_rules.h
new file mode 100644
index 00000000..77f029f0
--- /dev/null
+++ b/src/gwin/sys_rules.h
@@ -0,0 +1,99 @@
+/*
+ * 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:
+ *
+ * http://ugfx.org/license.html
+ */
+
+/**
+ * @file src/gwin/sys_rules.h
+ * @brief GWIN safety rules header file.
+ *
+ * @addtogroup GWIN
+ * @{
+ */
+
+#ifndef _GWIN_RULES_H
+#define _GWIN_RULES_H
+
+#if GFX_USE_GWIN
+ #if !GFX_USE_GDISP
+ #error "GWIN: GFX_USE_GDISP must be TRUE when using GWIN"
+ #endif
+ #if !GDISP_NEED_CLIP
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GWIN: Drawing can occur outside the defined windows as GDISP_NEED_CLIP is FALSE"
+ #endif
+ #endif
+ #if GWIN_NEED_IMAGE
+ #if !GDISP_NEED_IMAGE
+ #error "GWIN: GDISP_NEED_IMAGE is required when GWIN_NEED_IMAGE is TRUE."
+ #endif
+ #endif
+ #if GWIN_NEED_RADIO
+ #if !GDISP_NEED_CIRCLE
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GWIN: GDISP_NEED_CIRCLE should be set to TRUE for much nicer radio button widgets."
+ #endif
+ #endif
+ #endif
+ #if GWIN_NEED_BUTTON || GWIN_NEED_SLIDER || GWIN_NEED_CHECKBOX || GWIN_NEED_LABEL || GWIN_NEED_RADIO || GWIN_NEED_LIST || \
+ GWIN_NEED_IMAGE || GWIN_NEED_CHECKBOX || GWIN_NEED_PROGRESSBAR
+ #if !GWIN_NEED_WIDGET
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GWIN: GWIN_NEED_WIDGET is required when a Widget is used. It has been turned on for you."
+ #endif
+ #undef GWIN_NEED_WIDGET
+ #define GWIN_NEED_WIDGET TRUE
+ #endif
+ #endif
+ #if GWIN_NEED_LIST
+ #if !GDISP_NEED_TEXT
+ #error "GWIN: GDISP_NEED_TEXT is required when GWIN_NEED_LIST is TRUE."
+ #endif
+ #endif
+ #if GWIN_NEED_WIDGET
+ #if !GDISP_NEED_TEXT
+ #error "GWIN: GDISP_NEED_TEXT is required if GWIN_NEED_WIDGET is TRUE."
+ #endif
+ #if !GFX_USE_GINPUT
+ // This test also ensures that GFX_USE_GEVENT is set
+ #error "GWIN: GFX_USE_GINPUT (and one or more input sources) is required if GWIN_NEED_WIDGET is TRUE"
+ #endif
+ #if !GWIN_NEED_WINDOWMANAGER
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GWIN: GWIN_NEED_WINDOWMANAGER is required if GWIN_NEED_WIDGET is TRUE. It has been turned on for you."
+ #endif
+ #undef GWIN_NEED_WINDOWMANAGER
+ #define GWIN_NEED_WINDOWMANAGER TRUE
+ #endif
+ #if !GDISP_NEED_MULTITHREAD
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GWIN: GDISP_NEED_MULTITHREAD is required if GWIN_NEED_WIDGET is TRUE. It has been turned on for you"
+ #endif
+ #undef GDISP_NEED_MULTITHREAD
+ #define GDISP_NEED_MULTITHREAD TRUE
+ #endif
+ #endif
+ #if GWIN_NEED_WINDOWMANAGER
+ #if !GFX_USE_GQUEUE || !GQUEUE_NEED_ASYNC
+ #if GFX_DISPLAY_RULE_WARNINGS
+ #warning "GWIN: GFX_USE_GQUEUE and GQUEUE_NEED_ASYNC is required if GWIN_NEED_WINDOWMANAGER is TRUE. It has been turned on for you."
+ #endif
+ #undef GFX_USE_GQUEUE
+ #undef GQUEUE_NEED_ASYNC
+ #define GFX_USE_GQUEUE TRUE
+ #define GQUEUE_NEED_ASYNC TRUE
+ #endif
+ #endif
+ #if GWIN_NEED_CONSOLE
+ #if !GDISP_NEED_TEXT
+ #error "GWIN: GDISP_NEED_TEXT is required if GWIN_NEED_CONSOLE is TRUE."
+ #endif
+ #endif
+ #if GWIN_NEED_GRAPH
+ #endif
+#endif
+
+#endif /* _GWIN_RULES_H */
+/** @} */
diff --git a/tools/uGFXnetDisplay/main.c b/tools/uGFXnetDisplay/main.c
index f16fd213..47274a31 100644
--- a/tools/uGFXnetDisplay/main.c
+++ b/tools/uGFXnetDisplay/main.c
@@ -6,7 +6,7 @@
*/
#include "gfx.h"
-#include "../drivers/multiple/uGFXnet/uGFXnetProtocol.h"
+#include "drivers/multiple/uGFXnet/uGFXnetProtocol.h"
#ifndef GDISP_GFXNET_PORT
#define GDISP_GFXNET_PORT GNETCODE_DEFAULT_PORT