Rename lots of files to help prevent compile time name conflicts.

ugfx_release_2.6
inmarket 2014-08-20 17:42:53 +10:00
parent fcbb66a939
commit 0f3f8f68f8
94 changed files with 857 additions and 828 deletions

View File

@ -36,7 +36,7 @@
#include "gwinosc.h" #include "gwinosc.h"
/* Include internal GWIN routines so we can build our own superset class */ /* Include internal GWIN routines so we can build our own superset class */
#include "src/gwin/class_gwin.h" #include "src/gwin/gwin_class.h"
/* How many flat-line sample before we trigger */ /* How many flat-line sample before we trigger */
#define FLATLINE_SAMPLES 8 #define FLATLINE_SAMPLES 8

View File

@ -43,7 +43,7 @@
#include "gwinosc.h" #include "gwinosc.h"
/* Include internal GWIN routines so we can build our own superset class */ /* Include internal GWIN routines so we can build our own superset class */
#include "src/gwin/class_gwin.h" #include "src/gwin/gwin_class.h"
/* How many flat-line sample before we trigger */ /* How many flat-line sample before we trigger */
#define FLATLINE_SAMPLES 8 #define FLATLINE_SAMPLES 8

View File

@ -4,4 +4,4 @@ GFXSRC += $(GFXLIB)/drivers/gaudio/vs1053/gaudio_play_lld.c
# Required include directories # Required include directories
GFXINC += $(GFXLIB)/drivers/gaudio/vs1053 GFXINC += $(GFXLIB)/drivers/gaudio/vs1053
GFXDEFS += -DGFX_USE_GTIMER=GFX_USE_GAUDIO #GFXDEFS += -DGFX_USE_GTIMER=GFX_USE_GAUDIO

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gadc/gadc.c * @file src/gadc/gadc_gadc.c
* @brief GADC sub-system code. * @brief GADC sub-system code.
* *
* @addtogroup GADC * @addtogroup GADC
@ -17,7 +17,7 @@
#if GFX_USE_GADC #if GFX_USE_GADC
/* Include the driver defines */ /* Include the driver defines */
#include "src/gadc/driver.h" #include "driver.h"
#if GADC_MAX_HIGH_SPEED_SAMPLERATE > GADC_MAX_SAMPLE_FREQUENCY/2 #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" #error "GADC: GADC_MAX_HIGH_SPEED_SAMPLERATE has been set too high. It must be less than half the maximum CPU rate"

View File

@ -1 +1 @@
GFXSRC += $(GFXLIB)/src/gadc/gadc.c GFXSRC += $(GFXLIB)/src/gadc/gadc_gadc.c

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gaudio/gaudio.c * @file src/gaudio/gaudio_gaudio.c
* @brief GAUDIO sub-system code. * @brief GAUDIO sub-system code.
* *
* @addtogroup GAUDIO * @addtogroup GAUDIO
@ -17,7 +17,7 @@
#if GFX_USE_GAUDIO #if GFX_USE_GAUDIO
#if GAUDIO_NEED_PLAY #if GAUDIO_NEED_PLAY
#include "src/gaudio/driver_play.h" #include "driver_play.h"
static gfxQueueASync playList; static gfxQueueASync playList;
static gfxSem playComplete; static gfxSem playComplete;
@ -32,7 +32,7 @@
#endif #endif
#if GAUDIO_NEED_RECORD #if GAUDIO_NEED_RECORD
#include "src/gaudio/driver_record.h" #include "driver_record.h"
static gfxQueueGSync recordList; static gfxQueueGSync recordList;
static uint16_t recordFlags; static uint16_t recordFlags;

View File

@ -1 +1 @@
GFXSRC += $(GFXLIB)/src/gaudio/gaudio.c GFXSRC += $(GFXLIB)/src/gaudio/gaudio_gaudio.c

View File

@ -72,7 +72,7 @@ for file in *.c; do
defname='GDISP_INCLUDE_FONT_'$upper defname='GDISP_INCLUDE_FONT_'$upper
echo '#if defined('$defname') && '$defname >> fonts.h echo '#if defined('$defname') && '$defname >> fonts.h
echo '#define GDISP_FONT_FOUND' >> fonts.h echo '#define GDISP_FONT_FOUND' >> fonts.h
echo '#include "src/gdisp/fonts/'$file'"' >> fonts.h echo '#include "'$file'"' >> fonts.h
echo '#endif' >> fonts.h echo '#endif' >> fonts.h
done done

View File

@ -3,87 +3,87 @@
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS10) && GDISP_INCLUDE_FONT_DEJAVUSANS10 #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS10) && GDISP_INCLUDE_FONT_DEJAVUSANS10
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans10.c" #include "DejaVuSans10.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS12_AA #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS12_AA
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans12_aa.c" #include "DejaVuSans12_aa.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12) && GDISP_INCLUDE_FONT_DEJAVUSANS12 #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12) && GDISP_INCLUDE_FONT_DEJAVUSANS12
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans12.c" #include "DejaVuSans12.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS16_AA #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS16_AA
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans16_aa.c" #include "DejaVuSans16_aa.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16) && GDISP_INCLUDE_FONT_DEJAVUSANS16 #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16) && GDISP_INCLUDE_FONT_DEJAVUSANS16
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans16.c" #include "DejaVuSans16.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS24_AA #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS24_AA
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans24_aa.c" #include "DejaVuSans24_aa.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24) && GDISP_INCLUDE_FONT_DEJAVUSANS24 #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24) && GDISP_INCLUDE_FONT_DEJAVUSANS24
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans24.c" #include "DejaVuSans24.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS32_AA #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS32_AA
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans32_aa.c" #include "DejaVuSans32_aa.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32) && GDISP_INCLUDE_FONT_DEJAVUSANS32 #if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32) && GDISP_INCLUDE_FONT_DEJAVUSANS32
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSans32.c" #include "DejaVuSans32.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA #if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSansBold12_aa.c" #include "DejaVuSansBold12_aa.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 #if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/DejaVuSansBold12.c" #include "DejaVuSansBold12.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_FIXED_10X20) && GDISP_INCLUDE_FONT_FIXED_10X20 #if defined(GDISP_INCLUDE_FONT_FIXED_10X20) && GDISP_INCLUDE_FONT_FIXED_10X20
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/fixed_10x20.c" #include "fixed_10x20.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_FIXED_5X8) && GDISP_INCLUDE_FONT_FIXED_5X8 #if defined(GDISP_INCLUDE_FONT_FIXED_5X8) && GDISP_INCLUDE_FONT_FIXED_5X8
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/fixed_5x8.c" #include "fixed_5x8.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_FIXED_7X14) && GDISP_INCLUDE_FONT_FIXED_7X14 #if defined(GDISP_INCLUDE_FONT_FIXED_7X14) && GDISP_INCLUDE_FONT_FIXED_7X14
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/fixed_7x14.c" #include "fixed_7x14.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_LARGENUMBERS) && GDISP_INCLUDE_FONT_LARGENUMBERS #if defined(GDISP_INCLUDE_FONT_LARGENUMBERS) && GDISP_INCLUDE_FONT_LARGENUMBERS
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/LargeNumbers.c" #include "LargeNumbers.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_UI1) && GDISP_INCLUDE_FONT_UI1 #if defined(GDISP_INCLUDE_FONT_UI1) && GDISP_INCLUDE_FONT_UI1
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/UI1.c" #include "UI1.c"
#endif #endif
#if defined(GDISP_INCLUDE_FONT_UI2) && GDISP_INCLUDE_FONT_UI2 #if defined(GDISP_INCLUDE_FONT_UI2) && GDISP_INCLUDE_FONT_UI2
#define GDISP_FONT_FOUND #define GDISP_FONT_FOUND
#include "src/gdisp/fonts/UI2.c" #include "UI2.c"
#endif #endif
#if defined(GDISP_INCLUDE_USER_FONTS) && GDISP_INCLUDE_USER_FONTS #if defined(GDISP_INCLUDE_USER_FONTS) && GDISP_INCLUDE_USER_FONTS

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gdisp/colors.h * @file src/gdisp/gdisp_colors.h
* @brief GDISP color definitions header file. * @brief GDISP color definitions header file.
* *
* @defgroup Colors Colors * @defgroup Colors Colors

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gdisp/fonts.c * @file src/gdisp/gdisp_fonts.c
* @brief GDISP Font Handling. * @brief GDISP Font Handling.
* *
* @addtogroup GDISP * @addtogroup GDISP
@ -17,7 +17,7 @@
#if GFX_USE_GDISP && GDISP_NEED_TEXT #if GFX_USE_GDISP && GDISP_NEED_TEXT
#include "mcufont.h" #include "mcufont/mcufont.h"
/* Custom flag to indicate dynamically allocated font */ /* Custom flag to indicate dynamically allocated font */
#define FONT_FLAG_DYNAMIC 0x80 #define FONT_FLAG_DYNAMIC 0x80

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gdisp/gdisp.c * @file src/gdisp/gdisp_gdisp.c
* @brief GDISP Driver code. * @brief GDISP Driver code.
* *
* @addtogroup GDISP * @addtogroup GDISP
@ -17,7 +17,7 @@
#if GFX_USE_GDISP #if GFX_USE_GDISP
/* Include the low level driver information */ /* Include the low level driver information */
#include "src/gdisp/driver.h" #include "driver.h"
#if 1 #if 1
#undef INLINE #undef INLINE
@ -2768,7 +2768,7 @@ void gdispGDrawBox(GDisplay *g, coord_t x, coord_t y, coord_t cx, coord_t cy, co
#endif #endif
#if GDISP_NEED_TEXT #if GDISP_NEED_TEXT
#include "mcufont.h" #include "mcufont/mcufont.h"
#if GDISP_NEED_ANTIALIAS && GDISP_HARDWARE_PIXELREAD #if GDISP_NEED_ANTIALIAS && GDISP_HARDWARE_PIXELREAD
static void drawcharline(int16_t x, int16_t y, uint8_t count, uint8_t alpha, void *state) { static void drawcharline(int16_t x, int16_t y, uint8_t count, uint8_t alpha, void *state) {

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gdisp/image.c * @file src/gdisp/gdisp_image.c
* @brief GDISP generic image code. * @brief GDISP generic image code.
* *
* @defgroup Image Image * @defgroup Image Image

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gdisp/image.h * @file src/gdisp/gdisp_image.h
* @brief GDISP image header file. * @brief GDISP image header file.
* *
* @defgroup Image Image * @defgroup Image Image

View File

@ -185,7 +185,7 @@ extern GDisplay *GDISP;
/*===========================================================================*/ /*===========================================================================*/
/* Load our color definitions and pixel formats */ /* Load our color definitions and pixel formats */
#include "colors.h" #include "gdisp_colors.h"
/** /**
* @brief The type of a pixel. * @brief The type of a pixel.
@ -995,7 +995,7 @@ void gdispGDrawBox(GDisplay *g, coord_t x, coord_t y, coord_t cx, coord_t cy, co
#endif #endif
#if GDISP_NEED_IMAGE || defined(__DOXYGEN__) #if GDISP_NEED_IMAGE || defined(__DOXYGEN__)
#include "src/gdisp/image.h" #include "gdisp_image.h"
#endif #endif
#endif /* GFX_USE_GDISP */ #endif /* GFX_USE_GDISP */

View File

@ -1,11 +1,11 @@
GFXSRC += $(GFXLIB)/src/gdisp/gdisp.c \ GFXSRC += $(GFXLIB)/src/gdisp/gdisp_gdisp.c \
$(GFXLIB)/src/gdisp/fonts.c \ $(GFXLIB)/src/gdisp/gdisp_fonts.c \
$(GFXLIB)/src/gdisp/image.c \ $(GFXLIB)/src/gdisp/gdisp_image.c \
$(GFXLIB)/src/gdisp/image_native.c \ $(GFXLIB)/src/gdisp/gdisp_image_native.c \
$(GFXLIB)/src/gdisp/image_gif.c \ $(GFXLIB)/src/gdisp/gdisp_image_gif.c \
$(GFXLIB)/src/gdisp/image_bmp.c \ $(GFXLIB)/src/gdisp/gdisp_image_bmp.c \
$(GFXLIB)/src/gdisp/image_jpg.c \ $(GFXLIB)/src/gdisp/gdisp_image_jpg.c \
$(GFXLIB)/src/gdisp/image_png.c $(GFXLIB)/src/gdisp/gdisp_image_png.c
MFDIR = $(GFXLIB)/src/gdisp/mcufont MFDIR = $(GFXLIB)/src/gdisp/mcufont
include $(GFXLIB)/src/gdisp/mcufont/mcufont.mk include $(GFXLIB)/src/gdisp/mcufont/mcufont.mk

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gevent/gevent.c * @file src/gevent/gevent_gevent.c
* @brief GEVENT Driver code. * @brief GEVENT Driver code.
* *
* @addtogroup GEVENT * @addtogroup GEVENT

View File

@ -1 +1 @@
GFXSRC += $(GFXLIB)/src/gevent/gevent.c GFXSRC += $(GFXLIB)/src/gevent/gevent_gevent.c

View File

@ -5,11 +5,17 @@
/* disk I/O modules and attach it to FatFs module with common interface. */ /* disk I/O modules and attach it to FatFs module with common interface. */
/*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/
/**
* @file src/gfile/gfile_fatfs_diskio_chibios.c
* @brief GFILE FATFS wrapper.
*
*/
#include "gfx.h" #include "gfx.h"
#if GFX_USE_GFILE && GFILE_NEED_FATFS && GFX_USE_OS_CHIBIOS #if GFX_USE_GFILE && GFILE_NEED_FATFS && GFX_USE_OS_CHIBIOS
#include "fatfs_wrapper.h" #include "gfile_fatfs_wrapper.h"
#if HAL_USE_MMC_SPI && HAL_USE_SDC #if HAL_USE_MMC_SPI && HAL_USE_SDC
#error "cannot specify both MMC_SPI and SDC drivers" #error "cannot specify both MMC_SPI and SDC drivers"

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gfile/fatfs_wrapper.c * @file src/gfile/gfile_fatfs_wrapper.c
* @brief GFILE FATFS wrapper. * @brief GFILE FATFS wrapper.
* *
*/ */
@ -15,7 +15,7 @@
#if GFX_USE_GFILE && GFILE_NEED_FATFS #if GFX_USE_GFILE && GFILE_NEED_FATFS
#include "fatfs_wrapper.h" #include "gfile_fatfs_wrapper.h"
// Include the source we want // Include the source we want
#include "3rdparty/fatfs-0.10b/src/ff.c" #include "3rdparty/fatfs-0.10b/src/ff.c"

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gfile/fatfs_wrapper.h * @file src/gfile/gfile_fatfs_wrapper.h
* @brief GFILE FATFS wrapper. * @brief GFILE FATFS wrapper.
* *
*/ */

View File

@ -18,7 +18,6 @@
#include <stdio.h> #include <stdio.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
//#include <unistd.h>
static bool_t NativeDel(const char *fname); static bool_t NativeDel(const char *fname);
static bool_t NativeExists(const char *fname); static bool_t NativeExists(const char *fname);

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gfile/gfile.c * @file src/gfile/gfile_gfile.c
* @brief GFILE code. * @brief GFILE code.
* *
*/ */

View File

@ -5,11 +5,17 @@
/* disk I/O modules and attach it to FatFs module with common interface. */ /* disk I/O modules and attach it to FatFs module with common interface. */
/*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/
/**
* @file src/gfile/gfile_petitfs_diskio_chibios.c
* @brief GFILE FATFS wrapper.
*
*/
#include "gfx.h" #include "gfx.h"
#if GFX_USE_GFILE && GFILE_NEED_PETITFS && GFX_USE_OS_CHIBIOS #if GFX_USE_GFILE && GFILE_NEED_PETITFS && GFX_USE_OS_CHIBIOS
#include "petitfs_wrapper.h" #include "gfile_petitfs_wrapper.h"
#include <string.h> #include <string.h>

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gfile/petitfs_wrapper.c * @file src/gfile/gfile_petitfs_wrapper.c
* @brief GFILE PETITFS wrapper. * @brief GFILE PETITFS wrapper.
* *
*/ */
@ -15,7 +15,7 @@
#if GFX_USE_GFILE && GFILE_NEED_PETITFS #if GFX_USE_GFILE && GFILE_NEED_PETITFS
#include "petitfs_wrapper.h" #include "gfile_petitfs_wrapper.h"
// Include the source we want // Include the source we want
#include "3rdparty/petitfs-0.03/src/pff.c" #include "3rdparty/petitfs-0.03/src/pff.c"

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gfile/petitfs_wrapper.h * @file src/gfile/gfile_petitfs_wrapper.h
* @brief GFILE PETITFS wrapper. * @brief GFILE PETITFS wrapper.
* *
*/ */

View File

@ -1,18 +1,18 @@
GFXSRC += $(GFXLIB)/src/gfile/gfile.c \ GFXSRC += $(GFXLIB)/src/gfile/gfile_gfile.c \
$(GFXLIB)/src/gfile/inc_nativefs.c \ $(GFXLIB)/src/gfile/gfile_fs_native.c \
$(GFXLIB)/src/gfile/inc_ramfs.c \ $(GFXLIB)/src/gfile/gfile_fs_ram.c \
$(GFXLIB)/src/gfile/inc_romfs.c \ $(GFXLIB)/src/gfile/gfile_fs_rom.c \
$(GFXLIB)/src/gfile/inc_fatfs.c \ $(GFXLIB)/src/gfile/gfile_fs_fatfs.c \
$(GFXLIB)/src/gfile/inc_petitfs.c \ $(GFXLIB)/src/gfile/gfile_fs_petitfs.c \
$(GFXLIB)/src/gfile/inc_memfs.c \ $(GFXLIB)/src/gfile/gfile_fs_mem.c \
$(GFXLIB)/src/gfile/inc_chibiosfs.c \ $(GFXLIB)/src/gfile/gfile_fs_chibios.c \
$(GFXLIB)/src/gfile/inc_strings.c \ $(GFXLIB)/src/gfile/gfile_fs_strings.c \
$(GFXLIB)/src/gfile/inc_printg.c \ $(GFXLIB)/src/gfile/gfile_printg.c \
$(GFXLIB)/src/gfile/inc_scang.c \ $(GFXLIB)/src/gfile/gfile_scang.c \
$(GFXLIB)/src/gfile/inc_stdio.c \ $(GFXLIB)/src/gfile/gfile_stdio.c \
$(GFXLIB)/src/gfile/fatfs_wrapper.c \ $(GFXLIB)/src/gfile/gfile_fatfs_wrapper.c \
$(GFXLIB)/src/gfile/fatfs_chibios_diskio.c \ $(GFXLIB)/src/gfile/gfile_fatfs_diskio_chibios.c \
$(GFXLIB)/src/gfile/petitfs_wrapper.c \ $(GFXLIB)/src/gfile/gfile_petitfs_wrapper.c \
$(GFXLIB)/src/gfile/petitfs_chibios_diskio.c \ $(GFXLIB)/src/gfile/gfile_petitfs_diskio_chibios.c \

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/ginput/dial.c * @file src/ginput/ginput_dial.c
* @brief GINPUT dial code. * @brief GINPUT dial code.
* *
* @defgroup Dial Dial * @defgroup Dial Dial
@ -17,7 +17,7 @@
#if GFX_USE_GINPUT && GINPUT_NEED_DIAL #if GFX_USE_GINPUT && GINPUT_NEED_DIAL
#include "src/ginput/driver_dial.h" #include "driver_dial.h"
static GTIMER_DECL(DialTimer); static GTIMER_DECL(DialTimer);
static struct DialStatus_t { static struct DialStatus_t {

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/ginput/dial.h * @file src/ginput/ginput_dial.h
* @brief GINPUT GFX User Input subsystem header file. * @brief GINPUT GFX User Input subsystem header file.
* *
* @defgroup Dial Dial * @defgroup Dial Dial

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/ginput/ginput.c * @file src/ginput/ginput_ginput.c
* @brief GINPUT subsystem common code. * @brief GINPUT subsystem common code.
* *
* @addtogroup GINPUT * @addtogroup GINPUT

View File

@ -1,23 +1,23 @@
/* /*
* This file is subject to the terms of the GFX License. If a copy of * 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: * the license was not distributed with this file, you can obtain one at:
* *
* http://ugfx.org/license.html * http://ugfx.org/license.html
*/ */
/** /**
* @file src/ginput/keyboard.c * @file src/ginput/ginput_keyboard.c
* @brief GINPUT keyboard code. * @brief GINPUT keyboard code.
* *
* @defgroup Keyboard Keyboard * @defgroup Keyboard Keyboard
* @ingroup GINPUT * @ingroup GINPUT
* *
* @{ * @{
*/ */
#include "gfx.h" #include "gfx.h"
#if (GFX_USE_GINPUT && GINPUT_NEED_KEYBOARD) || defined(__DOXYGEN__) #if (GFX_USE_GINPUT && GINPUT_NEED_KEYBOARD) || defined(__DOXYGEN__)
#error "GINPUT: GINPUT_NEED_KEYBOARD - Not Implemented Yet" #error "GINPUT: GINPUT_NEED_KEYBOARD - Not Implemented Yet"
#endif /* GFX_USE_GINPUT && GINPUT_NEED_KEYBOARD */ #endif /* GFX_USE_GINPUT && GINPUT_NEED_KEYBOARD */
/** @} */ /** @} */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/ginput/keyboard.h * @file src/ginput/ginput_keyboard.h
* @brief GINPUT GFX User Input subsystem header file. * @brief GINPUT GFX User Input subsystem header file.
* *
* @defgroup Keyboard Keyboard * @defgroup Keyboard Keyboard

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/ginput/mouse.c * @file src/ginput/ginput_mouse.c
* @brief GINPUT mouse/touch code. * @brief GINPUT mouse/touch code.
* *
* @defgroup Mouse Mouse * @defgroup Mouse Mouse
@ -17,7 +17,7 @@
#if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) || defined(__DOXYGEN__) #if (GFX_USE_GINPUT && GINPUT_NEED_MOUSE) || defined(__DOXYGEN__)
#include "src/ginput/driver_mouse.h" #include "driver_mouse.h"
#if GINPUT_MOUSE_NEED_CALIBRATION #if GINPUT_MOUSE_NEED_CALIBRATION
#if !defined(GFX_USE_GDISP) || !GFX_USE_GDISP #if !defined(GFX_USE_GDISP) || !GFX_USE_GDISP

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/ginput/mouse.h * @file src/ginput/ginput_mouse.h
* @brief GINPUT GFX User Input subsystem header file for mouse and touch. * @brief GINPUT GFX User Input subsystem header file for mouse and touch.
* *
* @defgroup Mouse Mouse * @defgroup Mouse Mouse

View File

@ -1,156 +1,156 @@
/* /*
* This file is subject to the terms of the GFX License. If a copy of * 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: * the license was not distributed with this file, you can obtain one at:
* *
* http://ugfx.org/license.html * http://ugfx.org/license.html
*/ */
/** /**
* @file src/ginput/toggle.c * @file src/ginput/ginput_toggle.c
* @brief GINPUT toggle code. * @brief GINPUT toggle code.
* *
* @defgroup Toggle Toggle * @defgroup Toggle Toggle
* @ingroup GINPUT * @ingroup GINPUT
* @{ * @{
*/ */
#include "gfx.h" #include "gfx.h"
#if (GFX_USE_GINPUT && GINPUT_NEED_TOGGLE) || defined(__DOXYGEN__) #if (GFX_USE_GINPUT && GINPUT_NEED_TOGGLE) || defined(__DOXYGEN__)
#include "src/ginput/driver_toggle.h" #include "driver_toggle.h"
#define GINPUT_TOGGLE_ISON 0x01 #define GINPUT_TOGGLE_ISON 0x01
#define GINPUT_TOGGLE_INVERT 0x02 #define GINPUT_TOGGLE_INVERT 0x02
static GTIMER_DECL(ToggleTimer); static GTIMER_DECL(ToggleTimer);
static struct GEventToggleStatus_t { static struct GEventToggleStatus_t {
uint8_t status; uint8_t status;
} ToggleStatus[GINPUT_TOGGLE_NUM_PORTS]; } ToggleStatus[GINPUT_TOGGLE_NUM_PORTS];
// Our polling function // Our polling function
static void TogglePoll(void *param) { static void TogglePoll(void *param) {
(void) param; (void) param;
const GToggleConfig *ptc; const GToggleConfig *ptc;
GSourceListener *psl; GSourceListener *psl;
GEventToggle *pe; GEventToggle *pe;
unsigned i, bits, mask; unsigned i, bits, mask;
uint8_t state; uint8_t state;
// Loop while there are bits to get // Loop while there are bits to get
for(ptc = GInputToggleConfigTable, i=0; i < GINPUT_TOGGLE_NUM_PORTS; ptc++) { for(ptc = GInputToggleConfigTable, i=0; i < GINPUT_TOGGLE_NUM_PORTS; ptc++) {
// Get the next block of bits // Get the next block of bits
bits = ginput_lld_toggle_getbits(ptc) ^ ptc->invert; bits = ginput_lld_toggle_getbits(ptc) ^ ptc->invert;
// Extract the bits of use // Extract the bits of use
for(mask = ptc->mask; i < GINPUT_TOGGLE_NUM_PORTS && mask; mask >>= 1, bits >>= 1) { for(mask = ptc->mask; i < GINPUT_TOGGLE_NUM_PORTS && mask; mask >>= 1, bits >>= 1) {
// Ignore bits not in our mask // Ignore bits not in our mask
if (!(mask & 1)) if (!(mask & 1))
continue; continue;
// Calculate our new state // Calculate our new state
state = ToggleStatus[i].status & ~GINPUT_TOGGLE_ISON; state = ToggleStatus[i].status & ~GINPUT_TOGGLE_ISON;
if (state & GINPUT_TOGGLE_INVERT) if (state & GINPUT_TOGGLE_INVERT)
bits ^= 1; bits ^= 1;
if (bits & 1) if (bits & 1)
state |= GINPUT_TOGGLE_ISON; state |= GINPUT_TOGGLE_ISON;
// Has it changed? // Has it changed?
if ((state ^ ToggleStatus[i].status) & GINPUT_TOGGLE_ISON) { if ((state ^ ToggleStatus[i].status) & GINPUT_TOGGLE_ISON) {
// Save the new state // Save the new state
ToggleStatus[i].status = state; ToggleStatus[i].status = state;
// Send the event to the listeners that are interested. // Send the event to the listeners that are interested.
psl = 0; psl = 0;
while ((psl = geventGetSourceListener((GSourceHandle)(ToggleStatus+i), psl))) { while ((psl = geventGetSourceListener((GSourceHandle)(ToggleStatus+i), psl))) {
if (!(pe = (GEventToggle *)geventGetEventBuffer(psl))) if (!(pe = (GEventToggle *)geventGetEventBuffer(psl)))
continue; continue;
if ((state & GINPUT_TOGGLE_ISON)) { if ((state & GINPUT_TOGGLE_ISON)) {
if ((psl->listenflags & GLISTEN_TOGGLE_ON)) { if ((psl->listenflags & GLISTEN_TOGGLE_ON)) {
pe->type = GEVENT_TOGGLE; pe->type = GEVENT_TOGGLE;
pe->instance = i; pe->instance = i;
pe->on = TRUE; pe->on = TRUE;
geventSendEvent(psl); geventSendEvent(psl);
} }
} else { } else {
if ((psl->listenflags & GLISTEN_TOGGLE_OFF)) { if ((psl->listenflags & GLISTEN_TOGGLE_OFF)) {
pe->type = GEVENT_TOGGLE; pe->type = GEVENT_TOGGLE;
pe->instance = i; pe->instance = i;
pe->on = FALSE; pe->on = FALSE;
geventSendEvent(psl); geventSendEvent(psl);
} }
} }
} }
} }
// Next toggle switch // Next toggle switch
i++; i++;
} }
} }
} }
/* Hardware Toggle/Switch/Button Functions */ /* Hardware Toggle/Switch/Button Functions */
GSourceHandle ginputGetToggle(uint16_t instance) { GSourceHandle ginputGetToggle(uint16_t instance) {
const GToggleConfig *ptc; const GToggleConfig *ptc;
if (instance >= GINPUT_TOGGLE_NUM_PORTS) if (instance >= GINPUT_TOGGLE_NUM_PORTS)
return 0; return 0;
// Do we need to initialise the toggle subsystem? // Do we need to initialise the toggle subsystem?
if (!gtimerIsActive(&ToggleTimer)) { if (!gtimerIsActive(&ToggleTimer)) {
for(ptc = GInputToggleConfigTable; ptc < GInputToggleConfigTable+sizeof(GInputToggleConfigTable)/sizeof(GInputToggleConfigTable[0]); ptc++) for(ptc = GInputToggleConfigTable; ptc < GInputToggleConfigTable+sizeof(GInputToggleConfigTable)/sizeof(GInputToggleConfigTable[0]); ptc++)
ginput_lld_toggle_init(ptc); ginput_lld_toggle_init(ptc);
gtimerStart(&ToggleTimer, TogglePoll, 0, TRUE, GINPUT_TOGGLE_POLL_PERIOD); gtimerStart(&ToggleTimer, TogglePoll, 0, TRUE, GINPUT_TOGGLE_POLL_PERIOD);
} }
// OK - return this input // OK - return this input
return (GSourceHandle)(ToggleStatus+instance); return (GSourceHandle)(ToggleStatus+instance);
} }
// If invert is true, invert the on/off sense for the toggle // If invert is true, invert the on/off sense for the toggle
void ginputInvertToggle(uint16_t instance, bool_t invert) { void ginputInvertToggle(uint16_t instance, bool_t invert) {
if (instance >= GINPUT_TOGGLE_NUM_PORTS) if (instance >= GINPUT_TOGGLE_NUM_PORTS)
return; return;
if (invert) { if (invert) {
if (!(ToggleStatus[instance].status & GINPUT_TOGGLE_INVERT)) { if (!(ToggleStatus[instance].status & GINPUT_TOGGLE_INVERT)) {
ToggleStatus[instance].status |= GINPUT_TOGGLE_INVERT; ToggleStatus[instance].status |= GINPUT_TOGGLE_INVERT;
ToggleStatus[instance].status ^= GINPUT_TOGGLE_ISON; ToggleStatus[instance].status ^= GINPUT_TOGGLE_ISON;
} }
} else { } else {
if ((ToggleStatus[instance].status & GINPUT_TOGGLE_INVERT)) { if ((ToggleStatus[instance].status & GINPUT_TOGGLE_INVERT)) {
ToggleStatus[instance].status &= ~GINPUT_TOGGLE_INVERT; ToggleStatus[instance].status &= ~GINPUT_TOGGLE_INVERT;
ToggleStatus[instance].status ^= GINPUT_TOGGLE_ISON; ToggleStatus[instance].status ^= GINPUT_TOGGLE_ISON;
} }
} }
} }
/* Get the current toggle status. /* Get the current toggle status.
* Returns FALSE on error (eg invalid instance) * Returns FALSE on error (eg invalid instance)
*/ */
bool_t ginputGetToggleStatus(uint16_t instance, GEventToggle *ptoggle) { bool_t ginputGetToggleStatus(uint16_t instance, GEventToggle *ptoggle) {
// Win32 threads don't seem to recognise priority and/or pre-emption // Win32 threads don't seem to recognise priority and/or pre-emption
// so we add a sleep here to prevent 100% polled applications from locking up. // so we add a sleep here to prevent 100% polled applications from locking up.
gfxSleepMilliseconds(1); gfxSleepMilliseconds(1);
if (instance >= GINPUT_TOGGLE_NUM_PORTS) if (instance >= GINPUT_TOGGLE_NUM_PORTS)
return FALSE; return FALSE;
ptoggle->type = GEVENT_TOGGLE; ptoggle->type = GEVENT_TOGGLE;
ptoggle->instance = instance; ptoggle->instance = instance;
ptoggle->on = (ToggleStatus[instance].status & GINPUT_TOGGLE_ISON) ? TRUE : FALSE; ptoggle->on = (ToggleStatus[instance].status & GINPUT_TOGGLE_ISON) ? TRUE : FALSE;
return TRUE; return TRUE;
} }
/* Wake up the mouse driver from an interrupt service routine (there may be new readings available) */ /* Wake up the mouse driver from an interrupt service routine (there may be new readings available) */
void ginputToggleWakeup(void) { void ginputToggleWakeup(void) {
gtimerJab(&ToggleTimer); gtimerJab(&ToggleTimer);
} }
/* Wake up the mouse driver from an interrupt service routine (there may be new readings available) */ /* Wake up the mouse driver from an interrupt service routine (there may be new readings available) */
void ginputToggleWakeupI(void) { void ginputToggleWakeupI(void) {
gtimerJabI(&ToggleTimer); gtimerJabI(&ToggleTimer);
} }
#endif /* GFX_USE_GINPUT && GINPUT_NEED_TOGGLE */ #endif /* GFX_USE_GINPUT && GINPUT_NEED_TOGGLE */
/** @} */ /** @} */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/ginput/toggle.h * @file src/ginput/ginput_toggle.h
* @brief GINPUT GFX User Input subsystem header file. * @brief GINPUT GFX User Input subsystem header file.
* *
* @defgroup Toggle Toggle * @defgroup Toggle Toggle

View File

@ -39,10 +39,10 @@
*/ */
// Include various ginput types // Include various ginput types
#include "src/ginput/mouse.h" #include "ginput_mouse.h"
#include "src/ginput/keyboard.h" #include "ginput_keyboard.h"
#include "src/ginput/toggle.h" #include "ginput_toggle.h"
#include "src/ginput/dial.h" #include "ginput_dial.h"
#endif /* GFX_USE_GINPUT */ #endif /* GFX_USE_GINPUT */

View File

@ -1,5 +1,5 @@
GFXSRC += $(GFXLIB)/src/ginput/ginput.c \ GFXSRC += $(GFXLIB)/src/ginput/ginput_ginput.c \
$(GFXLIB)/src/ginput/mouse.c \ $(GFXLIB)/src/ginput/ginput_mouse.c \
$(GFXLIB)/src/ginput/keyboard.c \ $(GFXLIB)/src/ginput/ginput_keyboard.c \
$(GFXLIB)/src/ginput/toggle.c \ $(GFXLIB)/src/ginput/ginput_toggle.c \
$(GFXLIB)/src/ginput/dial.c $(GFXLIB)/src/ginput/ginput_dial.c

View File

@ -1,226 +1,226 @@
/* /*
* This file is subject to the terms of the GFX License. If a copy of * 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: * the license was not distributed with this file, you can obtain one at:
* *
* http://ugfx.org/license.html * http://ugfx.org/license.html
*/ */
/** /**
* @file src/gmisc/arrayops.c * @file src/gmisc/gmisc_arrayops.c
* @brief GMISC Array Operations code. * @brief GMISC Array Operations code.
* *
* @addtogroup GMISC * @addtogroup GMISC
* @{ * @{
*/ */
#include "gfx.h" #include "gfx.h"
#if GFX_USE_GMISC && GMISC_NEED_ARRAYOPS #if GFX_USE_GMISC && GMISC_NEED_ARRAYOPS
void gmiscArrayConvert(ArrayDataFormat srcfmt, void *src, ArrayDataFormat dstfmt, void *dst, size_t cnt) { void gmiscArrayConvert(ArrayDataFormat srcfmt, void *src, ArrayDataFormat dstfmt, void *dst, size_t cnt) {
uint8_t *src8, *dst8; uint8_t *src8, *dst8;
uint16_t *src16, *dst16; uint16_t *src16, *dst16;
dst8 = dst; dst8 = dst;
dst16 = dst; dst16 = dst;
src8 = src; src8 = src;
src16 = src; src16 = src;
/* We do this as a big switch in order to optimise efficiency for each transfer type */ /* We do this as a big switch in order to optimise efficiency for each transfer type */
switch(dstfmt) { switch(dstfmt) {
case ARRAY_DATA_4BITUNSIGNED: case ARRAY_DATA_4BITUNSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break; case ARRAY_DATA_4BITUNSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8); } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8); } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst8++ = *src8++ >> 4; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst8++ = *src8++ >> 4; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128) >> 4; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128) >> 4; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 6; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 6; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 8; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 8; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 10; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 10; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 10; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 10; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 12; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 12; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 12; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 12; } break;
} }
break; break;
case ARRAY_DATA_4BITSIGNED: case ARRAY_DATA_4BITSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8); } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8); } break;
case ARRAY_DATA_4BITSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break; case ARRAY_DATA_4BITSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128) >> 4; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128) >> 4; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst8++ = *src8++ >> 4; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst8++ = *src8++ >> 4; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 6; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 6; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 8; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 8; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 10; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 10; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 10; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 10; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 12; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 12; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 12; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 12; } break;
} }
break; break;
case ARRAY_DATA_8BITUNSIGNED: case ARRAY_DATA_8BITUNSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst8++ = *src8++ << 4; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst8++ = *src8++ << 4; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8) << 4; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8) << 4; } break;
case ARRAY_DATA_8BITUNSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break; case ARRAY_DATA_8BITUNSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128); } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128); } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 2; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 2; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 2; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 2; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 4; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 4; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 4; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 4; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 6; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 6; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 8; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 8; } break;
} }
break; break;
case ARRAY_DATA_8BITSIGNED: case ARRAY_DATA_8BITSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8) << 4; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 8) << 4; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst8++ = *src8++ << 4; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst8++ = *src8++ << 4; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128); } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst8++ = (*src8++ ^ 128); } break;
case ARRAY_DATA_8BITSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break; case ARRAY_DATA_8BITSIGNED: if (dst != src) while(cnt--) { *dst8++ = *src8++; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 2; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 2; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 2; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 2; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 4; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 4; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 4; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 4; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 6; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 6; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 6; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 8; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 8; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst8++ = *src16++ >> 8; } break;
} }
break; break;
case ARRAY_DATA_10BITUNSIGNED: case ARRAY_DATA_10BITUNSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 6; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 6; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 2; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 2; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 2; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 2; } break;
case ARRAY_DATA_10BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_10BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512); } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512); } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 4; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 4; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 6; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 6; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 6; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 6; } break;
} }
break; break;
case ARRAY_DATA_10BITSIGNED: case ARRAY_DATA_10BITSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 6; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 6; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 2; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 2; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 2; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 2; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512); } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512); } break;
case ARRAY_DATA_10BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_10BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 4; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 4; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 6; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 6; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 6; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 6; } break;
} }
break; break;
case ARRAY_DATA_12BITUNSIGNED: case ARRAY_DATA_12BITUNSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 8; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 8; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 4; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 4; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 4; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 4; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 2; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 2; } break;
case ARRAY_DATA_12BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_12BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048); } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048); } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 4; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 4; } break;
} }
break; break;
case ARRAY_DATA_12BITSIGNED: case ARRAY_DATA_12BITSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 8; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 8; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 4; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 4; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 4; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 4; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 2; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 2; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048); } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048); } break;
case ARRAY_DATA_12BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_12BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 4; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 4; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 4; } break;
} }
break; break;
case ARRAY_DATA_14BITUNSIGNED: case ARRAY_DATA_14BITUNSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 10; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 10; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 10; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 10; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 6; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 6; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 4; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 4; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; } break;
case ARRAY_DATA_14BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_14BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192); } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192); } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 2; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 2; } break;
} }
break; break;
case ARRAY_DATA_14BITSIGNED: case ARRAY_DATA_14BITSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 10; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 10; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 10; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 10; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 6; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 6; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 6; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 4; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 4; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) << 2; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) << 2; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 2; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192); } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192); } break;
case ARRAY_DATA_14BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_14BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 2; } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 2; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
} }
break; break;
case ARRAY_DATA_16BITUNSIGNED: case ARRAY_DATA_16BITUNSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 12; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 12; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 12; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 12; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 8; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 8; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 6; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 6; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 6; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 6; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 4; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 4; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; } break;
case ARRAY_DATA_16BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_16BITUNSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768); } break; case ARRAY_DATA_16BITSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768); } break;
} }
break; break;
case ARRAY_DATA_16BITSIGNED: case ARRAY_DATA_16BITSIGNED:
switch(srcfmt) { switch(srcfmt) {
case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 12; } break; case ARRAY_DATA_4BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 8) << 12; } break;
case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 12; } break; case ARRAY_DATA_4BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 12; } break;
case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 8; } break; case ARRAY_DATA_8BITUNSIGNED: while(cnt--) { *dst16++ = (*src8++ ^ 128) << 8; } break;
case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break; case ARRAY_DATA_8BITSIGNED: while(cnt--) { *dst16++ = *src8++ << 8; } break;
case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 6; } break; case ARRAY_DATA_10BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 512) << 6; } break;
case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 6; } break; case ARRAY_DATA_10BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 6; } break;
case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) << 4; } break; case ARRAY_DATA_12BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 2048) << 4; } break;
case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break; case ARRAY_DATA_12BITSIGNED: while(cnt--) { *dst16++ = *src16++ << 4; } break;
case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) << 2; } break; case ARRAY_DATA_14BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 8192) << 2; } break;
case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break; case ARRAY_DATA_14BITSIGNED: while(cnt--) { *dst16++ = *src16++ >> 2; } break;
case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768); } break; case ARRAY_DATA_16BITUNSIGNED: while(cnt--) { *dst16++ = (*src16++ ^ 32768); } break;
case ARRAY_DATA_16BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break; case ARRAY_DATA_16BITSIGNED: if (dst != src) while(cnt--) { *dst16++ = *src16++; } break;
} }
break; break;
} }
} }
#endif /* GFX_USE_GMISC && GMISC_NEED_ARRAYOPS */ #endif /* GFX_USE_GMISC && GMISC_NEED_ARRAYOPS */
/** @} */ /** @} */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gmisc/gmisc.c * @file src/gmisc/gmisc_gmisc.c
* @brief GMISC Functions. * @brief GMISC Functions.
* *
*/ */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gmisc/trig.c * @file src/gmisc/gmisc_trig.c
* @brief GMISC Trig Functions. * @brief GMISC Trig Functions.
* *
* @addtogroup GMISC * @addtogroup GMISC

View File

@ -1,3 +1,3 @@
GFXSRC += $(GFXLIB)/src/gmisc/gmisc.c \ GFXSRC += $(GFXLIB)/src/gmisc/gmisc_gmisc.c \
$(GFXLIB)/src/gmisc/arrayops.c \ $(GFXLIB)/src/gmisc/gmisc_arrayops.c \
$(GFXLIB)/src/gmisc/trig.c $(GFXLIB)/src/gmisc/gmisc_trig.c

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gqueue/gqueue.c * @file src/gqueue/gqueue_gqueue.c
* @brief GQUEUE source file. * @brief GQUEUE source file.
*/ */

View File

@ -1 +1 @@
GFXSRC += $(GFXLIB)/src/gqueue/gqueue.c GFXSRC += $(GFXLIB)/src/gqueue/gqueue_gqueue.c

View File

@ -1,238 +1,238 @@
/* /*
* This file is subject to the terms of the GFX License. If a copy of * 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: * the license was not distributed with this file, you can obtain one at:
* *
* http://ugfx.org/license.html * http://ugfx.org/license.html
*/ */
/** /**
* @file src/gtimer/gtimer.c * @file src/gtimer/gtimer_gtimer.c
* @brief GTIMER sub-system code. * @brief GTIMER sub-system code.
* *
* @addtogroup GTIMER * @addtogroup GTIMER
* @{ * @{
*/ */
#include "gfx.h" #include "gfx.h"
#if GFX_USE_GTIMER || defined(__DOXYGEN__) #if GFX_USE_GTIMER || defined(__DOXYGEN__)
#define GTIMER_FLG_PERIODIC 0x0001 #define GTIMER_FLG_PERIODIC 0x0001
#define GTIMER_FLG_INFINITE 0x0002 #define GTIMER_FLG_INFINITE 0x0002
#define GTIMER_FLG_JABBED 0x0004 #define GTIMER_FLG_JABBED 0x0004
#define GTIMER_FLG_SCHEDULED 0x0008 #define GTIMER_FLG_SCHEDULED 0x0008
/* Don't rework this macro to use a ternary operator - the gcc compiler stuffs it up */ /* Don't rework this macro to use a ternary operator - the gcc compiler stuffs it up */
#define TimeIsWithin(x, start, end) ((end >= start && x >= start && x <= end) || (end < start && (x >= start || x <= end))) #define TimeIsWithin(x, start, end) ((end >= start && x >= start && x <= end) || (end < start && (x >= start || x <= end)))
/* This mutex protects access to our tables */ /* This mutex protects access to our tables */
static gfxMutex mutex; static gfxMutex mutex;
static gfxThreadHandle hThread = 0; static gfxThreadHandle hThread = 0;
static GTimer *pTimerHead = 0; static GTimer *pTimerHead = 0;
static gfxSem waitsem; static gfxSem waitsem;
static DECLARE_THREAD_STACK(waTimerThread, GTIMER_THREAD_WORKAREA_SIZE); static DECLARE_THREAD_STACK(waTimerThread, GTIMER_THREAD_WORKAREA_SIZE);
/*===========================================================================*/ /*===========================================================================*/
/* Driver local functions. */ /* Driver local functions. */
/*===========================================================================*/ /*===========================================================================*/
static DECLARE_THREAD_FUNCTION(GTimerThreadHandler, arg) { static DECLARE_THREAD_FUNCTION(GTimerThreadHandler, arg) {
(void)arg; (void)arg;
GTimer *pt; GTimer *pt;
systemticks_t tm; systemticks_t tm;
systemticks_t nxtTimeout; systemticks_t nxtTimeout;
systemticks_t lastTime; systemticks_t lastTime;
GTimerFunction fn; GTimerFunction fn;
void *param; void *param;
nxtTimeout = TIME_INFINITE; nxtTimeout = TIME_INFINITE;
lastTime = 0; lastTime = 0;
while(1) { while(1) {
/* Wait for work to do. */ /* Wait for work to do. */
gfxYield(); // Give someone else a go no matter how busy we are gfxYield(); // Give someone else a go no matter how busy we are
gfxSemWait(&waitsem, nxtTimeout); gfxSemWait(&waitsem, nxtTimeout);
restartTimerChecks: restartTimerChecks:
// Our reference time // Our reference time
tm = gfxSystemTicks(); tm = gfxSystemTicks();
nxtTimeout = TIME_INFINITE; nxtTimeout = TIME_INFINITE;
/* We need to obtain the mutex */ /* We need to obtain the mutex */
gfxMutexEnter(&mutex); gfxMutexEnter(&mutex);
if (pTimerHead) { if (pTimerHead) {
pt = pTimerHead; pt = pTimerHead;
do { do {
// Do we have something to do for this timer? // Do we have something to do for this timer?
if ((pt->flags & GTIMER_FLG_JABBED) || (!(pt->flags & GTIMER_FLG_INFINITE) && TimeIsWithin(pt->when, lastTime, tm))) { if ((pt->flags & GTIMER_FLG_JABBED) || (!(pt->flags & GTIMER_FLG_INFINITE) && TimeIsWithin(pt->when, lastTime, tm))) {
// Is this timer periodic? // Is this timer periodic?
if ((pt->flags & GTIMER_FLG_PERIODIC) && pt->period != TIME_IMMEDIATE) { if ((pt->flags & GTIMER_FLG_PERIODIC) && pt->period != TIME_IMMEDIATE) {
// Yes - Update ready for the next period // Yes - Update ready for the next period
if (!(pt->flags & GTIMER_FLG_INFINITE)) { if (!(pt->flags & GTIMER_FLG_INFINITE)) {
// We may have skipped a period. // We may have skipped a period.
// We use this complicated formulae rather than a loop // We use this complicated formulae rather than a loop
// because the gcc compiler stuffs up the loop so that it // because the gcc compiler stuffs up the loop so that it
// either loops forever or doesn't get executed at all. // either loops forever or doesn't get executed at all.
pt->when += ((tm + pt->period - pt->when) / pt->period) * pt->period; pt->when += ((tm + pt->period - pt->when) / pt->period) * pt->period;
} }
// We are definitely no longer jabbed // We are definitely no longer jabbed
pt->flags &= ~GTIMER_FLG_JABBED; pt->flags &= ~GTIMER_FLG_JABBED;
} else { } else {
// No - get us off the timers list // No - get us off the timers list
if (pt->next == pt->prev) if (pt->next == pt->prev)
pTimerHead = 0; pTimerHead = 0;
else { else {
pt->next->prev = pt->prev; pt->next->prev = pt->prev;
pt->prev->next = pt->next; pt->prev->next = pt->next;
if (pTimerHead == pt) if (pTimerHead == pt)
pTimerHead = pt->next; pTimerHead = pt->next;
} }
pt->flags = 0; pt->flags = 0;
} }
// Call the callback function // Call the callback function
fn = pt->fn; fn = pt->fn;
param = pt->param; param = pt->param;
gfxMutexExit(&mutex); gfxMutexExit(&mutex);
fn(param); fn(param);
// We no longer hold the mutex, the callback function may have taken a while // We no longer hold the mutex, the callback function may have taken a while
// and our list may have been altered so start again! // and our list may have been altered so start again!
goto restartTimerChecks; goto restartTimerChecks;
} }
// Find when we next need to wake up // Find when we next need to wake up
if (!(pt->flags & GTIMER_FLG_INFINITE) && pt->when - tm < nxtTimeout) if (!(pt->flags & GTIMER_FLG_INFINITE) && pt->when - tm < nxtTimeout)
nxtTimeout = pt->when - tm; nxtTimeout = pt->when - tm;
pt = pt->next; pt = pt->next;
} while(pt != pTimerHead); } while(pt != pTimerHead);
} }
// Ready for the next loop // Ready for the next loop
lastTime = tm; lastTime = tm;
gfxMutexExit(&mutex); gfxMutexExit(&mutex);
} }
return 0; return 0;
} }
void _gtimerInit(void) void _gtimerInit(void)
{ {
gfxSemInit(&waitsem, 0, 1); gfxSemInit(&waitsem, 0, 1);
gfxMutexInit(&mutex); gfxMutexInit(&mutex);
} }
void _gtimerDeinit(void) void _gtimerDeinit(void)
{ {
gfxSemDestroy(&waitsem); gfxSemDestroy(&waitsem);
gfxMutexDestroy(&mutex); gfxMutexDestroy(&mutex);
// Need to destroy GTimer thread here // Need to destroy GTimer thread here
} }
void gtimerInit(GTimer* pt) void gtimerInit(GTimer* pt)
{ {
pt->flags = 0; pt->flags = 0;
} }
void gtimerDeinit(GTimer* pt) void gtimerDeinit(GTimer* pt)
{ {
gtimerStop(pt); gtimerStop(pt);
} }
void gtimerStart(GTimer *pt, GTimerFunction fn, void *param, bool_t periodic, delaytime_t millisec) { void gtimerStart(GTimer *pt, GTimerFunction fn, void *param, bool_t periodic, delaytime_t millisec) {
gfxMutexEnter(&mutex); gfxMutexEnter(&mutex);
// Start our thread if not already going // Start our thread if not already going
if (!hThread) { if (!hThread) {
hThread = gfxThreadCreate(waTimerThread, sizeof(waTimerThread), GTIMER_THREAD_PRIORITY, GTimerThreadHandler, 0); hThread = gfxThreadCreate(waTimerThread, sizeof(waTimerThread), GTIMER_THREAD_PRIORITY, GTimerThreadHandler, 0);
if (hThread) {gfxThreadClose(hThread);} // We never really need the handle again if (hThread) {gfxThreadClose(hThread);} // We never really need the handle again
} }
// Is this already scheduled? // Is this already scheduled?
if (pt->flags & GTIMER_FLG_SCHEDULED) { if (pt->flags & GTIMER_FLG_SCHEDULED) {
// Cancel it! // Cancel it!
if (pt->next == pt->prev) if (pt->next == pt->prev)
pTimerHead = 0; pTimerHead = 0;
else { else {
pt->next->prev = pt->prev; pt->next->prev = pt->prev;
pt->prev->next = pt->next; pt->prev->next = pt->next;
if (pTimerHead == pt) if (pTimerHead == pt)
pTimerHead = pt->next; pTimerHead = pt->next;
} }
} }
// Set up the timer structure // Set up the timer structure
pt->fn = fn; pt->fn = fn;
pt->param = param; pt->param = param;
pt->flags = GTIMER_FLG_SCHEDULED; pt->flags = GTIMER_FLG_SCHEDULED;
if (periodic) if (periodic)
pt->flags |= GTIMER_FLG_PERIODIC; pt->flags |= GTIMER_FLG_PERIODIC;
if (millisec == TIME_INFINITE) { if (millisec == TIME_INFINITE) {
pt->flags |= GTIMER_FLG_INFINITE; pt->flags |= GTIMER_FLG_INFINITE;
pt->period = TIME_INFINITE; pt->period = TIME_INFINITE;
} else { } else {
pt->period = gfxMillisecondsToTicks(millisec); pt->period = gfxMillisecondsToTicks(millisec);
pt->when = gfxSystemTicks() + pt->period; pt->when = gfxSystemTicks() + pt->period;
} }
// Just pop it on the end of the queue // Just pop it on the end of the queue
if (pTimerHead) { if (pTimerHead) {
pt->next = pTimerHead; pt->next = pTimerHead;
pt->prev = pTimerHead->prev; pt->prev = pTimerHead->prev;
pt->prev->next = pt; pt->prev->next = pt;
pt->next->prev = pt; pt->next->prev = pt;
} else } else
pt->next = pt->prev = pTimerHead = pt; pt->next = pt->prev = pTimerHead = pt;
// Bump the thread // Bump the thread
if (!(pt->flags & GTIMER_FLG_INFINITE)) if (!(pt->flags & GTIMER_FLG_INFINITE))
gfxSemSignal(&waitsem); gfxSemSignal(&waitsem);
gfxMutexExit(&mutex); gfxMutexExit(&mutex);
} }
void gtimerStop(GTimer *pt) { void gtimerStop(GTimer *pt) {
gfxMutexEnter(&mutex); gfxMutexEnter(&mutex);
if (pt->flags & GTIMER_FLG_SCHEDULED) { if (pt->flags & GTIMER_FLG_SCHEDULED) {
// Cancel it! // Cancel it!
if (pt->next == pt->prev) if (pt->next == pt->prev)
pTimerHead = 0; pTimerHead = 0;
else { else {
pt->next->prev = pt->prev; pt->next->prev = pt->prev;
pt->prev->next = pt->next; pt->prev->next = pt->next;
if (pTimerHead == pt) if (pTimerHead == pt)
pTimerHead = pt->next; pTimerHead = pt->next;
} }
// Make sure we know the structure is dead! // Make sure we know the structure is dead!
pt->flags = 0; pt->flags = 0;
} }
gfxMutexExit(&mutex); gfxMutexExit(&mutex);
} }
bool_t gtimerIsActive(GTimer *pt) { bool_t gtimerIsActive(GTimer *pt) {
return (pt->flags & GTIMER_FLG_SCHEDULED) ? TRUE : FALSE; return (pt->flags & GTIMER_FLG_SCHEDULED) ? TRUE : FALSE;
} }
void gtimerJab(GTimer *pt) { void gtimerJab(GTimer *pt) {
gfxMutexEnter(&mutex); gfxMutexEnter(&mutex);
// Jab it! // Jab it!
pt->flags |= GTIMER_FLG_JABBED; pt->flags |= GTIMER_FLG_JABBED;
// Bump the thread // Bump the thread
gfxSemSignal(&waitsem); gfxSemSignal(&waitsem);
gfxMutexExit(&mutex); gfxMutexExit(&mutex);
} }
void gtimerJabI(GTimer *pt) { void gtimerJabI(GTimer *pt) {
// Jab it! // Jab it!
pt->flags |= GTIMER_FLG_JABBED; pt->flags |= GTIMER_FLG_JABBED;
// Bump the thread // Bump the thread
gfxSemSignalI(&waitsem); gfxSemSignalI(&waitsem);
} }
#endif /* GFX_USE_GTIMER */ #endif /* GFX_USE_GTIMER */
/** @} */ /** @} */

View File

@ -1 +1 @@
GFXSRC += $(GFXLIB)/src/gtimer/gtimer.c GFXSRC += $(GFXLIB)/src/gtimer/gtimer_gtimer.c

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/button.c * @file src/gwin/gwin_button.c
* @brief GWIN sub-system button code * @brief GWIN sub-system button code
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_BUTTON #if GFX_USE_GWIN && GWIN_NEED_BUTTON
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
// Parameters for various shapes // Parameters for various shapes
#define RND_CNR_SIZE 5 // Rounded corner size for rounded buttons #define RND_CNR_SIZE 5 // Rounded corner size for rounded buttons

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/button.h * @file src/gwin/gwin_button.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup Button Button * @defgroup Button Button
@ -24,7 +24,7 @@
#ifndef _GWIN_BUTTON_H #ifndef _GWIN_BUTTON_H
#define _GWIN_BUTTON_H #define _GWIN_BUTTON_H
/* This file is included within "gwin/gwidget.h" */ /* This file is included within "src/gwin/gwin_widget.h" */
/** /**
* @brief The Event Type for a Button Event * @brief The Event Type for a Button Event

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/checkbox.c * @file src/gwin/gwin_checkbox.c
* @brief GWIN sub-system button code * @brief GWIN sub-system button code
*/ */
@ -14,7 +14,7 @@
#if (GFX_USE_GWIN && GWIN_NEED_CHECKBOX) || defined(__DOXYGEN__) #if (GFX_USE_GWIN && GWIN_NEED_CHECKBOX) || defined(__DOXYGEN__)
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
// Our checked state // Our checked state
#define GCHECKBOX_FLG_CHECKED (GWIN_FIRST_CONTROL_FLAG<<0) #define GCHECKBOX_FLG_CHECKED (GWIN_FIRST_CONTROL_FLAG<<0)

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/checkbox.h * @file src/gwin/gwin_checkbox.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup Checkbox Checkbox * @defgroup Checkbox Checkbox
@ -22,7 +22,7 @@
#ifndef _GWIN_CHECKBOX_H #ifndef _GWIN_CHECKBOX_H
#define _GWIN_CHECKBOX_H #define _GWIN_CHECKBOX_H
/* This file is included within "gwin/gwidget.h" */ /* This file is included within "src/gwin/gwin_widget.h" */
/*===========================================================================*/ /*===========================================================================*/
/* Driver constants. */ /* Driver constants. */

