aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2015-06-08 14:14:40 +1000
committerinmarket <andrewh@inmarket.com.au>2015-06-08 14:14:40 +1000
commitccde54722f2c284fb0e7fc273d65c57a3be71db1 (patch)
treefffa49870c73d7e9d5caaf5c6d1d47cf0e5c90d3
parente850c344b818f21a2ec286f9c4a149a9cd4ac34b (diff)
downloaduGFX-ccde54722f2c284fb0e7fc273d65c57a3be71db1.tar.gz
uGFX-ccde54722f2c284fb0e7fc273d65c57a3be71db1.tar.bz2
uGFX-ccde54722f2c284fb0e7fc273d65c57a3be71db1.zip
Added ability to compile ugfx as a single file (excluding driver and board files).
Simply compile src/gfx_mk.c
-rw-r--r--gfx.mk30
-rw-r--r--src/gadc/gadc_mk.c8
-rw-r--r--src/gaudio/gaudio_mk.c8
-rw-r--r--src/gdisp/fonts/build_fonts.sh2
-rw-r--r--src/gdisp/fonts/fonts.h2
-rw-r--r--src/gdisp/fonts/mf_bwfont.h15
-rw-r--r--src/gdisp/fonts/mf_rlefont.h15
-rw-r--r--src/gdisp/fonts/mf_scaledfont.h15
-rw-r--r--src/gdisp/gdisp.c6
-rw-r--r--src/gdisp/gdisp.mk2
-rw-r--r--src/gdisp/gdisp_mk.c29
-rw-r--r--src/gdisp/mcufont/mf_bwfont.h4
-rw-r--r--src/gdisp/mcufont/mf_config.h2
-rw-r--r--src/gdisp/mcufont/mf_encoding.h6
-rw-r--r--src/gdisp/mcufont/mf_font.c12
-rw-r--r--src/gdisp/mcufont/mf_font.h6
-rw-r--r--src/gdisp/mcufont/mf_justify.c2
-rw-r--r--src/gdisp/mcufont/mf_rlefont.c2
-rw-r--r--src/gdisp/mcufont/mf_rlefont.h4
-rw-r--r--src/gdisp/mcufont/mf_scaledfont.c4
-rw-r--r--src/gdisp/mcufont/mf_scaledfont.h4
-rw-r--r--src/gdriver/gdriver_mk.c8
-rw-r--r--src/gevent/gevent_mk.c8
-rw-r--r--src/gfile/gfile_mk.c23
-rw-r--r--src/gfx.c10
-rw-r--r--src/gfx_mk.c20
-rw-r--r--src/ginput/ginput_mk.c13
-rw-r--r--src/gmisc/gmisc_mk.c11
-rw-r--r--src/gos/gos_mk.c16
-rw-r--r--src/gqueue/gqueue_mk.c8
-rw-r--r--src/gtimer/gtimer_mk.c8
-rw-r--r--src/gwin/gwin_button.c114
-rw-r--r--src/gwin/gwin_checkbox.c34
-rw-r--r--src/gwin/gwin_console.c10
-rw-r--r--src/gwin/gwin_container.c10
-rw-r--r--src/gwin/gwin_frame.c118
-rw-r--r--src/gwin/gwin_image.c51
-rw-r--r--src/gwin/gwin_keyboard.c30
-rw-r--r--src/gwin/gwin_label.c2
-rw-r--r--src/gwin/gwin_list.c91
-rw-r--r--src/gwin/gwin_mk.c26
-rw-r--r--src/gwin/gwin_progressbar.c16
-rw-r--r--src/gwin/gwin_radio.c16
-rw-r--r--src/gwin/gwin_slider.c56
-rw-r--r--src/gwin/gwin_tabset.c14
-rw-r--r--src/gwin/gwin_widget.c2
-rw-r--r--tools/gmake_scripts/library_ugfx.mk7
47 files changed, 578 insertions, 322 deletions
diff --git a/gfx.mk b/gfx.mk
index 435c24de..777934b9 100644
--- a/gfx.mk
+++ b/gfx.mk
@@ -4,20 +4,24 @@
# http://ugfx.org/license.html
GFXINC += $(GFXLIB)
-GFXSRC += $(GFXLIB)/src/gfx.c
-include $(GFXLIB)/src/gos/gos.mk
-include $(GFXLIB)/src/gdriver/gdriver.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/gaudio/gaudio.mk
-include $(GFXLIB)/src/gmisc/gmisc.mk
-include $(GFXLIB)/src/gfile/gfile.mk
+ifeq ($(GFXSINGLEMAKE),yes)
+ GFXSRC += $(GFXLIB)/src/gfx_mk.c
+else
+ GFXSRC += $(GFXLIB)/src/gfx.c
+ include $(GFXLIB)/src/gos/gos.mk
+ include $(GFXLIB)/src/gdriver/gdriver.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/gaudio/gaudio.mk
+ include $(GFXLIB)/src/gmisc/gmisc.mk
+ include $(GFXLIB)/src/gfile/gfile.mk
+endif
# Include the boards and drivers
ifneq ($(GFXBOARD),)
diff --git a/src/gadc/gadc_mk.c b/src/gadc/gadc_mk.c
new file mode 100644
index 00000000..452c470a
--- /dev/null
+++ b/src/gadc/gadc_mk.c
@@ -0,0 +1,8 @@
+/*
+ * 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
+ */
+
+#include "gadc.c"
diff --git a/src/gaudio/gaudio_mk.c b/src/gaudio/gaudio_mk.c
new file mode 100644
index 00000000..02d58fd8
--- /dev/null
+++ b/src/gaudio/gaudio_mk.c
@@ -0,0 +1,8 @@
+/*
+ * 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
+ */
+
+#include "gaudio.c"
diff --git a/src/gdisp/fonts/build_fonts.sh b/src/gdisp/fonts/build_fonts.sh
index 22f95a91..8c10cfe6 100644
--- a/src/gdisp/fonts/build_fonts.sh
+++ b/src/gdisp/fonts/build_fonts.sh
@@ -65,7 +65,7 @@ build fixed_10x20.bdf fixed_10x20 bwfont
build fixed_7x14.bdf fixed_7x14 bwfont
build fixed_5x8.bdf fixed_5x8 bwfont
-echo '#include "gfx.h"' > fonts.h
+echo '// This file is generated by build_fonts.sh' > fonts.h
for file in *.c; do
echo >> fonts.h
noext="${file%.*}"
diff --git a/src/gdisp/fonts/fonts.h b/src/gdisp/fonts/fonts.h
index 13904267..25ecde33 100644
--- a/src/gdisp/fonts/fonts.h
+++ b/src/gdisp/fonts/fonts.h
@@ -1,4 +1,4 @@
-#include "gfx.h"
+// This file is generated by build_fonts.sh
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS10) && GDISP_INCLUDE_FONT_DEJAVUSANS10
#define GDISP_FONT_FOUND
diff --git a/src/gdisp/fonts/mf_bwfont.h b/src/gdisp/fonts/mf_bwfont.h
new file mode 100644
index 00000000..df0e071b
--- /dev/null
+++ b/src/gdisp/fonts/mf_bwfont.h
@@ -0,0 +1,15 @@
+/*
+ * 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
+ */
+
+/* This is a stub file to prevent having to include the mcufont
+ * directory in the include path for funny compilers such as arduino
+ * which don't support a user specified include path.
+ *
+ * It is not needed anyway as the files are already included.
+ *
+ * New versions of the font generator do not generate these include lines.
+ */
diff --git a/src/gdisp/fonts/mf_rlefont.h b/src/gdisp/fonts/mf_rlefont.h
new file mode 100644
index 00000000..df0e071b
--- /dev/null
+++ b/src/gdisp/fonts/mf_rlefont.h
@@ -0,0 +1,15 @@
+/*
+ * 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
+ */
+
+/* This is a stub file to prevent having to include the mcufont
+ * directory in the include path for funny compilers such as arduino
+ * which don't support a user specified include path.
+ *
+ * It is not needed anyway as the files are already included.
+ *
+ * New versions of the font generator do not generate these include lines.
+ */
diff --git a/src/gdisp/fonts/mf_scaledfont.h b/src/gdisp/fonts/mf_scaledfont.h
new file mode 100644
index 00000000..df0e071b
--- /dev/null
+++ b/src/gdisp/fonts/mf_scaledfont.h
@@ -0,0 +1,15 @@
+/*
+ * 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
+ */
+
+/* This is a stub file to prevent having to include the mcufont
+ * directory in the include path for funny compilers such as arduino
+ * which don't support a user specified include path.
+ *
+ * It is not needed anyway as the files are already included.
+ *
+ * New versions of the font generator do not generate these include lines.
+ */
diff --git a/src/gdisp/gdisp.c b/src/gdisp/gdisp.c
index 2491fd86..86931952 100644
--- a/src/gdisp/gdisp.c
+++ b/src/gdisp/gdisp.c
@@ -501,7 +501,7 @@ static void line_clip(GDisplay *g) {
}
#if GDISP_STARTUP_LOGO_TIMEOUT > 0
- static bool_t initDone;
+ static bool_t gdispInitDone;
static void StartupLogoDisplay(GDisplay *g) {
coord_t x, y, w;
const coord_t * p;
@@ -604,7 +604,7 @@ void _gdispInit(void)
#endif
}
- initDone = TRUE;
+ gdispInitDone = TRUE;
}
#endif
@@ -660,7 +660,7 @@ void _gdispPostInitDriver(GDriver *g) {
// Display the startup logo if this is a static initialised display
#if GDISP_STARTUP_LOGO_TIMEOUT > 0
- if (!initDone)
+ if (!gdispInitDone)
StartupLogoDisplay(gd);
#endif
diff --git a/src/gdisp/gdisp.mk b/src/gdisp/gdisp.mk
index c4def261..acab953e 100644
--- a/src/gdisp/gdisp.mk
+++ b/src/gdisp/gdisp.mk
@@ -15,5 +15,5 @@ GFXSRC += $(GFXLIB)/src/gdisp/gdisp.c \
MFDIR = $(GFXLIB)/src/gdisp/mcufont
include $(GFXLIB)/src/gdisp/mcufont/mcufont.mk
-GFXINC += $(MFDIR)
+#GFXINC += $(MFDIR)
GFXSRC += $(MFSRC)
diff --git a/src/gdisp/gdisp_mk.c b/src/gdisp/gdisp_mk.c
new file mode 100644
index 00000000..3209b3d0
--- /dev/null
+++ b/src/gdisp/gdisp_mk.c
@@ -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
+ */
+
+/* The very first thing that has to be compiled here is mf_font.c so that
+ * inclusion of the font header files does not stop the inclusion of the
+ * implementation specific parts of the font files.
+ */
+#include "mcufont/mf_font.c"
+#include "mcufont/mf_rlefont.c"
+#include "mcufont/mf_bwfont.c"
+#include "mcufont/mf_scaledfont.c"
+#include "mcufont/mf_encoding.c"
+#include "mcufont/mf_justify.c"
+#include "mcufont/mf_kerning.c"
+#include "mcufont/mf_wordwrap.c"
+
+#include "gdisp.c"
+#include "gdisp_fonts.c"
+#include "gdisp_pixmap.c"
+#include "gdisp_image.c"
+#include "gdisp_image_native.c"
+#include "gdisp_image_gif.c"
+#include "gdisp_image_bmp.c"
+#include "gdisp_image_jpg.c"
+#include "gdisp_image_png.c"
diff --git a/src/gdisp/mcufont/mf_bwfont.h b/src/gdisp/mcufont/mf_bwfont.h
index f0429073..761352df 100644
--- a/src/gdisp/mcufont/mf_bwfont.h
+++ b/src/gdisp/mcufont/mf_bwfont.h
@@ -73,12 +73,12 @@ struct mf_bwfont_s
/* Internal functions, don't use these directly. */
MF_EXTERN uint8_t mf_bwfont_render_character(const struct mf_font_s *font,
int16_t x0, int16_t y0,
- mf_char character,
+ uint16_t character,
mf_pixel_callback_t callback,
void *state);
MF_EXTERN uint8_t mf_bwfont_character_width(const struct mf_font_s *font,
- mf_char character);
+ uint16_t character);
#endif
#endif
diff --git a/src/gdisp/mcufont/mf_config.h b/src/gdisp/mcufont/mf_config.h
index 88838c1d..ac2262d4 100644
--- a/src/gdisp/mcufont/mf_config.h
+++ b/src/gdisp/mcufont/mf_config.h
@@ -159,7 +159,7 @@
#ifdef __cplusplus
#define MF_EXTERN extern "C"
#else
-#define MF_EXTERN extern
+#define MF_EXTERN
#endif
#endif
diff --git a/src/gdisp/mcufont/mf_encoding.h b/src/gdisp/mcufont/mf_encoding.h
index d8b7b70e..a8c44d9d 100644
--- a/src/gdisp/mcufont/mf_encoding.h
+++ b/src/gdisp/mcufont/mf_encoding.h
@@ -19,9 +19,11 @@
/* Type used to represent characters internally. */
#if MF_ENCODING == MF_ENCODING_ASCII
-typedef char mf_char;
+ typedef char mf_char;
+ #define MFCHAR2UINT16(c) ((uint16_t)(uint8_t)(c))
#else
-typedef uint16_t mf_char;
+ typedef uint16_t mf_char;
+ #define MFCHAR2UINT16(c) (c)
#endif
/* Type used to represent input strings. */
diff --git a/src/gdisp/mcufont/mf_font.c b/src/gdisp/mcufont/mf_font.c
index 7a4ebf95..ccf71bec 100644
--- a/src/gdisp/mcufont/mf_font.c
+++ b/src/gdisp/mcufont/mf_font.c
@@ -5,10 +5,18 @@
* http://ugfx.org/license.html
*/
-#include "mf_font.h"
+#include "mf_config.h"
#ifndef MF_NO_COMPILE
+#define MF_BWFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#define MF_SCALEDFONT_INTERNALS
+#include "mf_font.h"
+#include "mf_rlefont.h"
+#include "mf_bwfont.h"
+#include "mf_scaledfont.h"
+
#include <stdbool.h>
/* This will be made into a list of included fonts using macro magic. */
@@ -40,7 +48,7 @@ uint8_t mf_character_width(const struct mf_font_s *font,
mf_char character)
{
uint8_t width;
- width = font->character_width(font, character);
+ width = font->character_width(font, MFCHAR2UINT16(character));
if (!width)
{
diff --git a/src/gdisp/mcufont/mf_font.h b/src/gdisp/mcufont/mf_font.h
index 1166fa3b..ff8840c8 100644
--- a/src/gdisp/mcufont/mf_font.h
+++ b/src/gdisp/mcufont/mf_font.h
@@ -53,17 +53,17 @@ struct mf_font_s
uint8_t flags;
/* Fallback character to use for missing glyphs. */
- mf_char fallback_character;
+ uint16_t fallback_character;
/* Function to get character width. Should return 0 if character is
* not found. */
- uint8_t (*character_width)(const struct mf_font_s *font, mf_char character);
+ uint8_t (*character_width)(const struct mf_font_s *font, uint16_t character);
/* Function to render a character. Returns the character width or 0 if
* character is not found. */
uint8_t (*render_character)(const struct mf_font_s *font,
int16_t x0, int16_t y0,
- mf_char character,
+ uint16_t character,
mf_pixel_callback_t callback,
void *state);
};
diff --git a/src/gdisp/mcufont/mf_justify.c b/src/gdisp/mcufont/mf_justify.c
index 857777cd..204bb7f7 100644
--- a/src/gdisp/mcufont/mf_justify.c
+++ b/src/gdisp/mcufont/mf_justify.c
@@ -297,7 +297,7 @@ void mf_render_justified(const struct mf_font_s *font,
{
int16_t x, tmp;
- uint16_t c1 = 0, c2;
+ mf_char c1 = 0, c2;
x = x0 - font->baseline_x;
while (count--)
diff --git a/src/gdisp/mcufont/mf_rlefont.c b/src/gdisp/mcufont/mf_rlefont.c
index c4b344c6..2ef89fd1 100644
--- a/src/gdisp/mcufont/mf_rlefont.c
+++ b/src/gdisp/mcufont/mf_rlefont.c
@@ -267,7 +267,7 @@ uint8_t mf_rlefont_render_character(const struct mf_font_s *font,
rstate.callback = callback;
rstate.state = state;
- p = find_glyph((struct mf_rlefont_s*)font, character);
+ p = find_glyph((struct mf_rlefont_s*)font, character);
if (!p)
return 0;
diff --git a/src/gdisp/mcufont/mf_rlefont.h b/src/gdisp/mcufont/mf_rlefont.h
index d9cee8dc..7e717ccc 100644
--- a/src/gdisp/mcufont/mf_rlefont.h
+++ b/src/gdisp/mcufont/mf_rlefont.h
@@ -70,12 +70,12 @@ struct mf_rlefont_s
/* Internal functions, don't use these directly. */
MF_EXTERN uint8_t mf_rlefont_render_character(const struct mf_font_s *font,
int16_t x0, int16_t y0,
- mf_char character,
+ uint16_t character,
mf_pixel_callback_t callback,
void *state);
MF_EXTERN uint8_t mf_rlefont_character_width(const struct mf_font_s *font,
- mf_char character);
+ uint16_t character);
#endif
#endif
diff --git a/src/gdisp/mcufont/mf_scaledfont.c b/src/gdisp/mcufont/mf_scaledfont.c
index 4f9de208..570baef6 100644
--- a/src/gdisp/mcufont/mf_scaledfont.c
+++ b/src/gdisp/mcufont/mf_scaledfont.c
@@ -36,7 +36,7 @@ static void scaled_pixel_callback(int16_t x, int16_t y, uint8_t count,
}
uint8_t mf_scaled_character_width(const struct mf_font_s *font,
- mf_char character)
+ uint16_t character)
{
struct mf_scaledfont_s *sfont = (struct mf_scaledfont_s*)font;
uint8_t basewidth;
@@ -48,7 +48,7 @@ uint8_t mf_scaled_character_width(const struct mf_font_s *font,
uint8_t mf_scaled_render_character(const struct mf_font_s *font,
int16_t x0, int16_t y0,
- mf_char character,
+ uint16_t character,
mf_pixel_callback_t callback,
void *state)
{
diff --git a/src/gdisp/mcufont/mf_scaledfont.h b/src/gdisp/mcufont/mf_scaledfont.h
index 5fdc0980..c4e4406b 100644
--- a/src/gdisp/mcufont/mf_scaledfont.h
+++ b/src/gdisp/mcufont/mf_scaledfont.h
@@ -31,12 +31,12 @@ MF_EXTERN void mf_scale_font(struct mf_scaledfont_s *newfont,
/* Internal functions, don't use these directly. */
MF_EXTERN uint8_t mf_scaled_render_character(const struct mf_font_s *font,
int16_t x0, int16_t y0,
- mf_char character,
+ uint16_t character,
mf_pixel_callback_t callback,
void *state);
MF_EXTERN uint8_t mf_scaled_character_width(const struct mf_font_s *font,
- mf_char character);
+ uint16_t character);
#endif
#endif
diff --git a/src/gdriver/gdriver_mk.c b/src/gdriver/gdriver_mk.c
new file mode 100644
index 00000000..52bcf069
--- /dev/null
+++ b/src/gdriver/gdriver_mk.c
@@ -0,0 +1,8 @@
+/*
+ * 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
+ */
+
+#include "gdriver.c"
diff --git a/src/gevent/gevent_mk.c b/src/gevent/gevent_mk.c
new file mode 100644
index 00000000..c7f52b62
--- /dev/null
+++ b/src/gevent/gevent_mk.c
@@ -0,0 +1,8 @@
+/*
+ * 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
+ */
+
+#include "gevent.c"
diff --git a/src/gfile/gfile_mk.c b/src/gfile/gfile_mk.c
new file mode 100644
index 00000000..f479337f
--- /dev/null
+++ b/src/gfile/gfile_mk.c
@@ -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
+ */
+
+#include "gfile.c"
+#include "gfile_fs_native.c"
+#include "gfile_fs_ram.c"
+#include "gfile_fs_rom.c"
+#include "gfile_fs_fatfs.c"
+#include "gfile_fs_petitfs.c"
+#include "gfile_fs_mem.c"
+#include "gfile_fs_chibios.c"
+#include "gfile_fs_strings.c"
+#include "gfile_printg.c"
+#include "gfile_scang.c"
+#include "gfile_stdio.c"
+#include "gfile_fatfs_wrapper.c"
+#include "gfile_fatfs_diskio_chibios.c"
+#include "gfile_petitfs_wrapper.c"
+#include "gfile_petitfs_diskio_chibios.c"
diff --git a/src/gfx.c b/src/gfx.c
index fea9044b..b3d82c15 100644
--- a/src/gfx.c
+++ b/src/gfx.c
@@ -15,7 +15,7 @@
#include "gfx.h"
-static bool_t initDone = FALSE;
+static bool_t gfxInitDone = FALSE;
/* These init functions are defined by each module but not published */
extern void _gosInit(void);
@@ -74,9 +74,9 @@ extern void _gosDeinit(void);
void gfxInit(void)
{
/* Ensure we only initialise once */
- if (initDone)
+ if (gfxInitDone)
return;
- initDone = TRUE;
+ gfxInitDone = TRUE;
// These must be initialised in the order of their dependancies
@@ -121,9 +121,9 @@ void gfxInit(void)
void gfxDeinit(void)
{
- if (!initDone)
+ if (!gfxInitDone)
return;
- initDone = FALSE;
+ gfxInitDone = FALSE;
// We deinitialise the opposite way as we initialised
#if GFX_USE_GWIN
diff --git a/src/gfx_mk.c b/src/gfx_mk.c
new file mode 100644
index 00000000..34e6afd8
--- /dev/null
+++ b/src/gfx_mk.c
@@ -0,0 +1,20 @@
+/*
+ * 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
+ */
+
+#include "gfx.c"
+#include "gos/gos_mk.c"
+#include "gdriver/gdriver_mk.c"
+#include "gqueue/gqueue_mk.c"
+#include "gdisp/gdisp_mk.c"
+#include "gevent/gevent_mk.c"
+#include "gtimer/gtimer_mk.c"
+#include "gwin/gwin_mk.c"
+#include "ginput/ginput_mk.c"
+#include "gadc/gadc_mk.c"
+#include "gaudio/gaudio_mk.c"
+#include "gmisc/gmisc_mk.c"
+#include "gfile/gfile_mk.c"
diff --git a/src/ginput/ginput_mk.c b/src/ginput/ginput_mk.c
new file mode 100644
index 00000000..4ea6f2ea
--- /dev/null
+++ b/src/ginput/ginput_mk.c
@@ -0,0 +1,13 @@
+/*
+ * 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
+ */
+
+#include "ginput.c"
+#include "ginput_mouse.c"
+#include "ginput_keyboard.c"
+#include "ginput_keyboard_microcode.c"
+#include "ginput_toggle.c"
+#include "ginput_dial.c"
diff --git a/src/gmisc/gmisc_mk.c b/src/gmisc/gmisc_mk.c
new file mode 100644
index 00000000..ab3c4a1d
--- /dev/null
+++ b/src/gmisc/gmisc_mk.c
@@ -0,0 +1,11 @@
+/*
+ * 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
+ */
+
+#include "gmisc.c"
+#include "gmisc_arrayops.c"
+#include "gmisc_matrix2d.c"
+#include "gmisc_trig.c"
diff --git a/src/gos/gos_mk.c b/src/gos/gos_mk.c
new file mode 100644
index 00000000..71267233
--- /dev/null
+++ b/src/gos/gos_mk.c
@@ -0,0 +1,16 @@
+/*
+ * 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
+ */
+
+#include "gos_arduino.c"
+#include "gos_chibios.c"
+#include "gos_ecos.c"
+#include "gos_freertos.c"
+#include "gos_linux.c"
+#include "gos_osx.c"
+#include "gos_raw32.c"
+#include "gos_rawrtos.c"
+#include "gos_win32.c"
diff --git a/src/gqueue/gqueue_mk.c b/src/gqueue/gqueue_mk.c
new file mode 100644
index 00000000..4f22f97b
--- /dev/null
+++ b/src/gqueue/gqueue_mk.c
@@ -0,0 +1,8 @@
+/*
+ * 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
+ */
+
+#include "gqueue.c"
diff --git a/src/gtimer/gtimer_mk.c b/src/gtimer/gtimer_mk.c
new file mode 100644
index 00000000..0a1b7481
--- /dev/null
+++ b/src/gtimer/gtimer_mk.c
@@ -0,0 +1,8 @@
+/*
+ * 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
+ */
+
+#include "gtimer.c"
diff --git a/src/gwin/gwin_button.c b/src/gwin/gwin_button.c
index a9e3ab82..4066884c 100644
--- a/src/gwin/gwin_button.c
+++ b/src/gwin/gwin_button.c
@@ -17,25 +17,25 @@
#include "gwin_class.h"
// Parameters for various shapes
-#define RND_CNR_SIZE 5 // Rounded corner size for rounded buttons
-#define ARROWHEAD_DIVIDER 0 // What fraction of the length for the arrow head. Use 0 for 45 degree arrow head.
-#define ARROWBODY_DIVIDER 2 // What fraction of the width for the arrow body
-#define TOP_FADE 50 // (TOP_FADE/255)% fade to white for top of button
-#define BOTTOM_FADE 25 // (BOTTOM_FADE/255)% fade to black for bottom of button
+#define BTN_CNR_SIZE 5 // Rounded corner size for rounded buttons
+#define BTN_ARROWHEAD_DIV 0 // What fraction of the length for the arrow head. Use 0 for 45 degree arrow head.
+#define BTN_ARROWBODY_DIV 2 // What fraction of the width for the arrow body
+#define BTN_TOP_FADE 50 // (BTN_TOP_FADE/255)% fade to white for top of button
+#define BTN_BOTTOM_FADE 25 // (BTN_BOTTOM_FADE/255)% fade to black for bottom of button
// Our pressed state
#define GBUTTON_FLG_PRESSED (GWIN_FIRST_CONTROL_FLAG<<0)
#if GINPUT_NEED_MOUSE
// A mouse down has occurred over the button
- static void MouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void ButtonMouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
(void) x; (void) y;
gw->g.flags |= GBUTTON_FLG_PRESSED;
_gwinUpdate((GHandle)gw);
}
// A mouse up has occurred (it may or may not be over the button)
- static void MouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void ButtonMouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
(void) x; (void) y;
gw->g.flags &= ~GBUTTON_FLG_PRESSED;
_gwinUpdate((GHandle)gw);
@@ -52,14 +52,14 @@
#if GINPUT_NEED_TOGGLE
// A toggle off has occurred
- static void ToggleOff(GWidgetObject *gw, uint16_t role) {
+ static void ButtonToggleOff(GWidgetObject *gw, uint16_t role) {
(void) role;
gw->g.flags &= ~GBUTTON_FLG_PRESSED;
_gwinUpdate((GHandle)gw);
}
// A toggle on has occurred
- static void ToggleOn(GWidgetObject *gw, uint16_t role) {
+ static void ButtonToggleOn(GWidgetObject *gw, uint16_t role) {
(void) role;
gw->g.flags |= GBUTTON_FLG_PRESSED;
_gwinUpdate((GHandle)gw);
@@ -67,12 +67,12 @@
_gwinSendEvent(&gw->g, GEVENT_GWIN_BUTTON);
}
- static void ToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
+ static void ButtonToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
(void) role;
((GButtonObject *)gw)->toggle = instance;
}
- static uint16_t ToggleGet(GWidgetObject *gw, uint16_t role) {
+ static uint16_t ButtonToggleGet(GWidgetObject *gw, uint16_t role) {
(void) role;
return ((GButtonObject *)gw)->toggle;
}
@@ -90,18 +90,18 @@ static const gwidgetVMT buttonVMT = {
gwinButtonDraw_Normal, // The default drawing routine
#if GINPUT_NEED_MOUSE
{
- MouseDown, // Process mouse down events
- MouseUp, // Process mouse up events
+ ButtonMouseDown, // Process mouse down events
+ ButtonMouseUp, // Process mouse up events
0, // Process mouse move events (NOT USED)
},
#endif
#if GINPUT_NEED_TOGGLE
{
1, // 1 toggle role
- ToggleAssign, // Assign Toggles
- ToggleGet, // Get Toggles
- ToggleOff, // Process toggle off events
- ToggleOn, // Process toggle on events
+ ButtonToggleAssign, // Assign Toggles
+ ButtonToggleGet, // Get Toggles
+ ButtonToggleOff, // Process toggle off events
+ ButtonToggleOn, // Process toggle on events
},
#endif
#if GINPUT_NEED_DIAL
@@ -136,7 +136,7 @@ bool_t gwinButtonIsPressed(GHandle gh) {
* Custom Draw Routines
*----------------------------------------------------------*/
-static const GColorSet *getDrawColors(GWidgetObject *gw) {
+static const GColorSet *getButtonColors(GWidgetObject *gw) {
if (!(gw->g.flags & GWIN_FLG_SYSENABLED)) return &gw->pstyle->disabled;
if ((gw->g.flags & GBUTTON_FLG_PRESSED)) return &gw->pstyle->pressed;
return &gw->pstyle->enabled;
@@ -148,7 +148,7 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, gw->g.width-1, gw->g.height-1, gw->text, gw->g.font, pcol->text, pcol->fill, justifyCenter);
gdispGDrawLine(gw->g.display, gw->g.x+gw->g.width-1, gw->g.y, gw->g.x+gw->g.width-1, gw->g.y+gw->g.height-1, pcol->edge);
@@ -164,11 +164,11 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
/* Fill the box blended from variants of the fill color */
- tcol = gdispBlendColor(White, pcol->fill, TOP_FADE);
- bcol = gdispBlendColor(Black, pcol->fill, BOTTOM_FADE);
+ tcol = gdispBlendColor(White, pcol->fill, BTN_TOP_FADE);
+ bcol = gdispBlendColor(Black, pcol->fill, BTN_BOTTOM_FADE);
dalpha = FIXED(255)/gw->g.height;
for(alpha = 0, i = 0; i < gw->g.height; i++, alpha += dalpha)
gdispGDrawLine(gw->g.display, gw->g.x, gw->g.y+i, gw->g.x+gw->g.width-2, gw->g.y+i, gdispBlendColor(bcol, tcol, NONFIXED(alpha)));
@@ -185,13 +185,13 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
gdispGFillArea(gw->g.display, gw->g.x, gw->g.y, gw->g.width, gw->g.height, gw->pstyle->background);
- if (gw->g.width >= 2*RND_CNR_SIZE+10) {
- gdispGFillRoundedBox(gw->g.display, gw->g.x+1, gw->g.y+1, gw->g.width-2, gw->g.height-2, RND_CNR_SIZE-1, pcol->fill);
- gdispGDrawStringBox(gw->g.display, gw->g.x+1, gw->g.y+RND_CNR_SIZE, gw->g.width-2, gw->g.height-(2*RND_CNR_SIZE), gw->text, gw->g.font, pcol->text, justifyCenter);
- gdispGDrawRoundedBox(gw->g.display, gw->g.x, gw->g.y, gw->g.width, gw->g.height, RND_CNR_SIZE, pcol->edge);
+ if (gw->g.width >= 2*BTN_CNR_SIZE+10) {
+ gdispGFillRoundedBox(gw->g.display, gw->g.x+1, gw->g.y+1, gw->g.width-2, gw->g.height-2, BTN_CNR_SIZE-1, pcol->fill);
+ gdispGDrawStringBox(gw->g.display, gw->g.x+1, gw->g.y+BTN_CNR_SIZE, gw->g.width-2, gw->g.height-(2*BTN_CNR_SIZE), gw->text, gw->g.font, pcol->text, justifyCenter);
+ gdispGDrawRoundedBox(gw->g.display, gw->g.x, gw->g.y, gw->g.width, gw->g.height, BTN_CNR_SIZE, pcol->edge);
} else {
gdispGFillStringBox(gw->g.display, gw->g.x+1, gw->g.y+1, gw->g.width-2, gw->g.height-2, gw->text, gw->g.font, pcol->text, pcol->fill, justifyCenter);
gdispGDrawBox(gw->g.display, gw->g.x, gw->g.y, gw->g.width, gw->g.height, pcol->edge);
@@ -205,7 +205,7 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
gdispGFillArea(gw->g.display, gw->g.x, gw->g.y, gw->g.width, gw->g.height, gw->pstyle->background);
gdispGFillEllipse(gw->g.display, gw->g.x+1, gw->g.y+1, gw->g.width/2-1, gw->g.height/2-1, pcol->fill);
@@ -221,13 +221,13 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
point arw[7];
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
// Create the arrow polygon
arw[0].x = (gw->g.width-1)/2; // Point center
arw[0].y = 0; // Arrow start
arw[3].y = gw->g.height-1; // Arrow end
- #if ARROWHEAD_DIVIDER == 0
+ #if BTN_ARROWHEAD_DIV == 0
if (gw->g.height <= arw[0].x) {
arw[1].y = arw[3].y; // End of head
arw[1].x = arw[0].x+arw[3].y; // Width of head (side 1)
@@ -237,15 +237,15 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
} else {
arw[1].y = arw[0].x;
arw[1].x = arw[0].x << 1;
- arw[2].x = arw[0].x + arw[0].x/ARROWBODY_DIVIDER;
- arw[4].x = arw[0].x - arw[0].x/ARROWBODY_DIVIDER;
+ arw[2].x = arw[0].x + arw[0].x/BTN_ARROWBODY_DIV;
+ arw[4].x = arw[0].x - arw[0].x/BTN_ARROWBODY_DIV;
arw[6].x = 0;
}
#else
- arw[1].y = gw->g.height/ARROWHEAD_DIVIDER;
+ arw[1].y = gw->g.height/BTN_ARROWHEAD_DIV;
arw[1].x = arw[0].x << 1;
- arw[2].x = arw[0].x + arw[0].x/ARROWBODY_DIVIDER;
- arw[4].x = arw[0].x - arw[0].x/ARROWBODY_DIVIDER;
+ arw[2].x = arw[0].x + arw[0].x/BTN_ARROWBODY_DIV;
+ arw[4].x = arw[0].x - arw[0].x/BTN_ARROWBODY_DIV;
arw[6].x = 0;
#endif
@@ -271,13 +271,13 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
point arw[7];
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
// Create the arrow polygon
arw[0].x = (gw->g.width-1)/2; // Point center
arw[0].y = gw->g.height-1; // Arrow start
arw[3].y = 0; // Arrow end
- #if ARROWHEAD_DIVIDER == 0
+ #if BTN_ARROWHEAD_DIV == 0
if (gw->g.height <= arw[0].x) {
arw[1].y = arw[3].y; // End of head
arw[1].x = arw[0].x+arw[0].y; // Width of head (side 1)
@@ -287,15 +287,15 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
} else {
arw[1].y = arw[0].y - arw[0].x;
arw[1].x = arw[0].x << 1;
- arw[2].x = arw[0].x + arw[0].x/ARROWBODY_DIVIDER;
- arw[4].x = arw[0].x - arw[0].x/ARROWBODY_DIVIDER;
+ arw[2].x = arw[0].x + arw[0].x/BTN_ARROWBODY_DIV;
+ arw[4].x = arw[0].x - arw[0].x/BTN_ARROWBODY_DIV;
arw[6].x = 0;
}
#else
- arw[1].y = arw[0].y - gw->g.height/ARROWHEAD_DIVIDER;
+ arw[1].y = arw[0].y - gw->g.height/BTN_ARROWHEAD_DIV;
arw[1].x = arw[0].x << 1;
- arw[2].x = arw[0].x + arw[0].x/ARROWBODY_DIVIDER;
- arw[4].x = arw[0].x - arw[0].x/ARROWBODY_DIVIDER;
+ arw[2].x = arw[0].x + arw[0].x/BTN_ARROWBODY_DIV;
+ arw[4].x = arw[0].x - arw[0].x/BTN_ARROWBODY_DIV;
arw[6].x = 0;
#endif
@@ -321,13 +321,13 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
point arw[7];
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
// Create the arrow polygon
arw[0].y = (gw->g.height-1)/2; // Point center
arw[0].x = 0; // Arrow start
arw[3].x = gw->g.width-1; // Arrow end
- #if ARROWHEAD_DIVIDER == 0
+ #if BTN_ARROWHEAD_DIV == 0
if (gw->g.width <= arw[0].y) {
arw[1].x = arw[3].x; // End of head
arw[1].y = arw[0].y+arw[3].x; // Width of head (side 1)
@@ -337,15 +337,15 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
} else {
arw[1].x = arw[0].y;
arw[1].y = arw[0].y << 1;
- arw[2].y = arw[0].y + arw[0].y/ARROWBODY_DIVIDER;
- arw[4].y = arw[0].y - arw[0].y/ARROWBODY_DIVIDER;
+ arw[2].y = arw[0].y + arw[0].y/BTN_ARROWBODY_DIV;
+ arw[4].y = arw[0].y - arw[0].y/BTN_ARROWBODY_DIV;
arw[6].y = 0;
}
#else
- arw[1].x = gw->g.width/ARROWHEAD_DIVIDER;
+ arw[1].x = gw->g.width/BTN_ARROWHEAD_DIV;
arw[1].y = arw[0].y << 1;
- arw[2].y = arw[0].y + arw[0].y/ARROWBODY_DIVIDER;
- arw[4].y = arw[0].y - arw[0].y/ARROWBODY_DIVIDER;
+ arw[2].y = arw[0].y + arw[0].y/BTN_ARROWBODY_DIV;
+ arw[4].y = arw[0].y - arw[0].y/BTN_ARROWBODY_DIV;
arw[6].y = 0;
#endif
@@ -371,13 +371,13 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
point arw[7];
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
// Create the arrow polygon
arw[0].y = (gw->g.height-1)/2; // Point center
arw[0].x = gw->g.width-1; // Arrow start
arw[3].x = 0; // Arrow end
- #if ARROWHEAD_DIVIDER == 0
+ #if BTN_ARROWHEAD_DIV == 0
if (gw->g.width <= arw[0].y) {
arw[1].x = arw[3].x; // End of head
arw[1].y = arw[0].y+arw[0].x; // Width of head (side 1)
@@ -387,15 +387,15 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
} else {
arw[1].x = arw[0].x - arw[0].y;
arw[1].y = arw[0].y << 1;
- arw[2].y = arw[0].y + arw[0].y/ARROWBODY_DIVIDER;
- arw[4].y = arw[0].y - arw[0].y/ARROWBODY_DIVIDER;
+ arw[2].y = arw[0].y + arw[0].y/BTN_ARROWBODY_DIV;
+ arw[4].y = arw[0].y - arw[0].y/BTN_ARROWBODY_DIV;
arw[6].y = 0;
}
#else
- arw[1].x = arw[0].x - gw->g.width/ARROWHEAD_DIVIDER;
+ arw[1].x = arw[0].x - gw->g.width/BTN_ARROWHEAD_DIV;
arw[1].y = arw[0].y << 1;
- arw[2].y = arw[0].y + arw[0].y/ARROWBODY_DIVIDER;
- arw[4].y = arw[0].y - arw[0].y/ARROWBODY_DIVIDER;
+ arw[2].y = arw[0].y + arw[0].y/BTN_ARROWBODY_DIV;
+ arw[4].y = arw[0].y - arw[0].y/BTN_ARROWBODY_DIV;
arw[6].y = 0;
#endif
@@ -422,7 +422,7 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
coord_t sy;
if (gw->g.vmt != (gwinVMT *)&buttonVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getButtonColors(gw);
if (!(gw->g.flags & GWIN_FLG_SYSENABLED)) {
sy = 2 * gw->g.height;
diff --git a/src/gwin/gwin_checkbox.c b/src/gwin/gwin_checkbox.c
index 3f1d46bf..11e08804 100644
--- a/src/gwin/gwin_checkbox.c
+++ b/src/gwin/gwin_checkbox.c
@@ -17,8 +17,8 @@
#include "gwin_class.h"
// Parameters for button custom draw
-#define TOP_FADE 50 // (TOP_FADE/255)% fade to white for top of button
-#define BOTTOM_FADE 25 // (BOTTOM_FADE/255)% fade to black for bottom of button
+#define CHK_TOP_FADE 50 // (CHK_TOP_FADE/255)% fade to white for top of button
+#define CHK_BOTTOM_FADE 25 // (CHK_BOTTOM_FADE/255)% fade to black for bottom of button
// Our checked state
#define GCHECKBOX_FLG_CHECKED (GWIN_FIRST_CONTROL_FLAG<<0)
@@ -47,7 +47,7 @@ static void SendCheckboxEvent(GWidgetObject *gw) {
}
#if GINPUT_NEED_MOUSE
- static void MouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void CheckboxMouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
(void) x; (void) y;
gw->g.flags ^= GCHECKBOX_FLG_CHECKED;
_gwinUpdate((GHandle)gw);
@@ -56,19 +56,19 @@ static void SendCheckboxEvent(GWidgetObject *gw) {
#endif
#if GINPUT_NEED_TOGGLE
- static void ToggleOn(GWidgetObject *gw, uint16_t role) {
+ static void CheckboxToggleOn(GWidgetObject *gw, uint16_t role) {
(void) role;
gw->g.flags ^= GCHECKBOX_FLG_CHECKED;
_gwinUpdate((GHandle)gw);
SendCheckboxEvent(gw);
}
- static void ToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
+ static void CheckboxToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
(void) role;
((GCheckboxObject *)gw)->toggle = instance;
}
- static uint16_t ToggleGet(GWidgetObject *gw, uint16_t role) {
+ static uint16_t CheckboxToggleGet(GWidgetObject *gw, uint16_t role) {
(void) role;
return ((GCheckboxObject *)gw)->toggle;
}
@@ -86,7 +86,7 @@ static const gwidgetVMT checkboxVMT = {
gwinCheckboxDraw_CheckOnLeft, // The default drawing routine
#if GINPUT_NEED_MOUSE
{
- MouseDown, // Process mouse down events
+ CheckboxMouseDown, // Process mouse down events
0, // Process mouse up events (NOT USED)
0, // Process mouse move events (NOT USED)
},
@@ -94,10 +94,10 @@ static const gwidgetVMT checkboxVMT = {
#if GINPUT_NEED_TOGGLE
{
1, // 1 toggle role
- ToggleAssign, // Assign Toggles
- ToggleGet, // Get Toggles
+ CheckboxToggleAssign, // Assign Toggles
+ CheckboxToggleGet, // Get Toggles
0, // Process toggle off events (NOT USED)
- ToggleOn, // Process toggle on events
+ CheckboxToggleOn, // Process toggle on events
},
#endif
#if GINPUT_NEED_DIAL
@@ -147,7 +147,7 @@ bool_t gwinCheckboxIsChecked(GHandle gh) {
* Custom Draw Routines
*----------------------------------------------------------*/
-static const GColorSet *getDrawColors(GWidgetObject *gw) {
+static const GColorSet *getCheckboxColors(GWidgetObject *gw) {
if (!(gw->g.flags & GWIN_FLG_SYSENABLED)) return &gw->pstyle->disabled;
if ((gw->g.flags & GCHECKBOX_FLG_CHECKED)) return &gw->pstyle->pressed;
return &gw->pstyle->enabled;
@@ -160,7 +160,7 @@ void gwinCheckboxDraw_CheckOnLeft(GWidgetObject *gw, void *param) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&checkboxVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getCheckboxColors(gw);
// Get the dimension of the check box (sans text)
ld = gw->g.width < gw->g.height ? gw->g.width : gw->g.height;
@@ -186,7 +186,7 @@ void gwinCheckboxDraw_CheckOnRight(GWidgetObject *gw, void *param) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&checkboxVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getCheckboxColors(gw);
// Get the dimension of the check box (sans text)
ld = gw->g.width < gw->g.height ? gw->g.width : gw->g.height;
@@ -214,7 +214,7 @@ void gwinCheckboxDraw_CheckOnRight(GWidgetObject *gw, void *param) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&checkboxVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getCheckboxColors(gw);
#if GWIN_NEED_FLASHING
// Flash the on and off state.
@@ -235,7 +235,7 @@ void gwinCheckboxDraw_CheckOnRight(GWidgetObject *gw, void *param) {
(void) param;
if (gw->g.vmt != (gwinVMT *)&checkboxVMT) return;
- pcol = getDrawColors(gw);
+ pcol = getCheckboxColors(gw);
#if GWIN_NEED_FLASHING
// Flash the on and off state.
@@ -243,8 +243,8 @@ void gwinCheckboxDraw_CheckOnRight(GWidgetObject *gw, void *param) {
#endif
/* Fill the box blended from variants of the fill color */
- tcol = gdispBlendColor(White, pcol->fill, TOP_FADE);
- bcol = gdispBlendColor(Black, pcol->fill, BOTTOM_FADE);
+ tcol = gdispBlendColor(White, pcol->fill, CHK_TOP_FADE);
+ bcol = gdispBlendColor(Black, pcol->fill, CHK_BOTTOM_FADE);
dalpha = FIXED(255)/gw->g.height;
for(alpha = 0, i = 0; i < gw->g.height; i++, alpha += dalpha)
gdispGDrawLine(gw->g.display, gw->g.x, gw->g.y+i, gw->g.x+gw->g.width-2, gw->g.y+i, gdispBlendColor(bcol, tcol, NONFIXED(alpha)));
diff --git a/src/gwin/gwin_console.c b/src/gwin/gwin_console.c
index 11359626..e1aed23d 100644
--- a/src/gwin/gwin_console.c
+++ b/src/gwin/gwin_console.c
@@ -611,7 +611,7 @@ void gwinPutCharArray(GHandle gh, const char *str, size_t n) {
#define MAX_FILLER 11
#define FLOAT_PRECISION 100000
-static char *ltoa_wd(char *p, long num, unsigned radix, long divisor) {
+static char *consltoa_wd(char *p, long num, unsigned radix, long divisor) {
int i;
char *q;
@@ -641,10 +641,10 @@ static char *ltoa_wd(char *p, long num, unsigned radix, long divisor) {
unsigned long precision = FLOAT_PRECISION;
l = num;
- p = ltoa_wd(p, l, 10, 0);
+ p = consltoa_wd(p, l, 10, 0);
*p++ = '.';
l = (num - l) * precision;
- return ltoa_wd(p, l, 10, precision / 10);
+ return consltoa_wd(p, l, 10, precision / 10);
}
#endif
@@ -746,7 +746,7 @@ void gwinPrintf(GHandle gh, const char *fmt, ...) {
*p++ = '-';
l = -l;
}
- p = ltoa_wd(p, l, 10, 0);
+ p = consltoa_wd(p, l, 10, 0);
break;
#if GWIN_CONSOLE_USE_FLOAT
case 'f':
@@ -774,7 +774,7 @@ void gwinPrintf(GHandle gh, const char *fmt, ...) {
l = va_arg(ap, long);
else
l = va_arg(ap, int);
- p = ltoa_wd(p, l, c, 0);
+ p = consltoa_wd(p, l, c, 0);
break;
default:
*p++ = c;
diff --git a/src/gwin/gwin_container.c b/src/gwin/gwin_container.c
index f45af504..b84c96ae 100644
--- a/src/gwin/gwin_container.c
+++ b/src/gwin/gwin_container.c
@@ -92,7 +92,7 @@ coord_t gwinGetInnerHeight(GHandle gh) {
#define BORDER_WIDTH 2
-static coord_t BorderSize(GHandle gh) { return (gh->flags & GWIN_CONTAINER_BORDER) ? BORDER_WIDTH : 0; }
+static coord_t ContainerBorderSize(GHandle gh) { return (gh->flags & GWIN_CONTAINER_BORDER) ? BORDER_WIDTH : 0; }
// The container VMT table
static const gcontainerVMT containerVMT = {
@@ -121,10 +121,10 @@ static const gcontainerVMT containerVMT = {
},
#endif
},
- BorderSize, // The size of the left border (mandatory)
- BorderSize, // The size of the top border (mandatory)
- BorderSize, // The size of the right border (mandatory)
- BorderSize, // The size of the bottom border (mandatory)
+ ContainerBorderSize, // The size of the left border (mandatory)
+ ContainerBorderSize, // The size of the top border (mandatory)
+ ContainerBorderSize, // The size of the right border (mandatory)
+ ContainerBorderSize, // The size of the bottom border (mandatory)
0, // A child has been added (optional)
0, // A child has been deleted (optional)
};
diff --git a/src/gwin/gwin_frame.c b/src/gwin/gwin_frame.c
index 2586fa98..b29c4ffc 100644
--- a/src/gwin/gwin_frame.c
+++ b/src/gwin/gwin_frame.c
@@ -17,15 +17,15 @@
#include "gwin_class.h"
/* Some position values */
-#define BUTTON_X 18 // Button Width
-#define BUTTON_Y 18 // Button Height
-#define BUTTON_I 3 // Button inner margin
-#define BUTTON_T 2 // Gap from top of window to button
-#define BUTTON_B 2 // Gap from button to the bottom of the frame title area
-#define BORDER_L 2 // Left Border
-#define BORDER_R 2 // Right Border
-#define BORDER_T (BUTTON_Y+BUTTON_T+BUTTON_B) // Top Border (Title area)
-#define BORDER_B 2 // Bottom Border
+#define FRM_BUTTON_X 18 // Button Width
+#define FRM_BUTTON_Y 18 // Button Height
+#define FRM_BUTTON_I 3 // Button inner margin
+#define FRM_BUTTON_T 2 // Gap from top of window to button
+#define FRM_BUTTON_B 2 // Gap from button to the bottom of the frame title area
+#define FRM_BORDER_L 2 // Left Border
+#define FRM_BORDER_R 2 // Right Border
+#define FRM_BORDER_T (FRM_BUTTON_Y+FRM_BUTTON_T+FRM_BUTTON_B) // Top Border (Title area)
+#define FRM_BORDER_B 2 // Bottom Border
/* Internal state flags */
#define GWIN_FRAME_USER_FLAGS (GWIN_FRAME_CLOSE_BTN|GWIN_FRAME_MINMAX_BTN)
@@ -40,10 +40,10 @@
#error "GWIN Frame: - Flag definitions don't match"
#endif
-static coord_t BorderSizeL(GHandle gh) { (void)gh; return BORDER_L; }
-static coord_t BorderSizeR(GHandle gh) { (void)gh; return BORDER_R; }
-static coord_t BorderSizeT(GHandle gh) { (void)gh; return BORDER_T; }
-static coord_t BorderSizeB(GHandle gh) { (void)gh; return BORDER_B; }
+static coord_t FrameBorderSizeL(GHandle gh) { (void)gh; return FRM_BORDER_L; }
+static coord_t FrameBorderSizeR(GHandle gh) { (void)gh; return FRM_BORDER_R; }
+static coord_t FrameBorderSizeT(GHandle gh) { (void)gh; return FRM_BORDER_T; }
+static coord_t FrameBorderSizeB(GHandle gh) { (void)gh; return FRM_BORDER_B; }
static void forceFrameRedraw(GWidgetObject *gw) {
// Force a redraw of just the frame.
@@ -54,42 +54,42 @@ static void forceFrameRedraw(GWidgetObject *gw) {
}
#if GINPUT_NEED_MOUSE
- static void mouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void FrameMouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
coord_t pos;
// We must be clicking on the frame button area to be of interest
- if (y < BUTTON_T || y >= BUTTON_T+BUTTON_Y)
+ if (y < FRM_BUTTON_T || y >= FRM_BUTTON_T+FRM_BUTTON_Y)
return;
- pos = gw->g.width - (BORDER_R+BUTTON_X);
+ pos = gw->g.width - (FRM_BORDER_R+FRM_BUTTON_X);
if ((gw->g.flags & GWIN_FRAME_CLOSE_BTN)) {
- if (x >= pos && x < pos+BUTTON_X) {
+ if (x >= pos && x < pos+FRM_BUTTON_X) {
// Close is pressed - force redraw the frame only
gw->g.flags |= GWIN_FRAME_CLOSE_PRESSED;
forceFrameRedraw(gw);
return;
}
- pos -= BUTTON_X;
+ pos -= FRM_BUTTON_X;
}
if ((gw->g.flags & GWIN_FRAME_MINMAX_BTN)) {
- if (x >= pos && x < pos+BUTTON_X) {
+ if (x >= pos && x < pos+FRM_BUTTON_X) {
// Close is pressed - force redraw the frame only
gw->g.flags |= GWIN_FRAME_MAX_PRESSED;
forceFrameRedraw(gw);
return;
}
- pos -= BUTTON_X;
- if (x >= pos && x < pos+BUTTON_X) {
+ pos -= FRM_BUTTON_X;
+ if (x >= pos && x < pos+FRM_BUTTON_X) {
// Close is pressed - force redraw the frame only
gw->g.flags |= GWIN_FRAME_MIN_PRESSED;
forceFrameRedraw(gw);
return;
}
- pos -= BUTTON_X;
+ pos -= FRM_BUTTON_X;
}
}
- static void mouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void FrameMouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
#if GWIN_BUTTON_LAZY_RELEASE
if ((gw->g.flags & GWIN_FRAME_CLOSE_PRESSED)) {
// Close is released - destroy the window
@@ -119,12 +119,12 @@ static void forceFrameRedraw(GWidgetObject *gw) {
return;
// We must be releasing over the button
- if (y >= BUTTON_T && y < BUTTON_T+BUTTON_Y) {
+ if (y >= FRM_BUTTON_T && y < FRM_BUTTON_T+FRM_BUTTON_Y) {
coord_t pos;
- pos = gw->g.width - (BORDER_R+BUTTON_X);
+ pos = gw->g.width - (FRM_BORDER_R+FRM_BUTTON_X);
if ((gw->g.flags & GWIN_FRAME_CLOSE_BTN)) {
- if ((gw->g.flags & GWIN_FRAME_CLOSE_PRESSED) && x >= pos && x <= pos+BUTTON_X) {
+ if ((gw->g.flags & GWIN_FRAME_CLOSE_PRESSED) && x >= pos && x <= pos+FRM_BUTTON_X) {
// Close is released - destroy the window. This is tricky as we already have the drawing lock.
gw->g.flags &= ~(GWIN_FRAME_CLOSE_PRESSED|GWIN_FRAME_MAX_PRESSED|GWIN_FRAME_MIN_PRESSED);
forceFrameRedraw(gw);
@@ -132,25 +132,25 @@ static void forceFrameRedraw(GWidgetObject *gw) {
_gwinDestroy(&gw->g, REDRAW_INSESSION);
return;
}
- pos -= BUTTON_X;
+ pos -= FRM_BUTTON_X;
}
if ((gw->g.flags & GWIN_FRAME_MINMAX_BTN)) {
- if ((gw->g.flags & GWIN_FRAME_MAX_PRESSED) && x >= pos && x <= pos+BUTTON_X) {
+ if ((gw->g.flags & GWIN_FRAME_MAX_PRESSED) && x >= pos && x <= pos+FRM_BUTTON_X) {
// Max is released - maximize the window
gw->g.flags &= ~(GWIN_FRAME_CLOSE_PRESSED|GWIN_FRAME_MAX_PRESSED|GWIN_FRAME_MIN_PRESSED);
forceFrameRedraw(gw);
gwinSetMinMax(&gw->g, GWIN_MAXIMIZE);
return;
}
- pos -= BUTTON_X;
- if ((gw->g.flags & GWIN_FRAME_MIN_PRESSED) && x >= pos && x <= pos+BUTTON_X) {
+ pos -= FRM_BUTTON_X;
+ if ((gw->g.flags & GWIN_FRAME_MIN_PRESSED) && x >= pos && x <= pos+FRM_BUTTON_X) {
// Min is released - minimize the window
gw->g.flags &= ~(GWIN_FRAME_CLOSE_PRESSED|GWIN_FRAME_MAX_PRESSED|GWIN_FRAME_MIN_PRESSED);
forceFrameRedraw(gw);
gwinSetMinMax(&gw->g, GWIN_MINIMIZE);
return;
}
- pos -= BUTTON_X;
+ pos -= FRM_BUTTON_X;
}
}
@@ -173,8 +173,8 @@ static const gcontainerVMT frameVMT = {
gwinFrameDraw_Std, // The default drawing routine
#if GINPUT_NEED_MOUSE
{
- mouseDown, // Process mouse down event
- mouseUp, // Process mouse up events
+ FrameMouseDown, // Process mouse down event
+ FrameMouseUp, // Process mouse up events
0, // Process mouse move events
},
#endif
@@ -196,10 +196,10 @@ static const gcontainerVMT frameVMT = {
},
#endif
},
- BorderSizeL, // The size of the left border (mandatory)
- BorderSizeT, // The size of the top border (mandatory)
- BorderSizeR, // The size of the right border (mandatory)
- BorderSizeB, // The size of the bottom border (mandatory)
+ FrameBorderSizeL, // The size of the left border (mandatory)
+ FrameBorderSizeT, // The size of the top border (mandatory)
+ FrameBorderSizeR, // The size of the right border (mandatory)
+ FrameBorderSizeB, // The size of the bottom border (mandatory)
0, // A child has been added (optional)
0, // A child has been deleted (optional)
};
@@ -238,34 +238,34 @@ void gwinFrameDraw_Transparent(GWidgetObject *gw, void *param) {
btn = gdispBlendColor(pcol->edge, contrast, 128);
// Render the frame
- gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, gw->g.width, BORDER_T, gw->text, gw->g.font, contrast, pcol->edge, justifyCenter);
- gdispGFillArea(gw->g.display, gw->g.x, gw->g.y+BORDER_T, BORDER_L, gw->g.height-(BORDER_T+BORDER_B), pcol->edge);
- gdispGFillArea(gw->g.display, gw->g.x+gw->g.width-BORDER_R, gw->g.y+BORDER_T, BORDER_R, gw->g.height-(BORDER_T+BORDER_B), pcol->edge);
- gdispGFillArea(gw->g.display, gw->g.x, gw->g.y+gw->g.height-BORDER_B, gw->g.width, BORDER_B, pcol->edge);
+ gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, gw->g.width, FRM_BORDER_T, gw->text, gw->g.font, contrast, pcol->edge, justifyCenter);
+ gdispGFillArea(gw->g.display, gw->g.x, gw->g.y+FRM_BORDER_T, FRM_BORDER_L, gw->g.height-(FRM_BORDER_T+FRM_BORDER_B), pcol->edge);
+ gdispGFillArea(gw->g.display, gw->g.x+gw->g.width-FRM_BORDER_R, gw->g.y+FRM_BORDER_T, FRM_BORDER_R, gw->g.height-(FRM_BORDER_T+FRM_BORDER_B), pcol->edge);
+ gdispGFillArea(gw->g.display, gw->g.x, gw->g.y+gw->g.height-FRM_BORDER_B, gw->g.width, FRM_BORDER_B, pcol->edge);
// Add the buttons
- pos = gw->g.x+gw->g.width - (BORDER_R+BUTTON_X);
+ pos = gw->g.x+gw->g.width - (FRM_BORDER_R+FRM_BUTTON_X);
if ((gw->g.flags & GWIN_FRAME_CLOSE_BTN)) {
if ((gw->g.flags & GWIN_FRAME_CLOSE_PRESSED))
- gdispFillArea(pos, gw->g.y+BUTTON_T, BUTTON_X, BUTTON_Y, btn);
- gdispDrawLine(pos+BUTTON_I, gw->g.y+(BUTTON_T+BUTTON_I), pos+(BUTTON_X-BUTTON_I-1), gw->g.y+(BUTTON_T+BUTTON_Y-BUTTON_I-1), contrast);
- gdispDrawLine(pos+(BUTTON_X-BUTTON_I-1), gw->g.y+(BUTTON_T+BUTTON_I), pos+BUTTON_I, gw->g.y+(BUTTON_T+BUTTON_Y-BUTTON_I-1), contrast);
- pos -= BUTTON_X;
+ gdispFillArea(pos, gw->g.y+FRM_BUTTON_T, FRM_BUTTON_X, FRM_BUTTON_Y, btn);
+ gdispDrawLine(pos+FRM_BUTTON_I, gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_I), pos+(FRM_BUTTON_X-FRM_BUTTON_I-1), gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_Y-FRM_BUTTON_I-1), contrast);
+ gdispDrawLine(pos+(FRM_BUTTON_X-FRM_BUTTON_I-1), gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_I), pos+FRM_BUTTON_I, gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_Y-FRM_BUTTON_I-1), contrast);
+ pos -= FRM_BUTTON_X;
}
if ((gw->g.flags & GWIN_FRAME_MINMAX_BTN)) {
if ((gw->g.flags & GWIN_FRAME_MAX_PRESSED))
- gdispFillArea(pos, gw->g.y+BUTTON_T, BUTTON_X, BUTTON_Y, btn);
+ gdispFillArea(pos, gw->g.y+FRM_BUTTON_T, FRM_BUTTON_X, FRM_BUTTON_Y, btn);
// the symbol
- gdispDrawBox(pos+BUTTON_I, gw->g.y+(BUTTON_T+BUTTON_I), BUTTON_X-2*BUTTON_I, BUTTON_Y-2*BUTTON_I, contrast);
- gdispDrawLine(pos+(BUTTON_I+1), gw->g.y+(BUTTON_T+BUTTON_I+1), pos+(BUTTON_X-BUTTON_I-2), gw->g.y+(BUTTON_T+BUTTON_I+1), contrast);
- gdispDrawLine(pos+(BUTTON_I+1), gw->g.y+(BUTTON_T+BUTTON_I+2), pos+(BUTTON_X-BUTTON_I-2), gw->g.y+(BUTTON_T+BUTTON_I+2), contrast);
- pos -= BUTTON_X;
+ gdispDrawBox(pos+FRM_BUTTON_I, gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_I), FRM_BUTTON_X-2*FRM_BUTTON_I, FRM_BUTTON_Y-2*FRM_BUTTON_I, contrast);
+ gdispDrawLine(pos+(FRM_BUTTON_I+1), gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_I+1), pos+(FRM_BUTTON_X-FRM_BUTTON_I-2), gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_I+1), contrast);
+ gdispDrawLine(pos+(FRM_BUTTON_I+1), gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_I+2), pos+(FRM_BUTTON_X-FRM_BUTTON_I-2), gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_I+2), contrast);
+ pos -= FRM_BUTTON_X;
if ((gw->g.flags & GWIN_FRAME_MIN_PRESSED))
- gdispFillArea(pos, gw->g.y+BUTTON_T, BUTTON_X, BUTTON_Y, btn);
- gdispDrawLine(pos+BUTTON_I, gw->g.y+(BUTTON_T+BUTTON_Y-BUTTON_I-1), pos+(BUTTON_X-BUTTON_I-1), gw->g.y+(BUTTON_T+BUTTON_Y-BUTTON_I-1), contrast);
- pos -= BUTTON_X;
+ gdispFillArea(pos, gw->g.y+FRM_BUTTON_T, FRM_BUTTON_X, FRM_BUTTON_Y, btn);
+ gdispDrawLine(pos+FRM_BUTTON_I, gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_Y-FRM_BUTTON_I-1), pos+(FRM_BUTTON_X-FRM_BUTTON_I-1), gw->g.y+(FRM_BUTTON_T+FRM_BUTTON_Y-FRM_BUTTON_I-1), contrast);
+ pos -= FRM_BUTTON_X;
}
// Don't touch the client area
@@ -285,7 +285,7 @@ void gwinFrameDraw_Std(GWidgetObject *gw, void *param) {
return;
// Draw the client area
- gdispGFillArea(gw->g.display, gw->g.x + BORDER_L, gw->g.y + BORDER_T, gw->g.width - (BORDER_L+BORDER_R), gw->g.height - (BORDER_T+BORDER_B), gw->pstyle->background);
+ gdispGFillArea(gw->g.display, gw->g.x + FRM_BORDER_L, gw->g.y + FRM_BORDER_T, gw->g.width - (FRM_BORDER_L+FRM_BORDER_R), gw->g.height - (FRM_BORDER_T+FRM_BORDER_B), gw->pstyle->background);
}
#if GDISP_NEED_IMAGE
@@ -304,12 +304,12 @@ void gwinFrameDraw_Std(GWidgetObject *gw, void *param) {
return;
// Draw the client area by tiling the image
- mx = gw->g.x+gw->g.width - BORDER_R;
- my = gw->g.y+gw->g.height - BORDER_B;
- for(y = gw->g.y+BORDER_T, ih = gi->height; y < my; y += ih) {
+ mx = gw->g.x+gw->g.width - FRM_BORDER_R;
+ my = gw->g.y+gw->g.height - FRM_BORDER_B;
+ for(y = gw->g.y+FRM_BORDER_T, ih = gi->height; y < my; y += ih) {
if (ih > my - y)
ih = my - y;
- for(x = gw->g.x+BORDER_L, iw = gi->width; x < mx; x += iw) {
+ for(x = gw->g.x+FRM_BORDER_L, iw = gi->width; x < mx; x += iw) {
if (iw > mx - x)
iw = mx - x;
gdispGImageDraw(gw->g.display, gi, x, y, iw, ih, 0, 0);
diff --git a/src/gwin/gwin_image.c b/src/gwin/gwin_image.c
index 370d7bdd..89cb79aa 100644
--- a/src/gwin/gwin_image.c
+++ b/src/gwin/gwin_image.c
@@ -16,20 +16,20 @@
#include "gwin_class.h"
-#define widget(gh) ((GImageObject *)gh)
+#define gw ((GImageObject *)gh)
-static void _destroy(GWindowObject *gh) {
- if (gdispImageIsOpen(&widget(gh)->image))
- gdispImageClose(&widget(gh)->image);
+static void ImageDestroy(GWindowObject *gh) {
+ if (gdispImageIsOpen(&gw->image))
+ gdispImageClose(&gw->image);
}
#if GWIN_NEED_IMAGE_ANIMATION
- static void _timer(void *param) {
+ static void ImageTimer(void *param) {
_gwinUpdate((GHandle)param);
}
#endif
-static void _redraw(GHandle gh) {
+static void ImageRedraw(GHandle gh) {
coord_t x, y, w, h, dx, dy;
color_t bg;
#if GWIN_NEED_IMAGE_ANIMATION
@@ -46,14 +46,14 @@ static void _redraw(GHandle gh) {
bg = gwinGetDefaultBgColor();
// If the image isn't open just clear the area
- if (!gdispImageIsOpen(&widget(gh)->image)) {
+ if (!gdispImageIsOpen(&gw->image)) {
gdispGFillArea(gh->display, x, y, w, h, bg);
return;
}
// Center horizontally if the area is larger than the image
- if (widget(gh)->image.width < w) {
- w = widget(gh)->image.width;
+ if (gw->image.width < w) {
+ w = gw->image.width;
dx = (gh->width-w)/2;
x += dx;
if (dx)
@@ -63,13 +63,13 @@ static void _redraw(GHandle gh) {
}
// Center image horizontally if the area is smaller than the image
- else if (widget(gh)->image.width > w) {
- dx = (widget(gh)->image.width - w)/2;
+ else if (gw->image.width > w) {
+ dx = (gw->image.width - w)/2;
}
// Center vertically if the area is larger than the image
- if (widget(gh)->image.height < h) {
- h = widget(gh)->image.height;
+ if (gw->image.height < h) {
+ h = gw->image.height;
dy = (gh->height-h)/2;
y += dy;
if (dy)
@@ -79,19 +79,19 @@ static void _redraw(GHandle gh) {
}
// Center image vertically if the area is smaller than the image
- else if (widget(gh)->image.height > h) {
- dy = (widget(gh)->image.height - h)/2;
+ else if (gw->image.height > h) {
+ dy = (gw->image.height - h)/2;
}
// Reset the background color in case it has changed
- gdispImageSetBgColor(&widget(gh)->image, bg);
+ gdispImageSetBgColor(&gw->image, bg);
// Display the image
- gdispGImageDraw(gh->display, &widget(gh)->image, x, y, w, h, dx, dy);
+ gdispGImageDraw(gh->display, &gw->image, x, y, w, h, dx, dy);
#if GWIN_NEED_IMAGE_ANIMATION
// read the delay for the next frame
- delay = gdispImageNext(&widget((GHandle)gh)->image);
+ delay = gdispImageNext(&gw->image);
// Wait for that delay if required
switch(delay) {
@@ -104,7 +104,7 @@ static void _redraw(GHandle gh) {
// Fall through
default:
// Start the timer to draw the next frame of the animation
- gtimerStart(&widget((GHandle)gh)->timer, _timer, (void*)gh, FALSE, delay);
+ gtimerStart(&gw->timer, ImageTimer, (void*)gh, FALSE, delay);
break;
}
#endif
@@ -113,8 +113,8 @@ static void _redraw(GHandle gh) {
static const gwinVMT imageVMT = {
"Image", // The class name
sizeof(GImageObject), // The object size
- _destroy, // The destroy routine
- _redraw, // The redraw routine
+ ImageDestroy, // The destroy routine
+ ImageRedraw, // The redraw routine
0, // The after-clear routine
};
@@ -140,10 +140,10 @@ bool_t gwinImageOpenGFile(GHandle gh, GFILE *f) {
if (gh->vmt != (gwinVMT *)&imageVMT)
return FALSE;
- if (gdispImageIsOpen(&widget(gh)->image))
- gdispImageClose(&widget(gh)->image);
+ if (gdispImageIsOpen(&gw->image))
+ gdispImageClose(&gw->image);
- if ((gdispImageOpenGFile(&widget(gh)->image, f) & GDISP_IMAGE_ERR_UNRECOVERABLE))
+ if ((gdispImageOpenGFile(&gw->image, f) & GDISP_IMAGE_ERR_UNRECOVERABLE))
return FALSE;
_gwinUpdate(gh);
@@ -156,7 +156,8 @@ gdispImageError gwinImageCache(GHandle gh) {
if (gh->vmt != (gwinVMT *)&imageVMT)
return GDISP_IMAGE_ERR_BADFORMAT;
- return gdispImageCache(&widget(gh)->image);
+ return gdispImageCache(&gw->image);
}
+#undef gw
#endif // GFX_USE_GWIN && GWIN_NEED_IMAGE
diff --git a/src/gwin/gwin_keyboard.c b/src/gwin/gwin_keyboard.c
index 6b9ab524..e9f5f860 100644
--- a/src/gwin/gwin_keyboard.c
+++ b/src/gwin/gwin_keyboard.c
@@ -21,7 +21,7 @@
#define GKEYBOARD_FLG_REVERTSET (GWIN_FIRST_CONTROL_FLAG<<0)
#define GKEYBOARD_FLG_QUICKUPDATE (GWIN_FIRST_CONTROL_FLAG<<1)
-#define BAD_ROWCOL 255
+#define GKEY_BAD_ROWCOL 255
typedef uint8_t utf8;
typedef uint16_t utf16;
@@ -173,13 +173,13 @@ static void SendKeyboardEvent(GKeyboardObject *gk) {
#if GINPUT_NEED_MOUSE
// Find the key from the keyset and the x, y position
- static void FindKey(GKeyboardObject *gk, coord_t x, coord_t y) {
+ static void KeyFindKey(GKeyboardObject *gk, coord_t x, coord_t y) {
const utf8 *krow;
fixed f;
int idx;
if (x < 0 || y < 0 || x >= gk->w.g.width || y >= gk->w.g.height) {
- gk->keyrow = gk->keycol = BAD_ROWCOL;
+ gk->keyrow = gk->keycol = GKEY_BAD_ROWCOL;
return;
}
@@ -209,14 +209,14 @@ static void SendKeyboardEvent(GKeyboardObject *gk) {
}
// A mouse up has occurred (it may or may not be over the button)
- static void MouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void KeyMouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
#define gk ((GKeyboardObject *)gw)
- FindKey(gk, x, y);
+ KeyFindKey(gk, x, y);
// Do we have a valid key?
- if (gk->keyrow == BAD_ROWCOL) {
- if (gk->lastkeyrow != BAD_ROWCOL) {
+ if (gk->keyrow == GKEY_BAD_ROWCOL) {
+ if (gk->lastkeyrow != GKEY_BAD_ROWCOL) {
gw->g.flags |= GKEYBOARD_FLG_QUICKUPDATE;
_gwinUpdate((GHandle)gw);
}
@@ -224,7 +224,7 @@ static void SendKeyboardEvent(GKeyboardObject *gk) {
}
// We are turning off the display of the key
- gk->keyrow = gk->keycol = BAD_ROWCOL;
+ gk->keyrow = gk->keycol = GKEY_BAD_ROWCOL;
// Is this one of the special keys
if (gk->key < 0x20) {
@@ -280,10 +280,10 @@ static void SendKeyboardEvent(GKeyboardObject *gk) {
}
// A mouse move has occurred (it may or may not be over the button)
- static void MouseMove(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void KeyMouseMove(GWidgetObject *gw, coord_t x, coord_t y) {
#define gk ((GKeyboardObject *)gw)
- FindKey(gk, x, y);
+ KeyFindKey(gk, x, y);
if (gk->keyrow != gk->lastkeyrow || gk->keycol != gk->lastkeycol) {
gk->w.g.flags |= GKEYBOARD_FLG_QUICKUPDATE;
@@ -308,9 +308,9 @@ static const gwidgetVMT keyboardVMT = {
gwinKeyboardDraw_Normal, // The default drawing routine
#if GINPUT_NEED_MOUSE
{
- MouseMove, // Process mouse down events
- MouseUp, // Process mouse up events
- MouseMove, // Process mouse move events
+ KeyMouseMove, // Process mouse down events
+ KeyMouseUp, // Process mouse up events
+ KeyMouseMove, // Process mouse move events
},
#endif
#if GINPUT_NEED_TOGGLE
@@ -338,7 +338,7 @@ GHandle gwinGKeyboardCreate(GDisplay *g, GKeyboardObject *gk, const GWidgetInit
gk->keytable = &GWIN_KEYBOARD_DEFAULT_LAYOUT;
gk->keyset = gk->keytable->ksets[0];
- gk->lastkeyrow = gk->lastkeycol = gk->keyrow = gk->keycol = BAD_ROWCOL;
+ gk->lastkeyrow = gk->lastkeycol = gk->keyrow = gk->keycol = GKEY_BAD_ROWCOL;
gwinSetVisible((GHandle)gk, pInit->g.show);
return (GHandle)gk;
}
@@ -359,7 +359,7 @@ void gwinKeyboardSetLayout(GHandle gh, struct GVKeyTable *layout) {
layout = &GWIN_KEYBOARD_DEFAULT_LAYOUT;
gk->keytable = layout;
gk->keyset = gk->keytable->ksets[0];
- gk->lastkeyrow = gk->lastkeycol = gk->keyrow = gk->keycol = BAD_ROWCOL;
+ gk->lastkeyrow = gk->lastkeycol = gk->keyrow = gk->keycol = GKEY_BAD_ROWCOL;
gk->w.g.flags &= ~(GKEYBOARD_FLG_QUICKUPDATE|GKEYBOARD_FLG_REVERTSET);
gwinRedraw(gh);
#undef gk
diff --git a/src/gwin/gwin_label.c b/src/gwin/gwin_label.c
index a29a9ebc..4e4d799b 100644
--- a/src/gwin/gwin_label.c
+++ b/src/gwin/gwin_label.c
@@ -173,4 +173,6 @@ static void gwinLabelDefaultDraw(GWidgetObject *gw, void *param) {
gdispGDrawBox(gw->g.display, gw->g.x, gw->g.y, w, h, (gw->g.flags & GWIN_FLG_SYSENABLED) ? gw->pstyle->enabled.edge : gw->pstyle->disabled.edge);
}
+#undef gh2obj
+#undef gw2obj
#endif // GFX_USE_GWIN && GFX_NEED_LABEL
diff --git a/src/gwin/gwin_list.c b/src/gwin/gwin_list.c
index 2e3cb8e5..7ca300a9 100644
--- a/src/gwin/gwin_list.c
+++ b/src/gwin/gwin_list.c
@@ -19,10 +19,10 @@
#include <stdlib.h>
// user for the default drawing routine
-#define SCROLLWIDTH 16 // the border from the scroll buttons to the frame
-#define ARROW 10 // arrow side length
-#define HORIZONTAL_PADDING 5 // extra horizontal padding for text
-#define VERTICAL_PADDING 2 // extra vertical padding for text
+#define LST_SCROLLWIDTH 16 // the border from the scroll buttons to the frame
+#define LST_ARROW_SZ 10 // arrow side length
+#define LST_HORIZ_PAD 5 // extra horizontal padding for text
+#define LST_VERT_PAD 2 // extra vertical padding for text
// Macro's to assist in data type conversions
#define gh2obj ((GListObject *)gh)
@@ -77,13 +77,13 @@ static void sendListEvent(GWidgetObject *gw, int item) {
static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
#if GINPUT_NEED_MOUSE
- static void MouseSelect(GWidgetObject* gw, coord_t x, coord_t y) {
+ static void ListMouseSelect(GWidgetObject* gw, coord_t x, coord_t y) {
const gfxQueueASyncItem* qi;
int item, i;
coord_t iheight;
(void) x;
- iheight = gdispGetFontMetric(gw->g.font, fontHeight) + VERTICAL_PADDING;
+ iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
// Handle click over the list area
item = (gw2obj->top + y) / iheight;
@@ -111,7 +111,7 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
}
// a mouse down has occurred over the list area
- static void MouseDown(GWidgetObject* gw, coord_t x, coord_t y) {
+ static void ListMouseDown(GWidgetObject* gw, coord_t x, coord_t y) {
coord_t iheight, pgsz;
// Save our mouse start position
@@ -119,24 +119,24 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
gw2obj->start_mouse_y = y;
gw2obj->last_mouse_y = y;
- // For smooth scrolling, scrolling is done in the MouseMove and selection is done on MouseUp
+ // For smooth scrolling, scrolling is done in the ListMouseMove and selection is done on ListMouseUp
if (gw->g.flags & GLIST_FLG_SCROLLSMOOTH)
return;
// Some initial stuff
- iheight = gdispGetFontMetric(gw->g.font, fontHeight) + VERTICAL_PADDING;
+ iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
pgsz = gw->g.height-2;
// Handle click over the scroll bar
- if (x >= gw->g.width-(SCROLLWIDTH+2) && (gw2obj->cnt > pgsz/iheight || (gw->g.flags & GLIST_FLG_SCROLLALWAYS))) {
- if (y < 2*ARROW) {
+ if (x >= gw->g.width-(LST_SCROLLWIDTH+2) && (gw2obj->cnt > pgsz/iheight || (gw->g.flags & GLIST_FLG_SCROLLALWAYS))) {
+ if (y < 2*LST_ARROW_SZ) {
if (gw2obj->top > 0) {
gw2obj->top -= iheight;
if (gw2obj->top < 0)
gw2obj->top = 0;
_gwinUpdate(&gw->g);
}
- } else if (y >= gw->g.height - 2*ARROW) {
+ } else if (y >= gw->g.height - 2*LST_ARROW_SZ) {
if (gw2obj->top < gw2obj->cnt * iheight - pgsz) {
gw2obj->top += iheight;
if (gw2obj->top > gw2obj->cnt * iheight - pgsz)
@@ -163,10 +163,10 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
return;
}
- MouseSelect(gw, x, y);
+ ListMouseSelect(gw, x, y);
}
- static void MouseUp(GWidgetObject* gw, coord_t x, coord_t y) {
+ static void ListMouseUp(GWidgetObject* gw, coord_t x, coord_t y) {
// Only act when we are a smooth scrolling list
if (!(gw->g.flags & GLIST_FLG_SCROLLSMOOTH))
return;
@@ -175,10 +175,10 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
if (abs(gw2obj->start_mouse_x - x) > 4 || abs(gw2obj->start_mouse_y - y) > 4)
return;
- MouseSelect(gw, x, y);
+ ListMouseSelect(gw, x, y);
}
- static void MouseMove(GWidgetObject* gw, coord_t x, coord_t y) {
+ static void ListMouseMove(GWidgetObject* gw, coord_t x, coord_t y) {
int iheight, oldtop;
(void) x;
@@ -186,7 +186,7 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
if (gw2obj->last_mouse_y != y) {
oldtop = gw2obj->top;
- iheight = gdispGetFontMetric(gw->g.font, fontHeight) + VERTICAL_PADDING;
+ iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
gw2obj->top -= y - gw2obj->last_mouse_y;
if (gw2obj->top >= gw2obj->cnt * iheight - (gw->g.height-2))
@@ -202,7 +202,7 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
#if GINPUT_NEED_TOGGLE
// a toggle-on has occurred
- static void ToggleOn(GWidgetObject *gw, uint16_t role) {
+ static void ListToggleOn(GWidgetObject *gw, uint16_t role) {
const gfxQueueASyncItem * qi;
const gfxQueueASyncItem * qix;
int i;
@@ -242,19 +242,19 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param);
}
}
- static void ToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
+ static void ListToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
if (role)
gw2obj->t_up = instance;
else
gw2obj->t_dn = instance;
}
- static uint16_t ToggleGet(GWidgetObject *gw, uint16_t role) {
+ static uint16_t ListToggleGet(GWidgetObject *gw, uint16_t role) {
return role ? gw2obj->t_up : gw2obj->t_dn;
}
#endif
-static void _destroy(GHandle gh) {
+static void ListDestroy(GHandle gh) {
const gfxQueueASyncItem* qi;
while((qi = gfxQueueASyncGet(&gh2obj->list_head)))
@@ -267,25 +267,25 @@ static const gwidgetVMT listVMT = {
{
"List", // The class name
sizeof(GListObject), // The object size
- _destroy, // The destroy routine
+ ListDestroy, // The destroy routine
_gwidgetRedraw, // The redraw routine
0, // The after-clear routine
},
gwinListDefaultDraw, // default drawing routine
#if GINPUT_NEED_MOUSE
{
- MouseDown,
- MouseUp,
- MouseMove,
+ ListMouseDown,
+ ListMouseUp,
+ ListMouseMove,
},
#endif
#if GINPUT_NEED_TOGGLE
{
2, // two toggle roles
- ToggleAssign, // Assign toggles
- ToggleGet, // get toggles
+ ListToggleAssign, // Assign toggles
+ ListToggleGet, // Get toggles
0,
- ToggleOn, // process toggle on event
+ ListToggleOn, // Process toggle on event
},
#endif
#if GINPUT_NEED_DIAL
@@ -616,7 +616,7 @@ void gwinListViewItem(GHandle gh, int item) {
return;
// Work out a possible new top for the list
- iheight = gdispGetFontMetric(gh->font, fontHeight) + VERTICAL_PADDING;
+ iheight = gdispGetFontMetric(gh->font, fontHeight) + LST_VERT_PAD;
gh2obj->top = iheight * item;
// Adjust the list
@@ -656,8 +656,8 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param) {
(void)param;
#if GDISP_NEED_CONVEX_POLYGON
- static const point upArrow[] = { {0, ARROW}, {ARROW, ARROW}, {ARROW/2, 0} };
- static const point downArrow[] = { {0, 0}, {ARROW, 0}, {ARROW/2, ARROW} };
+ static const point upArrow[] = { {0, LST_ARROW_SZ}, {LST_ARROW_SZ, LST_ARROW_SZ}, {LST_ARROW_SZ/2, 0} };
+ static const point downArrow[] = { {0, 0}, {LST_ARROW_SZ, 0}, {LST_ARROW_SZ/2, LST_ARROW_SZ} };
#endif
const gfxQueueASyncItem* qi;
@@ -678,7 +678,7 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param) {
return;
ps = (gw->g.flags & GWIN_FLG_SYSENABLED) ? &gw->pstyle->enabled : &gw->pstyle->disabled;
- iheight = gdispGetFontMetric(gw->g.font, fontHeight) + VERTICAL_PADDING;
+ iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
x = 1;
// the scroll area
@@ -693,16 +693,16 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param) {
}
}
} else if ((gw2obj->cnt > (gw->g.height-2) / iheight) || (gw->g.flags & GLIST_FLG_SCROLLALWAYS)) {
- iwidth = gw->g.width - (SCROLLWIDTH+3);
- gdispGFillArea(gw->g.display, gw->g.x+iwidth+2, gw->g.y+1, SCROLLWIDTH, gw->g.height-2, gdispBlendColor(ps->fill, gw->pstyle->background, 128));
+ iwidth = gw->g.width - (LST_SCROLLWIDTH+3);
+ gdispGFillArea(gw->g.display, gw->g.x+iwidth+2, gw->g.y+1, LST_SCROLLWIDTH, gw->g.height-2, gdispBlendColor(ps->fill, gw->pstyle->background, 128));
gdispGDrawLine(gw->g.display, gw->g.x+iwidth+1, gw->g.y+1, gw->g.x+iwidth+1, gw->g.y+gw->g.height-2, ps->edge);
#if GDISP_NEED_CONVEX_POLYGON
- gdispGFillConvexPoly(gw->g.display, gw->g.x+iwidth+((SCROLLWIDTH-ARROW)/2+2), gw->g.y+(ARROW/2+1), upArrow, 3, ps->fill);
- gdispGFillConvexPoly(gw->g.display, gw->g.x+iwidth+((SCROLLWIDTH-ARROW)/2+2), gw->g.y+gw->g.height-(ARROW+ARROW/2+1), downArrow, 3, ps->fill);
+ gdispGFillConvexPoly(gw->g.display, gw->g.x+iwidth+((LST_SCROLLWIDTH-LST_ARROW_SZ)/2+2), gw->g.y+(LST_ARROW_SZ/2+1), upArrow, 3, ps->fill);
+ gdispGFillConvexPoly(gw->g.display, gw->g.x+iwidth+((LST_SCROLLWIDTH-LST_ARROW_SZ)/2+2), gw->g.y+gw->g.height-(LST_ARROW_SZ+LST_ARROW_SZ/2+1), downArrow, 3, ps->fill);
#else
#warning "GWIN: Lists display better when GDISP_NEED_CONVEX_POLYGON is turned on"
- gdispGFillArea(gw->g.display, gw->g.x+iwidth+((SCROLLWIDTH-ARROW)/2+2), gw->g.y+(ARROW/2+1), ARROW, ARROW, ps->fill);
- gdispGFillArea(gw->g.display, gw->g.x+iwidth+((SCROLLWIDTH-ARROW)/2+2), gw->g.y+gw->g.height-(ARROW+ARROW/2+1), ARROW, ARROW, ps->fill);
+ gdispGFillArea(gw->g.display, gw->g.x+iwidth+((LST_SCROLLWIDTH-LST_ARROW_SZ)/2+2), gw->g.y+(LST_ARROW_SZ/2+1), LST_ARROW_SZ, LST_ARROW_SZ, ps->fill);
+ gdispGFillArea(gw->g.display, gw->g.x+iwidth+((LST_SCROLLWIDTH-LST_ARROW_SZ)/2+2), gw->g.y+gw->g.height-(LST_ARROW_SZ+LST_ARROW_SZ/2+1), LST_ARROW_SZ, LST_ARROW_SZ, ps->fill);
#endif
} else
iwidth = gw->g.width - 2;
@@ -733,18 +733,18 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param) {
// Clear the image area
if (qi2li->pimg && gdispImageIsOpen(qi2li->pimg)) {
// Calculate which image
- sy = (qi2li->flags & GLIST_FLG_SELECTED) ? 0 : (iheight-VERTICAL_PADDING);
+ sy = (qi2li->flags & GLIST_FLG_SELECTED) ? 0 : (iheight-LST_VERT_PAD);
if (!(gw->g.flags & GWIN_FLG_SYSENABLED))
- sy += 2*(iheight-VERTICAL_PADDING);
+ sy += 2*(iheight-LST_VERT_PAD);
while (sy > qi2li->pimg->height)
- sy -= iheight-VERTICAL_PADDING;
+ sy -= iheight-LST_VERT_PAD;
// Draw the image
gdispImageSetBgColor(qi2li->pimg, fill);
- gdispGImageDraw(gw->g.display, qi2li->pimg, gw->g.x+1, gw->g.y+y, iheight-VERTICAL_PADDING, iheight-VERTICAL_PADDING, 0, sy);
+ gdispGImageDraw(gw->g.display, qi2li->pimg, gw->g.x+1, gw->g.y+y, iheight-LST_VERT_PAD, iheight-LST_VERT_PAD, 0, sy);
}
}
#endif
- gdispGFillStringBox(gw->g.display, gw->g.x+x+HORIZONTAL_PADDING, gw->g.y+y, iwidth-HORIZONTAL_PADDING, iheight, qi2li->text, gw->g.font, ps->text, fill, justifyLeft);
+ gdispGFillStringBox(gw->g.display, gw->g.x+x+LST_HORIZ_PAD, gw->g.y+y, iwidth-LST_HORIZ_PAD, iheight, qi2li->text, gw->g.font, ps->text, fill, justifyLeft);
}
// Fill any remaining item space
@@ -752,4 +752,9 @@ static void gwinListDefaultDraw(GWidgetObject* gw, void* param) {
gdispGFillArea(gw->g.display, gw->g.x+1, gw->g.y+y, iwidth, gw->g.height-1-y, gw->pstyle->background);
}
+#undef gh2obj
+#undef gw2obj
+#undef qi2li
+#undef qix2li
+#undef ple
#endif // GFX_USE_GWIN && GWIN_NEED_LIST
diff --git a/src/gwin/gwin_mk.c b/src/gwin/gwin_mk.c
new file mode 100644
index 00000000..981eb6d2
--- /dev/null
+++ b/src/gwin/gwin_mk.c
@@ -0,0 +1,26 @@
+/*
+ * 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
+ */
+
+#include "gwin.c"
+#include "gwin_widget.c"
+#include "gwin_wm.c"
+#include "gwin_console.c"
+#include "gwin_graph.c"
+#include "gwin_button.c"
+#include "gwin_slider.c"
+#include "gwin_checkbox.c"
+#include "gwin_image.c"
+#include "gwin_label.c"
+#include "gwin_radio.c"
+#include "gwin_list.c"
+#include "gwin_progressbar.c"
+#include "gwin_container.c"
+#include "gwin_frame.c"
+#include "gwin_tabset.c"
+#include "gwin_gl3d.c"
+#include "gwin_keyboard.c"
+#include "gwin_keyboard_layout.c"
diff --git a/src/gwin/gwin_progressbar.c b/src/gwin/gwin_progressbar.c
index db58f9a7..e275b9e4 100644
--- a/src/gwin/gwin_progressbar.c
+++ b/src/gwin/gwin_progressbar.c
@@ -17,7 +17,7 @@
#include "gwin_class.h"
// Reset the display position back to the value predicted by the saved progressbar position
-static void ResetDisplayPos(GProgressbarObject *gsw) {
+static void PBResetDisplayPos(GProgressbarObject *gsw) {
if (gsw->w.g.width < gsw->w.g.height)
gsw->dpos = gsw->w.g.height-1-((gsw->w.g.height-1)*(gsw->pos-gsw->min))/(gsw->max-gsw->min);
else
@@ -25,7 +25,7 @@ static void ResetDisplayPos(GProgressbarObject *gsw) {
}
// We have to deinitialize the timer which auto updates the progressbar if any
-static void _destroy(GHandle gh) {
+static void PBDestroy(GHandle gh) {
#if GWIN_PROGRESSBAR_AUTO
gtimerStop(&((GProgressbarObject *)gh)->gt);
gtimerDeinit(&((GProgressbarObject *)gh)->gt);
@@ -39,7 +39,7 @@ static const gwidgetVMT progressbarVMT = {
{
"Progressbar", // The classname
sizeof(GProgressbarObject), // The object size
- _destroy, // The destroy routine
+ PBDestroy, // The destroy routine
_gwidgetRedraw, // The redraw routine
0, // The after-clear routine
},
@@ -83,7 +83,7 @@ GHandle gwinGProgressbarCreate(GDisplay *g, GProgressbarObject *gs, const GWidge
gtimerInit(&gs->gt);
#endif
- ResetDisplayPos(gs);
+ PBResetDisplayPos(gs);
gwinSetVisible((GHandle)gs, pInit->g.show);
return (GHandle)gs;
@@ -101,7 +101,7 @@ void gwinProgressbarSetRange(GHandle gh, int min, int max) {
gsw->max = max;
gsw->pos = min;
- ResetDisplayPos(gsw);
+ PBResetDisplayPos(gsw);
#undef gsw
}
@@ -122,7 +122,7 @@ void gwinProgressbarSetPosition(GHandle gh, int pos) {
else gsw->pos = pos;
}
- ResetDisplayPos(gsw);
+ PBResetDisplayPos(gsw);
_gwinUpdate(gh);
#undef gsw
@@ -153,7 +153,7 @@ void gwinProgressbarIncrement(GHandle gh) {
else
gsw->pos = gsw->max;
- ResetDisplayPos(gsw);
+ PBResetDisplayPos(gsw);
_gwinUpdate(gh);
#undef gsw
@@ -172,7 +172,7 @@ void gwinProgressbarDecrement(GHandle gh) {
gsw->pos -= gsw->res;
- ResetDisplayPos(gsw);
+ PBResetDisplayPos(gsw);
_gwinUpdate(gh);
#undef gsw
diff --git a/src/gwin/gwin_radio.c b/src/gwin/gwin_radio.c
index b9076109..c7d5cf5c 100644
--- a/src/gwin/gwin_radio.c
+++ b/src/gwin/gwin_radio.c
@@ -49,7 +49,7 @@ static void SendRadioEvent(GWidgetObject *gw) {
#if GINPUT_NEED_MOUSE
// A mouse down has occurred over the button
- static void MouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void RadioMouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
(void) x; (void) y;
gwinRadioPress((GHandle)gw);
@@ -58,18 +58,18 @@ static void SendRadioEvent(GWidgetObject *gw) {
#if GINPUT_NEED_TOGGLE
// A toggle on has occurred
- static void ToggleOn(GWidgetObject *gw, uint16_t role) {
+ static void RadioToggleOn(GWidgetObject *gw, uint16_t role) {
(void) role;
gwinRadioPress((GHandle)gw);
}
- static void ToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
+ static void RadioToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
(void) role;
((GRadioObject *)gw)->toggle = instance;
}
- static uint16_t ToggleGet(GWidgetObject *gw, uint16_t role) {
+ static uint16_t RadioToggleGet(GWidgetObject *gw, uint16_t role) {
(void) role;
return ((GRadioObject *)gw)->toggle;
}
@@ -87,7 +87,7 @@ static const gwidgetVMT radioVMT = {
gwinRadioDraw_Radio, // The default drawing routine
#if GINPUT_NEED_MOUSE
{
- MouseDown, // Process mouse down events
+ RadioMouseDown, // Process mouse down events
0, // Process mouse up events (NOT USED)
0, // Process mouse move events (NOT USED)
},
@@ -95,10 +95,10 @@ static const gwidgetVMT radioVMT = {
#if GINPUT_NEED_TOGGLE
{
1, // 1 toggle role
- ToggleAssign, // Assign Toggles
- ToggleGet, // Get Toggles
+ RadioToggleAssign, // Assign Toggles
+ RadioToggleGet, // Get Toggles
0, // Process toggle off events (NOT USED)
- ToggleOn, // Process toggle on events
+ RadioToggleOn, // Process toggle on events
},
#endif
#if GINPUT_NEED_DIAL
diff --git a/src/gwin/gwin_slider.c b/src/gwin/gwin_slider.c
index 33039a92..c29d5996 100644
--- a/src/gwin/gwin_slider.c
+++ b/src/gwin/gwin_slider.c
@@ -19,7 +19,7 @@
#define GSLIDER_FLG_EXTENDED_EVENTS (GWIN_FIRST_CONTROL_FLAG<<0)
// Calculate the slider position from the display position
-static int CalculatePosFromDPos(GSliderObject *gsw) {
+static int SliderCalcPosFromDPos(GSliderObject *gsw) {
int halfbit;
// Set the new position
@@ -74,7 +74,7 @@ static void SendSliderEvent(GSliderObject *gsw, uint8_t action) {
#endif
// If it is a cancel or set use the defined position else use the calculated position.
- pse->position = pse->action >= GSLIDER_EVENT_CANCEL ? gsw->pos : CalculatePosFromDPos(gsw);
+ pse->position = pse->action >= GSLIDER_EVENT_CANCEL ? gsw->pos : SliderCalcPosFromDPos(gsw);
// Cleanup and send.
psl->srcflags = 0;
@@ -85,7 +85,7 @@ static void SendSliderEvent(GSliderObject *gsw, uint8_t action) {
}
// Reset the display position back to the value predicted by the saved slider position
-static void ResetDisplayPos(GSliderObject *gsw) {
+static void SliderResetDisplayPos(GSliderObject *gsw) {
if (gsw->w.g.width < gsw->w.g.height)
gsw->dpos = gsw->w.g.height-1-(gsw->w.g.height-1)*(gsw->pos-gsw->min)/(gsw->max-gsw->min);
else
@@ -102,14 +102,14 @@ static void ResetDisplayPos(GSliderObject *gsw) {
}
// A mouse up event
- static void MouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void SliderMouseUp(GWidgetObject *gw, coord_t x, coord_t y) {
#define gsw ((GSliderObject *)gw)
#if !GWIN_BUTTON_LAZY_RELEASE
// Are we over the slider?
if (x < 0 || x >= gsw->w.g.width || y < 0 || y >= gsw->w.g.height) {
// No - restore the slider
- ResetDisplayPos(gsw);
+ SliderResetDisplayPos(gsw);
_gwinUpdate(&gsw->w.g);
SendSliderEvent(gsw, GSLIDER_EVENT_CANCEL);
return;
@@ -118,7 +118,7 @@ static void ResetDisplayPos(GSliderObject *gsw) {
// Set the new position
SetDisplayPosFromMouse(gsw, x, y);
- gsw->pos = CalculatePosFromDPos(gsw);
+ gsw->pos = SliderCalcPosFromDPos(gsw);
// Update the display
#if GWIN_SLIDER_NOSNAP
@@ -135,7 +135,7 @@ static void ResetDisplayPos(GSliderObject *gsw) {
gsw->dpos = 0;
}
#else
- ResetDisplayPos(gsw);
+ SliderResetDisplayPos(gsw);
#endif
_gwinUpdate(&gsw->w.g);
@@ -146,7 +146,7 @@ static void ResetDisplayPos(GSliderObject *gsw) {
}
// A mouse down event
- static void MouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void SliderMouseDown(GWidgetObject *gw, coord_t x, coord_t y) {
#define gsw ((GSliderObject *)gw)
// Determine the display position
@@ -162,7 +162,7 @@ static void ResetDisplayPos(GSliderObject *gsw) {
}
// A mouse move event
- static void MouseMove(GWidgetObject *gw, coord_t x, coord_t y) {
+ static void SliderMouseMove(GWidgetObject *gw, coord_t x, coord_t y) {
#define gsw ((GSliderObject *)gw)
// Determine the display position
@@ -180,7 +180,7 @@ static void ResetDisplayPos(GSliderObject *gsw) {
#if GINPUT_NEED_TOGGLE
// A toggle on has occurred
- static void ToggleOn(GWidgetObject *gw, uint16_t role) {
+ static void SliderToggleOn(GWidgetObject *gw, uint16_t role) {
#define gsw ((GSliderObject *)gw)
if (role) {
@@ -193,28 +193,28 @@ static void ResetDisplayPos(GSliderObject *gsw) {
#undef gsw
}
- static void ToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
+ static void SliderToggleAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
if (role)
((GSliderObject *)gw)->t_up = instance;
else
((GSliderObject *)gw)->t_dn = instance;
}
- static uint16_t ToggleGet(GWidgetObject *gw, uint16_t role) {
+ static uint16_t SliderToggleGet(GWidgetObject *gw, uint16_t role) {
return role ? ((GSliderObject *)gw)->t_up : ((GSliderObject *)gw)->t_dn;
}
#endif
#if GINPUT_NEED_DIAL
// A dial move event
- static void DialMove(GWidgetObject *gw, uint16_t role, uint16_t value, uint16_t max) {
+ static void SliderDialMove(GWidgetObject *gw, uint16_t role, uint16_t value, uint16_t max) {
#define gsw ((GSliderObject *)gw)
(void) role;
// Set the new position
gsw->pos = (uint16_t)((uint32_t)value*(gsw->max-gsw->min)/max + gsw->min);
- ResetDisplayPos(gsw);
+ SliderResetDisplayPos(gsw);
_gwinUpdate(&gsw->w.g);
// Generate the event
@@ -222,12 +222,12 @@ static void ResetDisplayPos(GSliderObject *gsw) {
#undef gsw
}
- static void DialAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
+ static void SliderDialAssign(GWidgetObject *gw, uint16_t role, uint16_t instance) {
(void) role;
((GSliderObject *)gw)->dial = instance;
}
- static uint16_t DialGet(GWidgetObject *gw, uint16_t role) {
+ static uint16_t SliderDialGet(GWidgetObject *gw, uint16_t role) {
(void) role;
return ((GSliderObject *)gw)->dial;
}
@@ -245,26 +245,26 @@ static const gwidgetVMT sliderVMT = {
gwinSliderDraw_Std, // The default drawing routine
#if GINPUT_NEED_MOUSE
{
- MouseDown, // Process mouse down events
- MouseUp, // Process mouse up events
- MouseMove, // Process mouse move events
+ SliderMouseDown, // Process mouse down events
+ SliderMouseUp, // Process mouse up events
+ SliderMouseMove, // Process mouse move events
},
#endif
#if GINPUT_NEED_TOGGLE
{
2, // 1 toggle role
- ToggleAssign, // Assign Toggles
- ToggleGet, // Get Toggles
+ SliderToggleAssign, // Assign Toggles
+ SliderToggleGet, // Get Toggles
0, // Process toggle off events (NOT USED)
- ToggleOn, // Process toggle on events
+ SliderToggleOn, // Process toggle on events
},
#endif
#if GINPUT_NEED_DIAL
{
1, // 1 dial roles
- DialAssign, // Assign Dials
- DialGet, // Get Dials
- DialMove, // Process dial move events
+ SliderDialAssign, // Assign Dials
+ SliderDialGet, // Get Dials
+ SliderDialMove, // Process dial move events
},
#endif
};
@@ -282,7 +282,7 @@ GHandle gwinGSliderCreate(GDisplay *g, GSliderObject *gs, const GWidgetInit *pIn
gs->min = 0;
gs->max = 100;
gs->pos = 0;
- ResetDisplayPos(gs);
+ SliderResetDisplayPos(gs);
gwinSetVisible((GHandle)gs, pInit->g.show);
return (GHandle)gs;
}
@@ -298,7 +298,7 @@ void gwinSliderSetRange(GHandle gh, int min, int max) {
gsw->min = min;
gsw->max = max;
gsw->pos = min;
- ResetDisplayPos(gsw);
+ SliderResetDisplayPos(gsw);
#undef gsw
}
@@ -317,7 +317,7 @@ void gwinSliderSetPosition(GHandle gh, int pos) {
else if (pos < gsw->max) gsw->pos = gsw->max;
else gsw->pos = pos;
}
- ResetDisplayPos(gsw);
+ SliderResetDisplayPos(gsw);
_gwinUpdate(gh);
#undef gsw
diff --git a/src/gwin/gwin_tabset.c b/src/gwin/gwin_tabset.c
index e738352f..f1bcd374 100644
--- a/src/gwin/gwin_tabset.c
+++ b/src/gwin/gwin_tabset.c
@@ -19,8 +19,8 @@
#include <string.h>
// Some position values
-#define BORDER_WIDTH 2
-#define TEXT_PADDING 5
+#define GTABSET_BORDER 2
+#define GTABSET_TXT_PAD 5
// Some color blending
#define GTABSET_TAB_CNR 8 // Diagonal corner on active tab
@@ -124,7 +124,7 @@ static coord_t CalcTabHeight(GHandle gh) {
y = GWIN_TABSET_TABHEIGHT;
for(ph = gwinGetFirstChild(gh); ph; ph = gwinGetSibling(ph)) {
if (ph->vmt == (gwinVMT *)&tabpageVMT) {
- w = gdispGetStringWidth(((GWidgetObject *)ph)->text, gh->font) + TEXT_PADDING*2;
+ w = gdispGetStringWidth(((GWidgetObject *)ph)->text, gh->font) + GTABSET_TXT_PAD*2;
x += w;
if (x > gh->width) {
y += GWIN_TABSET_TABHEIGHT;
@@ -155,7 +155,7 @@ static void FixTabSizePos(GHandle gh) {
gwinMove(ph, 0, 0);
gwinResize(ph, w, h);
} else {
- gwinMove(ph, ph->x-gh->x-((gh->flags & GWIN_TABSET_BORDER) ? BORDER_WIDTH : 0) , ph->y-oldth-gh->y);
+ gwinMove(ph, ph->x-gh->x-((gh->flags & GWIN_TABSET_BORDER) ? GTABSET_BORDER : 0) , ph->y-oldth-gh->y);
}
}
if (vis && !(vis->flags & GWIN_FLG_VISIBLE)) {
@@ -164,7 +164,7 @@ static void FixTabSizePos(GHandle gh) {
}
}
-static coord_t TabSetBorderSize(GHandle gh) { return (gh->flags & GWIN_TABSET_BORDER) ? BORDER_WIDTH : 0; }
+static coord_t TabSetBorderSize(GHandle gh) { return (gh->flags & GWIN_TABSET_BORDER) ? GTABSET_BORDER : 0; }
static coord_t TabSetBorderTop(GHandle gh) { return ((GTabsetObject *)gh)->border_top; }
#if GINPUT_NEED_MOUSE
@@ -185,7 +185,7 @@ static coord_t TabSetBorderTop(GHandle gh) { return ((GTabsetObject *)gh)->bord
gh = 0;
for(ph = gwinGetFirstChild(&gw->g); ph; ph = gwinGetSibling(ph)) {
if (ph->vmt == (gwinVMT *)&tabpageVMT) {
- w = gdispGetStringWidth(((GWidgetObject *)ph)->text, gw->g.font) + TEXT_PADDING*2;
+ w = gdispGetStringWidth(((GWidgetObject *)ph)->text, gw->g.font) + GTABSET_TXT_PAD*2;
x += w;
if (x > gw->g.width) {
y += GWIN_TABSET_TABHEIGHT;
@@ -464,7 +464,7 @@ static coord_t drawtabs(GWidgetObject *gw) {
y = 0;
for(ph = gwinGetFirstChild(&gw->g); ph; ph = gwinGetSibling(ph)) {
if (ph->vmt == (gwinVMT *)&tabpageVMT) {
- w = gdispGetStringWidth(((GWidgetObject *)ph)->text, gw->g.font) + TEXT_PADDING*2;
+ w = gdispGetStringWidth(((GWidgetObject *)ph)->text, gw->g.font) + GTABSET_TXT_PAD*2;
if (x+w > gw->g.width) {
ntarea(gw, y, x, gw->g.width - x);
y += GWIN_TABSET_TABHEIGHT;
diff --git a/src/gwin/gwin_widget.c b/src/gwin/gwin_widget.c
index cf1f59c7..bfc5a48f 100644
--- a/src/gwin/gwin_widget.c
+++ b/src/gwin/gwin_widget.c
@@ -515,5 +515,7 @@ bool_t gwinAttachListener(GListener *pl) {
}
#endif
+#undef gw
+#undef wvmt
#endif /* GFX_USE_GWIN && GWIN_NEED_WIDGET */
/** @} */
diff --git a/tools/gmake_scripts/library_ugfx.mk b/tools/gmake_scripts/library_ugfx.mk
index 450f6ff6..9dabcb69 100644
--- a/tools/gmake_scripts/library_ugfx.mk
+++ b/tools/gmake_scripts/library_ugfx.mk
@@ -14,9 +14,10 @@
# Optional:
#
-# GFXBOARD: The uGFX Board to include eg GFXBOARD=Win32
-# GFXDRIVERS: The uGFX Drivers to include - separate multiple drivers with spaces eg GFXDRIVERS=multiple/uGFXnet
-# GFXDEMO: Compile a uGFX standard demo? If blank you need to include your own project files. eg GFXDEMO=modules/gwin/widgets
+# GFXBOARD: The uGFX Board to include eg GFXBOARD=Win32
+# GFXDRIVERS: The uGFX Drivers to include - separate multiple drivers with spaces eg GFXDRIVERS=multiple/uGFXnet
+# GFXDEMO: Compile a uGFX standard demo? If blank you need to include your own project files. eg GFXDEMO=modules/gwin/widgets
+# GFXSINGLEMAKE: Compile the entire system (except for board files and drivers) as a single file eg GFXSINGLEMAKE=yes (default is no)
#
PATHLIST += GFXLIB