From f6ad9a960e76471a093c56a61a3be3852a8f760f Mon Sep 17 00:00:00 2001 From: Vincent Wei Date: Thu, 18 Jul 2019 14:59:12 +0800 Subject: [PATCH] cleanup --- include/window.h | 34 +++---- src/sysres/resmgr.c | 227 ++++---------------------------------------- 2 files changed, 36 insertions(+), 225 deletions(-) diff --git a/include/window.h b/include/window.h index 3e735f4a..3d6e769f 100644 --- a/include/window.h +++ b/include/window.h @@ -5383,37 +5383,35 @@ enum emResType { RES_TYPE_INVALID = 0xFF, /** - * All kinds of image supported by MiniGUI - * such as png, jpeg, bmp and so on - * This type will make LoadResource return a - * PBITMAP pointer + * Images supported by MiniGUI, such as PNG, JPEG, BMP and so on. + * Fot this type, LoadResource returns a BITMAP object. */ RES_TYPE_IMAGE = 0, /** * All kinds of image supported by MiniGUI. - * This Type will make LoadResource return a MYBITMAP* pointer + * For this type, LoadResource returns a MYBITMAP object. */ RES_TYPE_MYBITMAP, - /* + /** * The icon file or data. - * it only make LoadResource load or get the FIRST icon, and return HICON. - * Note that this type is deprecated. + * For this type, LoadResource loads the icon and returns HICON. */ RES_TYPE_ICON, #ifdef _MGHAVE_CURSOR - /** the cursor file or data. - * Make LoadResource return HCURSOR + /** + * The cursor file or data. + * For this type, LoadResource returns HCURSOR. */ RES_TYPE_CURSOR, #endif /** * The runtime config file or data support by MiniGUI. - * This type will make LoadResource return GHANDLE. - * It should be accessed by GetValueFromEtc and GetIntValueFromEtc. + * For this type, LoadResource returns GHANDLE. + * You can use it for \a GetValueFromEtc and \a GetIntValueFromEtc. */ RES_TYPE_ETC, @@ -5425,9 +5423,10 @@ enum emResType { RES_TYPE_WINDOW, /** - * Make the LoadResource return the raw data of INNER_RES, it's a pointer - * of MEM_RES. - * Only support incore Resource, if the resource is stored in disk, + * The type for inner resource.. + * Fot this type, LoadResource returns the raw data of INNER_RES, + * it's a pointer of MEM_RES. + * Only support incore Resource, if the resource is stored in file * LoadResource will return NULL. */ RES_TYPE_MEM_RES, @@ -5438,12 +5437,13 @@ enum emResType { RES_TYPE_FONT, /** - * The beginning of user defined type. + * The beginning of user defined resource type. */ RES_TYPE_USER, /* - * The max valid value of type; the used defined type must less this value. + * The max valid value of resource type; + * the user defined type must less this value. */ RES_TYPE_USER_MAX = 0x7F }; diff --git a/src/sysres/resmgr.c b/src/sysres/resmgr.c index 820ee899..423235de 100644 --- a/src/sysres/resmgr.c +++ b/src/sysres/resmgr.c @@ -11,35 +11,35 @@ // ////////////////////////////////////////////////////////////////////////////// /* - * This file is part of MiniGUI, a mature cross-platform windowing + * This file is part of MiniGUI, a mature cross-platform windowing * and Graphics User Interface (GUI) support system for embedded systems * and smart IoT devices. - * + * * Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd. * Copyright (C) 1998~2002, WEI Yongming - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - * + * * Or, - * + * * As this program is a library, any link to this program must follow * GNU General Public License version 3 (GPLv3). If you cannot accept * GPLv3, you need to be licensed from FMSoft. - * + * * If you have got a commercial license of this program, please use it * under the terms and conditions of the commercial license. - * + * * For more information about the commercial license, please refer to * . */ @@ -368,8 +368,6 @@ static void delete_entry_data(RES_ENTRY* entry) } } - - //////////////////////////////////////////// //inside functions BOOL InitializeResManager(int hash_table_size) @@ -382,9 +380,9 @@ BOOL InitializeResManager(int hash_table_size) #if !defined(__NOUNIX__) || defined(WIN32) if ((p = getenv ("MG_RES_PATH"))) { int len = strlen(p); - if (p[len-1] == '/') + if (p[len-1] == '/') sprintf(szpath, "%s", p); - else + else sprintf(szpath, "%s/", p); cfg_res_path = strdup(szpath); } @@ -446,74 +444,6 @@ const char* sysres_get_system_res_path() return cfg_res_path; } -////////////////////////////////////////// -//outside functions -#if 0 -static int get_respath_count() -{ - int cnt; - if(res_paths == NULL) - return 0; - - for(cnt=0; res_paths[cnt]; cnt++); - - return cnt; -} - -int strstrcnt(const char* strs, int s) -{ - int i; - if(strs == NULL) - return 0; - i = 1; - while((strs = strchr(strs,s))){ - i ++; - strs ++; - } - return i; -} - -int AddResPath(const char* paths) -{ - int cnt; - int p_ctn = 0; - const char* str; - if(path == NULL) - return RES_RET_INVALID_PARAM; - - cnt = get_respath_count(); - - if(cnt <= 0) cnt = 1; - - //the path is "[path1]:[path2]:..." - //get the count of paths - p_cnt = strstrcnt(paths,':'); - if(p_cnt <= 0) - return RES_RES_INVALID_PARAM; - - res_pahts = SNEW(char*, res_paths, cnt+p_cnt); - - str = paths; - cnt --; - while((str = strchr(paths,':'))) - { - res_paths[cnt++] = strndup(paths, str-paths); - paths = str + 1; - } - - res_paths[cnt++] = strdup(paths); - res_paths[cnt] = NULL; - - return RES_RET_OK; -} - -#endif - -const char* GetResPath (void) -{ - return usr_res_path; -} - int SetResPath(const char* path) { if(path == NULL) { @@ -571,9 +501,8 @@ int AddInnerRes(INNER_RES* inner_res, int count, BOOL bcopy) } else { - //if the resource is not copyed, - //we didnot free it until the system - //is exist + //if the resource is not copied, + //we did not free it until the system exits. entry->source = &inner_res[i]; } SetUsed(entry); @@ -808,7 +737,7 @@ void* GetResource(RES_KEY key) if (entry == NULL || entry->data == NULL) { #ifdef _DEBUG - ERR_RETV (NULL, -1, "data is not exist"); + ERR_RETV (NULL, -1, "data does not exist"); #else return NULL; #endif @@ -826,7 +755,7 @@ int AddResRef(RES_KEY key) RES_UNLOCK(); if (entry == NULL) { #ifdef _DEBUG - ERR_RETV (-1, -1, "resouce is not exist(key=%x)", key); + ERR_RETV (-1, -1, "resouce does not exist(key=%x)", key); #else return -1; #endif @@ -894,12 +823,12 @@ static void res_error(int type, const char* funcname, const char* strinfo, ... ) char strbuff [256]; static const char* errinfo[]={ "invalid param", - "key is not exits", - "load file failed", - "load mem failed", + "key does not exist", + "failed to load file", + "failed to load from memory", "unknown type", "not implement", - "res is in used" + "res is in use" }; va_list va; @@ -981,124 +910,6 @@ static void img_unload (RESOURCE* res, int src_type) } } -//////////////////////////////////////////////// -//icons -#if 0 -typedef struct _icon_res_t{ - DWORD dwMask; - HICON *icons; -}icon_res_t; - -static inline int icon_res_which_to_idx(DWORD dwMask, int which) -{ - int idx = 0; - while(which>=0) - { - if(dwMask&1) idx ++; - dwMask >>= 1; - } - return idx; -} -static inline int icon_res_get_cnt(icon_res_t* res) -{ - DWORD dw = res->dwMask; - int cnt = 0; - while(dw!=0) - { - cnt ++; - dw >>= 1; - } - return cnt; -} - -static BOOL icon_get_res_data(RESOURCE* res, int src_type, void* usr_param) -{ - int which; - icon_res_t* res_icon; - if(res == NULL) - return FALSE; - - which = (int)usr_param; - - if(which < 0 || which>=32) - which = 0; - - if(res->data == NULL) - { - res_icon = NEW(icon_res_t); - res->data = res_icon; - } - - if(res_icon->dwMask & (1<icons[icon_res_which_to_idx(res_icon->dwMask, which)]; - } - else - { - //load icon - HICON hi; - if(res->source.src == NULL) - return NULL; - - switch(src_type) - { - case REF_SRC_FILE: - { - char szpath[512]; - RES_FILE_SRC* file = res->source.file; - sprintf(szpath, "%s/%s", file->path, file->filename); - hi = LoadIconFromFile(HDC_SCREEN, szpath, which); - break; - } - case REF_SRC_INNER: - { - INNER_RES* inner = res->source.inner; - hi = LoadIconFromMem(HDC_SCREEN, inner->data, inner->data_len, which); - break; - } - default: - return NULL; - } - - if(hi != 0) - { - //insrt at which - int idx; - int cnt; - int i; - res_icon->dwMask |= (1<dwMask, which); - cnt = icon_res_get_cnt(res_icon); - res_icon->icons = SNEW(HICON, res_icon->icons,cnt+1); - //move elements - for(i=cnt; i>idx; i--) - { - res_icon->icons[i] = res_icon->icons[i-1]; - } - res_icon->icons[idx] = hi; - return hi; - } - } - - return NULL; -} - -static void icon_unload(RESOURCE* res, int src_type) -{ - if(res && res->data) - { - icon_res_t* ir = (icon_res_t*)res->data; - if(ir->icons) - { - int cnt = icon_res_get_cnt(ir); - while(cnt>0) - DestroyIcon(ir->icons[--cnt]); - DELETE(ir->icons); - } - DELETE(ir); - } -} -#endif - static void* icon_get_res_data(RESOURCE* res, int src_type, DWORD usr_param) { if (res == NULL)