View File

@ -6,7 +6,7 @@
*/ */
/* /*
* @file src/gwin/class_gwin.h * @file src/gwin/gwin_class.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup Internal Internal * @defgroup Internal Internal
@ -14,7 +14,7 @@
* *
* @note These definitions are normally not used by an application program. They are useful * @note These definitions are normally not used by an application program. They are useful
* only if you want to create your own custom GWIN window or widget. * only if you want to create your own custom GWIN window or widget.
* @note To access these definitions you must include "gwin/class_gwin.h" in your source file. * @note To access these definitions you must include "src/gwin/gwin_class.h" in your source file.
* *
* @{ * @{
*/ */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/console.c * @file src/gwin/gwin_console.c
* @brief GWIN sub-system console code. * @brief GWIN sub-system console code.
*/ */
@ -16,7 +16,7 @@
#include <string.h> #include <string.h>
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
#define GWIN_CONSOLE_USE_CLEAR_LINES TRUE // Clear each line before using it #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 #define GWIN_CONSOLE_USE_FILLED_CHARS FALSE // Use filled characters instead of drawn characters

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/console.h * @file src/gwin/gwin_console.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup Console Console * @defgroup Console Console
@ -24,7 +24,7 @@
#ifndef _GWIN_CONSOLE_H #ifndef _GWIN_CONSOLE_H
#define _GWIN_CONSOLE_H #define _GWIN_CONSOLE_H
/* This file is included within "gwin/gwin.h" */ /* This file is included within "src/gwin/sys_defs.h" */
// A console window. Supports wrapped text writing and a cursor. // A console window. Supports wrapped text writing and a cursor.
typedef struct GConsoleObject { typedef struct GConsoleObject {

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/gcontainer.c * @file src/gwin/gwin_container.c
* @brief GWIN sub-system container code * @brief GWIN sub-system container code
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_CONTAINERS #if GFX_USE_GWIN && GWIN_NEED_CONTAINERS
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
void _gcontainerInit(void) void _gcontainerInit(void)
{ {

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/gcontainer.h * @file src/gwin/gwin_container.h
* *
* @defgroup Container Container * @defgroup Container Container
* @ingroup Containers * @ingroup Containers
@ -21,7 +21,7 @@
#ifndef _GCONTAINER_H #ifndef _GCONTAINER_H
#define _GCONTAINER_H #define _GCONTAINER_H
/* This file is included within "gwin/gwin.h" */ /* This file is included within "src/gwin/sys_defs.h" */
// Forward definition // Forward definition
struct GContainerObject; struct GContainerObject;
@ -154,7 +154,7 @@ extern "C" {
/* Include extra container types */ /* Include extra container types */
#if GWIN_NEED_FRAME || defined(__DOXYGEN__) #if GWIN_NEED_FRAME || defined(__DOXYGEN__)
#include "src/gwin/frame.h" #include "gwin_frame.h"
#endif #endif
#endif /* _GCONTAINER_H */ #endif /* _GCONTAINER_H */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/frame.c * @file src/gwin/gwin_frame.c
* @brief GWIN sub-system frame code. * @brief GWIN sub-system frame code.
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_FRAME #if GFX_USE_GWIN && GWIN_NEED_FRAME
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
/* Some position values */ /* Some position values */
#define BUTTON_X 18 // Button Width #define BUTTON_X 18 // Button Width

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/frame.h * @file src/gwin/gwin_frame.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup Frame Frame * @defgroup Frame Frame
@ -23,6 +23,8 @@
#ifndef _GWIN_FRAME_H #ifndef _GWIN_FRAME_H
#define _GWIN_FRAME_H #define _GWIN_FRAME_H
/* This file is included from src/gwin/gwin_container.h */
/** /**
* @brief Flags for gwinFrameCreate() * @brief Flags for gwinFrameCreate()
* @{ * @{

View File

@ -18,7 +18,7 @@
#error "GWIN: GL3D only support GDISP_PIXELFORMAT_RGB565 color format (TinyGL limitation)" #error "GWIN: GL3D only support GDISP_PIXELFORMAT_RGB565 color format (TinyGL limitation)"
#endif #endif
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
#include "3rdparty/tinygl-0.4-ugfx/src/zgl.h" #include "3rdparty/tinygl-0.4-ugfx/src/zgl.h"

View File

@ -22,7 +22,7 @@
#ifndef _GWIN_GL3D_H #ifndef _GWIN_GL3D_H
#define _GWIN_GL3D_H #define _GWIN_GL3D_H
/* This file is included within "gwin/gwin.h" */ /* This file is included within "src/gwin/sys_defs.h" */
// A gl3d window // A gl3d window

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/graph.c * @file src/gwin/gwin_graph.c
* @brief GWIN sub-system button code * @brief GWIN sub-system button code
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_GRAPH #if GFX_USE_GWIN && GWIN_NEED_GRAPH
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
#define GGRAPH_FLG_CONNECTPOINTS (GWIN_FIRST_CONTROL_FLAG<<0) #define GGRAPH_FLG_CONNECTPOINTS (GWIN_FIRST_CONTROL_FLAG<<0)
#define GGRAPH_ARROW_SIZE 5 #define GGRAPH_ARROW_SIZE 5

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/graph.h * @file src/gwin/gwin_graph.h
* @brief GWIN GRAPH module header file * @brief GWIN GRAPH module header file
* *
* @defgroup Graph Graph * @defgroup Graph Graph
@ -22,7 +22,7 @@
#ifndef _GWIN_GRAPH_H #ifndef _GWIN_GRAPH_H
#define _GWIN_GRAPH_H #define _GWIN_GRAPH_H
/* This file is included within "gwin/gwin.h" */ /* This file is included within "src/gwin/sys_defs.h" */
typedef enum GGraphPointType_e { typedef enum GGraphPointType_e {
GGRAPH_POINT_NONE, GGRAPH_POINT_DOT, GGRAPH_POINT_SQUARE, GGRAPH_POINT_CIRCLE GGRAPH_POINT_NONE, GGRAPH_POINT_DOT, GGRAPH_POINT_SQUARE, GGRAPH_POINT_CIRCLE

View File

@ -5,11 +5,16 @@
* http://ugfx.org/license.html * http://ugfx.org/license.html
*/ */
/**
* @file src/gwin/gwin_gwin.c
* @brief GWIN sub-system code
*/
#include "gfx.h" #include "gfx.h"
#if GFX_USE_GWIN #if GFX_USE_GWIN
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
/*----------------------------------------------- /*-----------------------------------------------
* Data * Data

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/gimage.c * @file src/gwin/gwin_image.c
* @brief GWIN sub-system image code * @brief GWIN sub-system image code
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_IMAGE #if GFX_USE_GWIN && GWIN_NEED_IMAGE
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
#define widget(gh) ((GImageObject *)gh) #define widget(gh) ((GImageObject *)gh)

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/gimage.h * @file src/gwin/gwin_image.h
* @brief GWIN image widget header file. * @brief GWIN image widget header file.
* *
* @defgroup ImageBox ImageBox * @defgroup ImageBox ImageBox
@ -27,7 +27,7 @@
#ifndef _GWIN_IMAGE_H #ifndef _GWIN_IMAGE_H
#define _GWIN_IMAGE_H #define _GWIN_IMAGE_H
// This file is included within "gwin/gwin.h" // This file is included within "src/gwin/sys_defs.h"
// An image window // An image window
typedef struct GImageObject { typedef struct GImageObject {

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/label.c * @file src/gwin/gwin_label.c
* @brief GWIN label widget header file * @brief GWIN label widget header file
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_LABEL #if GFX_USE_GWIN && GWIN_NEED_LABEL
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
// macros to assist in data type conversions // macros to assist in data type conversions
#define gh2obj ((GLabelObject *)gh) #define gh2obj ((GLabelObject *)gh)

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/label.h * @file src/gwin/gwin_label.h
* @brief GWIN label widget header file * @brief GWIN label widget header file
* *
* @defgroup Label Label * @defgroup Label Label
@ -27,7 +27,7 @@
#ifndef _GWIN_LABEL_H #ifndef _GWIN_LABEL_H
#define _GWIN_LABEL_H #define _GWIN_LABEL_H
// This file is included within "gwin/gwin.h" // This file is included within "src/gwin/gwin_widget.h"
// An label window // An label window
typedef struct GLabelObject { typedef struct GLabelObject {

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/list.c * @file src/gwin/gwin_list.c
* @brief GWIN list widget header file * @brief GWIN list widget header file
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_LIST #if GFX_USE_GWIN && GWIN_NEED_LIST
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/list.h * @file src/gwin/gwin_list.h
* @brief GWIN list widget header file * @brief GWIN list widget header file
* *
* @defgroup List List * @defgroup List List
@ -26,7 +26,7 @@
#ifndef _GWIN_LIST_H #ifndef _GWIN_LIST_H
#define _GWIN_LIST_H #define _GWIN_LIST_H
// This file is included within "gwin/gwin.h" // This file is included within "src/gwin/gwin_widget.h"
/** /**
* @brief The event type for a list event * @brief The event type for a list event

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/progressbar.c * @file src/gwin/gwin_progressbar.c
* @brief GWIN sub-system progressbar code * @brief GWIN sub-system progressbar code
*/ */
@ -14,7 +14,7 @@
#if (GFX_USE_GWIN && GWIN_NEED_PROGRESSBAR) || defined(__DOXYGEN__) #if (GFX_USE_GWIN && GWIN_NEED_PROGRESSBAR) || defined(__DOXYGEN__)
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
// Reset the display position back to the value predicted by the saved progressbar position // Reset the display position back to the value predicted by the saved progressbar position
static void ResetDisplayPos(GProgressbarObject *gsw) { static void ResetDisplayPos(GProgressbarObject *gsw) {

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/progressbar.h * @file src/gwin/gwin_progressbar.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup Progressbar Progressbar * @defgroup Progressbar Progressbar
@ -22,6 +22,7 @@
#ifndef _GWIN_PROGRESSBAR_H #ifndef _GWIN_PROGRESSBAR_H
#define _GWIN_PROGRESSBAR_H #define _GWIN_PROGRESSBAR_H
/* This file is included within src/gwin/gwin_widget.h */
// A progressbar window // A progressbar window
typedef struct GProgressbarObject { typedef struct GProgressbarObject {
GWidgetObject w; GWidgetObject w;

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/radio.c * @file src/gwin/gwin_radio.c
* @brief GWIN sub-system radio button code * @brief GWIN sub-system radio button code
*/ */
@ -14,7 +14,7 @@
#if GFX_USE_GWIN && GWIN_NEED_RADIO #if GFX_USE_GWIN && GWIN_NEED_RADIO
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
#define GRADIO_TAB_CNR 8 // Diagonal corner on active tab #define GRADIO_TAB_CNR 8 // Diagonal corner on active tab
#define GRADIO_TOP_FADE 50 // (GRADIO_TOP_FADE/255)% fade to white for top of tab/button #define GRADIO_TOP_FADE 50 // (GRADIO_TOP_FADE/255)% fade to white for top of tab/button

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/radio.h * @file src/gwin/gwin_radio.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup RadioButton RadioButton * @defgroup RadioButton RadioButton
@ -22,7 +22,7 @@
#ifndef _GWIN_RADIO_H #ifndef _GWIN_RADIO_H
#define _GWIN_RADIO_H #define _GWIN_RADIO_H
/* This file is included within "gwin/gwidget.h" */ /* This file is included within "src/gwin/gwin_widget.h" */
/** /**
* @brief The Event Type for a Radio Event * @brief The Event Type for a Radio Event

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/slider.c * @file src/gwin/gwin_slider.c
* @brief GWIN sub-system slider code * @brief GWIN sub-system slider code
*/ */
@ -14,7 +14,7 @@
#if (GFX_USE_GWIN && GWIN_NEED_SLIDER) || defined(__DOXYGEN__) #if (GFX_USE_GWIN && GWIN_NEED_SLIDER) || defined(__DOXYGEN__)
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
#ifndef GWIN_SLIDER_DEAD_BAND #ifndef GWIN_SLIDER_DEAD_BAND
#define GWIN_SLIDER_DEAD_BAND 5 #define GWIN_SLIDER_DEAD_BAND 5

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/slider.h * @file src/gwin/gwin_slider.h
* @brief GWIN Graphic window subsystem header file. * @brief GWIN Graphic window subsystem header file.
* *
* @defgroup Slider Slider * @defgroup Slider Slider
@ -22,7 +22,7 @@
#ifndef _GWIN_SLIDER_H #ifndef _GWIN_SLIDER_H
#define _GWIN_SLIDER_H #define _GWIN_SLIDER_H
/* This file is included within "gwin/gwidget.h" */ /* This file is included within "src/gwin/gwin_widget.h" */
#define GEVENT_GWIN_SLIDER (GEVENT_GWIN_CTRL_FIRST+1) #define GEVENT_GWIN_SLIDER (GEVENT_GWIN_CTRL_FIRST+1)

View File

@ -5,13 +5,18 @@
* http://ugfx.org/license.html * http://ugfx.org/license.html
*/ */
/**
* @file src/gwin/gwin_widget.c
* @brief GWIN sub-system widget code
*/
#include "gfx.h" #include "gfx.h"
#if GFX_USE_GWIN && GWIN_NEED_WIDGET #if GFX_USE_GWIN && GWIN_NEED_WIDGET
#include <string.h> #include <string.h>
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
/* Our listener for events for widgets */ /* Our listener for events for widgets */
static GListener gl; static GListener gl;

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* @file src/gwin/gwidget.h * @file src/gwin/gwin_widget.h
* @brief GWIN Widgets header file. * @brief GWIN Widgets header file.
* *
* @defgroup Widget Widget * @defgroup Widget Widget
@ -23,7 +23,7 @@
#ifndef _GWIDGET_H #ifndef _GWIDGET_H
#define _GWIDGET_H #define _GWIDGET_H
/* This file is included within "gwin/gwin.h" */ /* This file is included within "src/gwin/sys_defs.h" */
// Forward definition // Forward definition
struct GWidgetObject; struct GWidgetObject;
@ -360,31 +360,31 @@ bool_t gwinAttachListener(GListener *pl);
/* Include extra widget types */ /* Include extra widget types */
#if GWIN_NEED_BUTTON || defined(__DOXYGEN__) #if GWIN_NEED_BUTTON || defined(__DOXYGEN__)
#include "src/gwin/button.h" #include "gwin_button.h"
#endif #endif
#if GWIN_NEED_SLIDER || defined(__DOXYGEN__) #if GWIN_NEED_SLIDER || defined(__DOXYGEN__)
#include "src/gwin/slider.h" #include "gwin_slider.h"
#endif #endif
#if GWIN_NEED_CHECKBOX || defined(__DOXYGEN__) #if GWIN_NEED_CHECKBOX || defined(__DOXYGEN__)
#include "src/gwin/checkbox.h" #include "gwin_checkbox.h"
#endif #endif
#if GWIN_NEED_RADIO || defined(__DOXYGEN__) #if GWIN_NEED_RADIO || defined(__DOXYGEN__)
#include "src/gwin/radio.h" #include "gwin_radio.h"
#endif #endif
#if GWIN_NEED_LABEL || defined(__DOXYGEN__) #if GWIN_NEED_LABEL || defined(__DOXYGEN__)
#include "src/gwin/label.h" #include "gwin_label.h"
#endif #endif
#if GWIN_NEED_LIST || defined(__DOXYGEN__) #if GWIN_NEED_LIST || defined(__DOXYGEN__)
#include "src/gwin/list.h" #include "gwin_list.h"
#endif #endif
#if GWIN_NEED_PROGRESSBAR || defined(__DOXYGEN__) #if GWIN_NEED_PROGRESSBAR || defined(__DOXYGEN__)
#include "src/gwin/progressbar.h" #include "gwin_progressbar.h"
#endif #endif
#endif /* _GWIDGET_H */ #endif /* _GWIDGET_H */

View File

@ -5,6 +5,11 @@
* http://ugfx.org/license.html * http://ugfx.org/license.html
*/ */
/**
* @file src/gwin/gwin_wm.c
* @brief GWIN sub-system window manager code
*/
#include "gfx.h" #include "gfx.h"
#if GFX_USE_GWIN && !GWIN_NEED_WINDOWMANAGER #if GFX_USE_GWIN && !GWIN_NEED_WINDOWMANAGER
@ -13,7 +18,7 @@
*/ */
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
// Needed if there is no window manager // Needed if there is no window manager
#define MIN_WIN_WIDTH 1 #define MIN_WIN_WIDTH 1
@ -147,7 +152,7 @@
#if GFX_USE_GWIN && GWIN_NEED_WINDOWMANAGER #if GFX_USE_GWIN && GWIN_NEED_WINDOWMANAGER
#include "src/gwin/class_gwin.h" #include "gwin_class.h"
/*----------------------------------------------- /*-----------------------------------------------
* Data * Data

View File

@ -950,26 +950,26 @@ extern "C" {
/* Include widgets */ /* Include widgets */
#if GWIN_NEED_WIDGET || defined(__DOXYGEN__) #if GWIN_NEED_WIDGET || defined(__DOXYGEN__)
#include "src/gwin/gwidget.h" #include "gwin_widget.h"
#endif #endif
/* Include containers */ /* Include containers */
#if GWIN_NEED_CONTAINERS || defined(__DOXYGEN__) #if GWIN_NEED_CONTAINERS || defined(__DOXYGEN__)
#include "src/gwin/gcontainer.h" #include "gwin_container.h"
#endif #endif
/* Include vanilla window objects */ /* Include vanilla window objects */
#if GWIN_NEED_CONSOLE || defined(__DOXYGEN__) #if GWIN_NEED_CONSOLE || defined(__DOXYGEN__)
#include "src/gwin/console.h" #include "gwin_console.h"
#endif #endif
#if GWIN_NEED_GRAPH || defined(__DOXYGEN__) #if GWIN_NEED_GRAPH || defined(__DOXYGEN__)
#include "src/gwin/graph.h" #include "gwin_graph.h"
#endif #endif
#if GWIN_NEED_IMAGE || defined(__DOXYGEN__) #if GWIN_NEED_IMAGE || defined(__DOXYGEN__)
#include "src/gwin/gimage.h" #include "gwin_image.h"
#endif #endif
#if GWIN_NEED_GL3D || defined(__DOXYGEN__) #if GWIN_NEED_GL3D || defined(__DOXYGEN__)
#include "src/gwin/gwin_gl3d.h" #include "gwin_gl3d.h"
#endif #endif
#endif /* GFX_USE_GWIN */ #endif /* GFX_USE_GWIN */

View File

@ -1,18 +1,18 @@
GFXSRC += $(GFXLIB)/src/gwin/gwin.c \ GFXSRC += $(GFXLIB)/src/gwin/gwin_gwin.c \
$(GFXLIB)/src/gwin/gwidget.c \ $(GFXLIB)/src/gwin/gwin_widget.c \
$(GFXLIB)/src/gwin/gwm.c \ $(GFXLIB)/src/gwin/gwin_wm.c \
$(GFXLIB)/src/gwin/console.c \ $(GFXLIB)/src/gwin/gwin_console.c \
$(GFXLIB)/src/gwin/graph.c \ $(GFXLIB)/src/gwin/gwin_graph.c \
$(GFXLIB)/src/gwin/button.c \ $(GFXLIB)/src/gwin/gwin_button.c \
$(GFXLIB)/src/gwin/slider.c \ $(GFXLIB)/src/gwin/gwin_slider.c \
$(GFXLIB)/src/gwin/checkbox.c \ $(GFXLIB)/src/gwin/gwin_checkbox.c \
$(GFXLIB)/src/gwin/gimage.c \ $(GFXLIB)/src/gwin/gwin_image.c \
$(GFXLIB)/src/gwin/label.c \ $(GFXLIB)/src/gwin/gwin_label.c \
$(GFXLIB)/src/gwin/radio.c \ $(GFXLIB)/src/gwin/gwin_radio.c \
$(GFXLIB)/src/gwin/list.c \ $(GFXLIB)/src/gwin/gwin_list.c \
$(GFXLIB)/src/gwin/progressbar.c \ $(GFXLIB)/src/gwin/gwin_progressbar.c \
$(GFXLIB)/src/gwin/gcontainer.c \ $(GFXLIB)/src/gwin/gwin_container.c \
$(GFXLIB)/src/gwin/frame.c \ $(GFXLIB)/src/gwin/gwin_frame.c \
$(GFXLIB)/src/gwin/gwin_gl3d.c \ $(GFXLIB)/src/gwin/gwin_gl3d.c \
GFXINC += $(GFXLIB)/3rdparty/tinygl-0.4-ugfx/include GFXINC += $(GFXLIB)/3rdparty/tinygl-0.4-ugfx/include