diff --git a/DemoProc/inc/Resource.h b/DemoProc/inc/Resource.h index 71ebabc..7a15860 100644 --- a/DemoProc/inc/Resource.h +++ b/DemoProc/inc/Resource.h @@ -1,7 +1,7 @@ #ifndef _INCLUDE_RESOURCE_H_ #define _INCLUDE_RESOURCE_H_ -#include "SGUI_Typedef.h" +#include "SGUI_Common.h" #ifdef _SIMPLE_GUI_DEMO_ONLY_ASCII_ #include "DemoResource_ASCII.h" #else diff --git a/GUI/inc/SGUI_Config.h b/GUI/inc/SGUI_Config.h index b5f2daa..e67a2af 100644 --- a/GUI/inc/SGUI_Config.h +++ b/GUI/inc/SGUI_Config.h @@ -54,6 +54,7 @@ * recomended. */ #define SGUI_CONF_BMP_DATA_BUFFER_SIZE (512) +#define SGUI_NUMBER_STR_LENGTH_MAX (12) //=======================================================================// //= Used for SimpleGUI virtual SDK. =// //=======================================================================// diff --git a/GUI/inc/SGUI_IconResource.h b/GUI/inc/SGUI_IconResource.h index f6fa194..e777a8c 100644 --- a/GUI/inc/SGUI_IconResource.h +++ b/GUI/inc/SGUI_IconResource.h @@ -3,7 +3,7 @@ //=======================================================================// //= Include files. =// //=======================================================================// -#include "SGUI_Typedef.h" +#include "SGUI_Common.h" //=======================================================================// //= Public variable declaration. =// @@ -16,6 +16,4 @@ SGUI_BMP_RESOURCE_DECLARE(SGUI_RES_ICON_ERROR_24); SGUI_BMP_RESOURCE_DECLARE(SGUI_RES_ICON_INFORMATION_24); SGUI_BMP_RESOURCE_DECLARE(SGUI_RES_ICON_QUESTION_24); SGUI_BMP_RESOURCE_DECLARE(SGUI_RES_ICON_WARNING_24); -SGUI_BMP_RESOURCE_DECLARE(SGUI_MENU_ICON_MOVEUP_W5H3); -SGUI_BMP_RESOURCE_DECLARE(SGUI_MENU_ICON_MOVEDOWN_W5H3); #endif // _INCLUDE_SGUI_RESOURCE_H_ diff --git a/GUI/inc/SGUI_Typedef.h b/GUI/inc/SGUI_Typedef.h index 09eb44d..23a6c7c 100644 --- a/GUI/inc/SGUI_Typedef.h +++ b/GUI/inc/SGUI_Typedef.h @@ -10,72 +10,8 @@ //=======================================================================// //= User Macro definition. =// //=======================================================================// -#define SGUI_MAX_OF(A, B) (A>B?A:B) -#define SGUI_MIN_OF(A, B) (A0)?RECT_WIDTH(DATA):(RECT_WIDTH(DATA)+RECT_X_START(POS))) -#define RECT_VALID_HEIGHT(DATA, POS) ((RECT_Y_START(POS)>0)?RECT_HEIGHT(DATA):(RECT_HEIGHT(DATA)+RECT_Y_START(POS))) - #define SGUI_DEVPF_IF_DEFINE(R, FN, PARAM) typedef R(*FN)PARAM -#define SGUI_BMP_RESOURCE_DECLARE(NAME) extern const SGUI_BMP_RES NAME -#ifdef SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED -#define SGUI_BMP_RESOURCE_DEFINE(NAME, W, H, D, FGP, ...) const SGUI_BYTE NAME##DATA[] = {__VA_ARGS__};\ - const SGUI_BMP_RES NAME = {W, H, D, FGP, NAME##DATA} -#else -#define SGUI_BMP_RESOURCE_DEFINE(NAME, W, H, FGP, ...) const SGUI_BYTE NAME##DATA[] = {__VA_ARGS__};\ - const SGUI_BMP_RES NAME = {W, H, FGP, NAME##DATA} -#endif // SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED - -#define SGUI_FONT(NAME) SGUI_FONT_##NAME -#define SGUI_FONT_REF(NAME) &SGUI_FONT(NAME) -#define SGUI_FONT_RESOURCE_DECLARE(NAME) extern const SGUI_FONT_RES SGUI_FONT(NAME) - - -#ifdef SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED - #define SGUI_INTERNAL_MONOSPACE_FONT_RESOURCE_DEFINE(NAME,WIDTH,HEIGHT,DEPTH,BLOCKSIZE,DECODER,INDEXMAPPER,SCANMODE,...) \ - static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun);\ - const SGUI_BYTE DATA_##NAME[]={__VA_ARGS__};\ - const SGUI_FONT_RES SGUI_FONT_##NAME={HEIGHT,DEPTH,SGUI_Resource_GetBitmap_##NAME,DECODER};\ - static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun)\ - {\ - SGUI_INT iCharIndex = INDEXMAPPER(uiCode);\ - if(NULL != pBitmapData) {\ - pBitmapData->iHeight = SGUI_FONT_##NAME.iHeight;\ - pBitmapData->iWidth = WIDTH;\ - pBitmapData->uiDepthBits = SGUI_FONT_##NAME.uiDepthBits;\ - if(!bDryRun) {\ - pBitmapData->fnGetPixel = SCANMODE;\ - pBitmapData->pData = DATA_##NAME + iCharIndex*BLOCKSIZE;\ - }\ - }\ - } -#else - #define SGUI_INTERNAL_MONOSPACE_FONT_RESOURCE_DEFINE(NAME,WIDTH,HEIGHT,BLOCKSIZE,DECODER,INDEXMAPPER,SCANMODE,...) \ - static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun);\ - const SGUI_BYTE DATA_##NAME[]={__VA_ARGS__};\ - const SGUI_FONT_RES SGUI_FONT_##NAME={HEIGHT,SGUI_Resource_GetBitmap_##NAME,DECODER};\ - static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun)\ - {\ - SGUI_INT iCharIndex = INDEXMAPPER(uiCode);\ - if(NULL != pBitmapData) {\ - pBitmapData->iHeight = SGUI_FONT_##NAME.iHeight;\ - pBitmapData->iWidth = WIDTH;\ - if(!bDryRun) {\ - pBitmapData->fnGetPixel = SCANMODE;\ - pBitmapData->pData = DATA_##NAME + iCharIndex*BLOCKSIZE;\ - }\ - }\ - } -#endif // SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED - - //=======================================================================// //= Data type definition. =// //=======================================================================// diff --git a/GUI/inc/SGUI_Utility.h b/GUI/inc/SGUI_Utility.h index 633de63..941c2e0 100644 --- a/GUI/inc/SGUI_Utility.h +++ b/GUI/inc/SGUI_Utility.h @@ -9,21 +9,79 @@ //=======================================================================// //= User Macro definition. =// //=======================================================================// -#define NOTICE_ICON_SIZE (16) -#define SGUI_NUMBER_STR_LENGTH_MAX (12) -#define SGUI_MAXCOLOR(D) (1<<(D))-1 -#define SGUI_ISDIGIT(C) (((C>='0')&&(C<='9'))?true:false) -#define SGUI_ISALPHA(C) ((((C>='A')&&(C<='Z'))||((C>='a')&&(C<='z')))?true:false) -#define SGUI_ISHEXDIGIT(C) ((((C>='A')&&(C<='F'))||((C>='a')&&(C<='f'))||((C>='0')&&(C<='9')))?true:false) -#define SGUI_ISUPPER(C) (((C>='A')&&(C<='Z'))?true:false) -#define SGUI_TOUPPER(C) (SGUI_ISUPPER(C)?(C):(C-32)) -#define SGUI_SWAP(A, B) {A=A^B; B=A^B; A=A^B;} +// Character Utilities +#define SGUI_ISDIGIT(C) (((C>='0')&&(C<='9'))?true:false) +#define SGUI_ISALPHA(C) ((((C>='A')&&(C<='Z'))||((C>='a')&&(C<='z')))?true:false) +#define SGUI_ISHEXDIGIT(C) ((((C>='A')&&(C<='F'))||((C>='a')&&(C<='f'))||((C>='0')&&(C<='9')))?true:false) +#define SGUI_ISUPPER(C) (((C>='A')&&(C<='Z'))?true:false) +#define SGUI_TOUPPER(C) (SGUI_ISUPPER(C)?(C):(C-32)) +// Variable Utilities +#define SGUI_SWAP(A, B) {A=A^B; B=A^B; A=A^B;} +#define SGUI_MAXCOLOR(D) (1<<(D))-1 +#define SGUI_MAX_OF(A, B) (A>B?A:B) +#define SGUI_MIN_OF(A, B) (AstParam.stLayout) +// Curve Utilities +#define RANGE_SIZE(RANGE) ((RANGE).iMax-(RANGE).iMin+1) +// Rectangle Utilities +#define RECT_X_START(ST) ((ST).iX) +#define RECT_X_END(RECT) (((RECT).iX + (RECT).iWidth - 1)) +#define RECT_Y_START(ST) ((ST).iY) +#define RECT_Y_END(RECT) (((RECT).iY + (RECT).iHeight - 1)) +#define RECT_WIDTH(ST) ((ST).iWidth) +#define RECT_HEIGHT(ST) ((ST).iHeight) +#define RECT_VALID_WIDTH(DATA, POS) ((RECT_X_START(POS)>0)?RECT_WIDTH(DATA):(RECT_WIDTH(DATA)+RECT_X_START(POS))) +#define RECT_VALID_HEIGHT(DATA, POS) ((RECT_Y_START(POS)>0)?RECT_HEIGHT(DATA):(RECT_HEIGHT(DATA)+RECT_Y_START(POS))) +// Bitmap Utilities +#define SGUI_BMP_RESOURCE_DECLARE(NAME) extern const SGUI_BMP_RES NAME +#ifdef SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED +#define SGUI_BMP_RESOURCE_DEFINE(NAME, W, H, D, FGP, ...) const SGUI_BYTE NAME##DATA[] = {__VA_ARGS__};\ + const SGUI_BMP_RES NAME = {W, H, D, FGP, NAME##DATA} +#else +#define SGUI_BMP_RESOURCE_DEFINE(NAME, W, H, FGP, ...) const SGUI_BYTE NAME##DATA[] = {__VA_ARGS__};\ + const SGUI_BMP_RES NAME = {W, H, FGP, NAME##DATA} +#endif // SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED +// Font Utilities +#define SGUI_FONT(NAME) SGUI_FONT_##NAME +#define SGUI_FONT_REF(NAME) &SGUI_FONT(NAME) +#define SGUI_FONT_RESOURCE_DECLARE(NAME) extern const SGUI_FONT_RES SGUI_FONT(NAME) -#define LAYOUT(POBJ) ((POBJ)->stParam.stLayout) - -//=======================================================================// -//= Public function declaration. =// -//=======================================================================// +#ifdef SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED + #define SGUI_INTERNAL_MONOSPACE_FONT_RESOURCE_DEFINE(NAME,WIDTH,HEIGHT,DEPTH,BLOCKSIZE,DECODER,INDEXMAPPER,SCANMODE,...) \ + static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun);\ + const SGUI_BYTE DATA_##NAME[]={__VA_ARGS__};\ + const SGUI_FONT_RES SGUI_FONT_##NAME={HEIGHT,DEPTH,SGUI_Resource_GetBitmap_##NAME,DECODER};\ + static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun)\ + {\ + SGUI_INT iCharIndex = INDEXMAPPER(uiCode);\ + if(NULL != pBitmapData) {\ + pBitmapData->iHeight = SGUI_FONT_##NAME.iHeight;\ + pBitmapData->iWidth = WIDTH;\ + pBitmapData->uiDepthBits = SGUI_FONT_##NAME.uiDepthBits;\ + if(!bDryRun) {\ + pBitmapData->fnGetPixel = SCANMODE;\ + pBitmapData->pData = DATA_##NAME + iCharIndex*BLOCKSIZE;\ + }\ + }\ + } +#else + #define SGUI_INTERNAL_MONOSPACE_FONT_RESOURCE_DEFINE(NAME,WIDTH,HEIGHT,BLOCKSIZE,DECODER,INDEXMAPPER,SCANMODE,...) \ + static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun);\ + const SGUI_BYTE DATA_##NAME[]={__VA_ARGS__};\ + const SGUI_FONT_RES SGUI_FONT_##NAME={HEIGHT,SGUI_Resource_GetBitmap_##NAME,DECODER};\ + static void SGUI_Resource_GetBitmap_##NAME(SGUI_BMP_RES* pBitmapData,SGUI_UINT32 uiCode,SGUI_BOOL bDryRun)\ + {\ + SGUI_INT iCharIndex = INDEXMAPPER(uiCode);\ + if(NULL != pBitmapData) {\ + pBitmapData->iHeight = SGUI_FONT_##NAME.iHeight;\ + pBitmapData->iWidth = WIDTH;\ + if(!bDryRun) {\ + pBitmapData->fnGetPixel = SCANMODE;\ + pBitmapData->pData = DATA_##NAME + iCharIndex*BLOCKSIZE;\ + }\ + }\ + } +#endif // SGUI_CONF_GRAYSCALE_COLOR_MAPPING_ENABLED //=======================================================================// //= Public function declaration. =// diff --git a/VirtualSDK/Controls/src/wxLCD.cpp b/VirtualSDK/Controls/src/wxLCD.cpp index f2dcca4..a53dbc8 100644 --- a/VirtualSDK/Controls/src/wxLCD.cpp +++ b/VirtualSDK/Controls/src/wxLCD.cpp @@ -8,7 +8,7 @@ //= Include files. =// //=======================================================================// #include "wxLCD.h" -#include "SGUI_Typedef.h" +#include "SGUI_Common.h" #include #include //=======================================================================//