📄 resource.c
字号:
#ifdef _NEED_STOCKBMP_BUTTON
# include "button-flat-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_DOWNARROW
# include "downarrow-flat-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_DOUBLEARROW
# include "updownarrow-flat-bmp.c"
# include "leftrightarrow-flat-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_CHECKMARK
# include "checkmark-flat-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_SPINBOX
# include "spinbox-flat-bmp.c"
#endif
#ifdef __ECOS__
# include "bmps-flat-ecos.c"
#else
# include "bmps-flat.c"
#endif
#include "icons-flat.c"
#elif defined (_PHONE_WINDOW_STYLE)
#ifdef _NEED_STOCKBMP_BUTTON
# include "button-phone-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_PUSHBUTTON
# include "pushbutton-phone-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_DOWNARROW
# include "downarrow-phone-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_DOUBLEARROW
# include "updownarrow-phone-bmp.c"
# include "leftrightarrow-phone-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_CHECKMARK
# include "checkmark-3d-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_TRACKBAR
# include "trackbar-phone-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_SPINBOX
#include "spinbox-phone-bmp.c"
#endif
#include "bmps-phone.c"
#include "icons-3d.c"
#else
#ifdef _NEED_STOCKBMP_BUTTON
# include "button-3d-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_DOWNARROW
# include "downarrow-3d-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_DOUBLEARROW
# include "updownarrow-3d-bmp.c"
# include "leftrightarrow-3d-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_CHECKMARK
# include "checkmark-3d-bmp.c"
#endif
#ifdef _NEED_STOCKBMP_SPINBOX
# include "spinbox-3d-bmp.c"
#endif
#ifdef __ECOS__
# include "bmps-3d-ecos.c"
#else
# include "bmps-3d.c"
#endif
#include "icons-3d.c"
#endif /* _FLAT_WINDOW_STYLE */
#ifdef _NEED_SYSICON_FOLD
# include "fold-ico.c"
# include "unfold-ico.c"
#endif
#ifdef _NEED_SYSICON_FILETYPE
# include "filetype-icons.c"
#endif
#ifdef _NEED_STOCKBMP_LVFOLD
# include "lvfold-bmp.c"
# include "lvunfold-bmp.c"
#endif
static SYSRES sysres_data [] = {
#ifdef _NEED_STOCKBMP_BUTTON
{STOCKBMP_BUTTON, (void*)button_bmp_data, sizeof(button_bmp_data), 0},
#endif
#ifdef _NEED_STOCKBMP_PUSHBUTTON
{STOCKBMP_PUSHBUTTON, (void*)pushbutton_bmp_data, sizeof(pushbutton_bmp_data), 0},
{STOCKBMP_PUSHEDBUTTON, (void*)pushedbutton_bmp_data, sizeof(pushedbutton_bmp_data), 0},
#endif
#ifdef _NEED_STOCKBMP_DOWNARROW
{STOCKBMP_DOWNARROW, (void*)downarrow_bmp_data, sizeof(downarrow_bmp_data), 0},
#endif
#ifdef _NEED_STOCKBMP_DOUBLEARROW
{STOCKBMP_UPDOWNARROW, (void*)updownarrow_bmp_data, sizeof(updownarrow_bmp_data), 0},
{STOCKBMP_LEFTRIGHTARROW, (void*)leftrightarrow_bmp_data, sizeof(leftrightarrow_bmp_data), 0},
#endif
#ifdef _NEED_STOCKBMP_CHECKMARK
{STOCKBMP_CHECKMARK, (void*)checkmark_bmp_data, sizeof(checkmark_bmp_data), 0},
#endif
#ifdef _NEED_STOCKBMP_TRACKBAR
{STOCKBMP_TRACKBAR_HBG, (void*)trackbar_hbg_bmp, sizeof(trackbar_hbg_bmp), 0},
{STOCKBMP_TRACKBAR_HSLIDER, (void*)trackbar_hslider_bmp, sizeof(trackbar_hslider_bmp), 0},
{STOCKBMP_TRACKBAR_VBG, (void*)trackbar_vbg_bmp, sizeof(trackbar_vbg_bmp), 0},
{STOCKBMP_TRACKBAR_VSLIDER, (void*)trackbar_vslider_bmp, sizeof(trackbar_vslider_bmp), 0},
#endif
#ifdef _NEED_STOCKBMP_SPINBOX
{STOCKBMP_SPINBOX_VERT, (void*)spinbox_vert_bmp_data, sizeof(spinbox_vert_bmp_data), 0},
{STOCKBMP_SPINBOX_HORZ, (void*)spinbox_horz_bmp_data, sizeof(spinbox_horz_bmp_data), 0},
#endif
#ifdef _NEED_STOCKBMP_LVFOLD
{STOCKBMP_LVFOLD, (void*)lvfold_bmp_data, sizeof(lvfold_bmp_data), 0},
{STOCKBMP_LVUNFOLD, (void*)lvunfold_bmp_data, sizeof(lvunfold_bmp_data), 0},
#endif
#ifdef _NEED_STOCKBMP_IME
{STOCKBMP_IMECTRLBTN, NULL, 0, 0},
#endif
#ifdef _NEED_STOCKBMP_LOGO
{STOCKBMP_LOGO, NULL, 0, 0},
#endif
#ifdef _NEED_SYSICON_FOLD
{SYSICON_FOLD, (void*)fold_ico_data, sizeof(fold_ico_data), 0},
{SYSICON_UNFOLD, (void*)unfold_ico_data, sizeof(unfold_ico_data), 0},
#endif
#ifdef _NEED_SYSICON_FILETYPE
{SYSICON_FT_DIR, (void*)ft_dir_ico_data, sizeof(ft_dir_ico_data), 0},
{SYSICON_FT_FILE, (void*)ft_file_ico_data, sizeof(ft_file_ico_data), 0},
#endif
{"icons", (void*)icons_data, SZ_ICON, 0},
{"bitmap", (void*)bmps_data, (int)sz_bmps, 1}
};
#define SYSRES_NR (sizeof(sysres_data) / sizeof(SYSRES))
static void* get_res_position (const char* szItemName, int *len)
{
int i = 0;
int idx_len = 0;
int name_len;
int item_idx = 0;
const char *pidx;
if (!szItemName || szItemName[0] == '\0')
return NULL;
name_len = strlen (szItemName);
pidx = szItemName + name_len - 1;
idx_len = 0;
while ( isdigit(*pidx) )
{
idx_len ++;
if (idx_len == name_len)
return NULL;
pidx --;
}
name_len -= idx_len;
if (idx_len > 0)
item_idx = atoi (szItemName+name_len);
while ( strncmp(sysres_data[i].name, szItemName, name_len) != 0 && i < SYSRES_NR) i++;
if (i >= SYSRES_NR)
return NULL;
if (sysres_data[i].flag > 0) {
Uint8* pos = sysres_data[i].res_data;
int j;
for (j=0; j<item_idx; j++) {
pos += *( (int*)sysres_data[i].data_len + j );
}
if (len)
*len = *( (int*)sysres_data[i].data_len + item_idx );
return pos;
}
if (len)
*len = sysres_data[i].data_len;
return (Uint8*) sysres_data[i].res_data + sysres_data[i].data_len *item_idx;
}
HICON GUIAPI LoadSystemIcon (const char* szItemName, int which)
{
void *icon;
icon = get_res_position (szItemName, NULL);
if (!icon)
return 0;
return LoadIconFromMem (HDC_SCREEN, icon, which);
}
BOOL GUIAPI LoadSystemBitmapEx (PBITMAP pBitmap, const char* szItemName, int ckey_x, int ckey_y)
{
Uint8* bmpdata;
int len, nc;
bmpdata = get_res_position (szItemName, &len);
if (len == 0) {
memset (pBitmap, 0, sizeof (BITMAP));
return TRUE;
}
if (!bmpdata) {
fprintf (stderr, "LoadSystemBitmapEx: Get bitmap data error!\n");
return FALSE;
}
if ((nc = LoadBitmapFromMem (HDC_SCREEN, pBitmap,
bmpdata, len, "bmp"))) {
fprintf (stderr, "LoadSystemBitmapEx: Load bitmap error: %p, %d: %d!\n", bmpdata, len, nc);
return FALSE;
}
if (ckey_x >= 0 && ckey_x < pBitmap->bmWidth
&& ckey_y >= 0 && ckey_y < pBitmap->bmHeight) {
pBitmap->bmType = BMP_TYPE_COLORKEY;
pBitmap->bmColorKey = GetPixelInBitmap (pBitmap, 0, 0);
}
return TRUE;
}
BOOL InitSystemRes (void)
{
int i;
const Uint8* bmp = bmps_data;
const Uint8* icon = icons_data;
for (i = 0; i < NR_BMPS; i++) {
if (sz_bmps [i] > 0) {
if (LoadBitmapFromMem (HDC_SCREEN, SystemBitmap + i, bmp,
sz_bmps [i], "bmp")) {
fprintf (stderr, "InitSystemRes: error when loading %d system bitmap.\n", i);
return FALSE;
}
bmp += sz_bmps [i];
}
}
for (i = 0; i < NR_ICONS; i++) {
SmallSystemIcon [i] = LoadIconFromMem (HDC_SCREEN, icon, 1);
LargeSystemIcon [i] = LoadIconFromMem (HDC_SCREEN, icon, 0);
icon += SZ_ICON;
if (SmallSystemIcon [i] == 0 || LargeSystemIcon [i] == 0) {
fprintf (stderr, "InitSystemRes: error when loading %d system icon.\n", i);
return FALSE;
}
}
return TRUE;
}
#ifdef _CURSOR_SUPPORT
PCURSOR LoadSystemCursor (int i)
{
return (PCURSOR)LoadCursorFromMem (cursors_data + SZ_CURSOR*i);
}
#endif
#endif /* _INCORE_RES */
void TerminateSystemRes (void)
{
int i;
for (i=0; i<SYSBMP_ITEM_NUMBER; i++)
UnloadBitmap (SystemBitmap + i);
for (i=0; i<SYSICO_ITEM_NUMBER; i++) {
if (SmallSystemIcon [i])
DestroyIcon (SmallSystemIcon [i]);
if (LargeSystemIcon [i])
DestroyIcon (LargeSystemIcon [i]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -