-
Notifications
You must be signed in to change notification settings - Fork 0
Aroma Reource API
Aroma res API,说明如何使用相关的API读取数组里的资源(由color 、string、image生成的数组)。
分三个步骤:
(1)libaroma_res_init把数组里的资源加入管理产生一个LIBAROMA_RESOURCEP
(2)libaroma_res_get_string 或者libaroma_res_get_color或者libaroma_res_get_image,生成一段数据
(3)释放内存libaroma_res_free
LIBAROMA_RESOURCEP libaroma_res_init(const char *string, const char *color, const char *png_array)
参数 | 说明 |
---|---|
string | string数组的首地址,不需要的传NULL |
color | color数组的首地址,不需要的传NULL |
png_array | imange数组的首地址,不需要的传NULL |
return | LIBAROMA_RESOURCEP类型的指针 |
word libaroma_res_get_color(LIBAROMA_RESOURCEP res, char *key, word def_color)
参数 | 说明 |
---|---|
res | libaroma_res_init生成的LIBAROMA_RESOURCEP |
key | 管理color的文件每个color对应一个key(字符串) |
def_color | 如果找不到对应的key,则用自己定义的颜色def_color |
return | 返回一个2字节的color |
char *libaroma_res_get_string(LIBAROMA_RESOURCEP res, char *key, char *def)
char *libaroma_res_get_string(LIBAROMA_RESOURCEP res, char *key, char *def)
参数 | 说明 |
---|---|
res | 同上 |
key | 每个sting会有一个对应的key |
def | 找不到对应的key,用自己定义的字符串def |
return | 返回一个string |
LIBAROMA_CANVASP libaroma_res_get_image(LIBAROMA_RESOURCEP res, int image_id)
参数 | 说明 |
---|---|
res | 同上 |
image_id | 每张图片有一个id,与地址偏移对应上 |
return | 返回一个CANVASP地址 |
void libaroma_res_free(LIBAROMA_RESOURCEP res)
参数 | 说明 |
---|---|
res | libaroma_res_init生成的一个地址 |
(1)string
LIBAROMA_RESOURCEP resourceptes;
void main(void)
{
resourceptes=libaroma_res_init(strings, colors, png_res);
char * stringa=libaroma_res_get_string(resourceptes,"text_ok","hello");
libaroma_res_free(resourceptes) ;
}
(2)color
LIBAROMA_RESOURCEP resourceptes;
void main(void)
{
resourceptes=libaroma_res_init(strings, colors, png_res);
word color=libaroma_res_get_color(resourceptes,"c_green",RGB(808080));
libaroma_res_free(resourceptes) ;
}
(3)image
LIBAROMA_RESOURCEP resourceptes;
void main(void)
{
resourceptes=libaroma_res_init(strings, colors, png_res);
LIBAROMA_CANVASP canvas =libaroma_res_get_image(resourceptes,RES_INDEX_setting) ;
libaroma_res_free(resourceptes) ;
}
(4)
LIBAROMA_RESOURCEP resourceptes;
void main(void)
{
resourceptes=libaroma_res_init(strings, colors, png_res);
word color=libaroma_res_get_color(resourceptes,"c_green",RGB(808080));
char * stringa=libaroma_res_get_string(resourceptes,"text_ok","hello");
libaroma_ctl_label_valign(win, 6,stringa , libaroma_px(30), libaroma_px(64), libaroma_px(32), libaroma_px(24), color, 0, 3, LIBAROMA_TEXT_CENTER, 100, 10);
LIBAROMA_CONTROLP image = libaroma_ctl_image(win, 3, NULL, 0, libaroma_px(128), libaroma_dp(30), libaroma_px(30));
LIBAROMA_CANVASP canvas =libaroma_res_get_image(resourceptes,RES_INDEX_setting) ;
libaroma_res_free(resourceptes) ;
}
需要注意的是libaroma_res_get_string 或者libaroma_res_get_color或者libaroma_res_get_image必须用在libaroma_res_init之后,libaroma_res_free之前
首先,建立一个文件string.lang进行管理,该文件的内容编码是utf-8
内容如下:(左边的key,右边是key对应的内容)
text_ok=确定
text_next=下一步
text_back=返回
text_yes=同意
text_no=放弃
text_about=关于
text_calibrating=屏幕校准
text_quit=退出安装
text_quit_msg=你确定要退出安装吗?
langtest.title=语言测试
themes.title=选择主题
themes.desc=要在此安装测试使用,请选择安装的主题:
welcome.title=欢迎
其次,使用widows使用工具bin2c.exe,方法如下:
(1)Widows下打开一个命令终端cmd、然后把bin2c.exe拖到命令行下
(2)需要输入3个参数:(注意.exe文件和3个参数之间需要空格隔开)
第一个参数:文件的绝对路径和文件名(可以把对应的文件之间拖到命令行内);
第二个参数:转化后的c文件名string_lab.c;
第三个参数:转化后的数组名字"string_array";
转化后的文件在C:\Users\Administrator,把生成的string_lab.c文件加入工程中,该文件中的数组string_array就是我们所需的
例子:
: