搜索
bottom↓
回复: 94

期盼许久!终于拿到了 uC/GUI V5.15c 及 uC/FS V4.04e 的 Source Code 了

  [复制链接]

出0入34汤圆

发表于 2013-3-6 16:41:58 | 显示全部楼层 |阅读模式
等呀等,等公司的批准购买,这价值几十 W RMB 的 uC/GUI 及 uC/FS 的 Source Code 终于给盼到了,附上两张照片让各位流一下口水..

1. uC/GUI V5.18c 找了个其中版本文件的照片. 我们这是找 Segger 买的,所以显示的会是 emWin V5.18c 其实它就是 Micrium 的 uC/GUI V5.18c 一个样的.



2. uC/FS V4.04e 我们是找 Micrium 买的,不过我看了半天也看不出版本编号,但随便打开一个文件就有版本的编号了! 我也将它给照下来,让各位流一下口水,呵呵~



为了不让大家失望,我找了个 uC/GUI V5.10 版的 Demo For Windows 给各位下载来评估看看,不过这些 Source Code 也别问我要了,因为这是我们公司的财产,我是有义务保护这些资源的..  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-3-6 16:53:44 | 显示全部楼层
谢谢SHARE啊。。。

出0入0汤圆

发表于 2013-3-6 16:56:57 | 显示全部楼层
5.18有源码就好了。顶楼主!

出0入0汤圆

发表于 2013-3-6 16:59:31 | 显示全部楼层
几十 W RMB,是买断,随便用么?

出0入34汤圆

 楼主| 发表于 2013-3-6 17:12:24 | 显示全部楼层
aworker 发表于 2013-3-6 16:59
几十 W RMB,是买断,随便用么?

当然是要开发公司的产品上用了的,我们公司很怕死,向来都是买正版的东西,供献最多的就是付给微软的费用了.

我不懂您所指的 "随便用么?" 是要怎么用,我都已经复制到我个人的笔记本及家里的台式机与 NSA 内的硬盘保存备份了.

我只是这几天刚拿到而已,但目前我还在搞别的东西,暂时没办法去研究这个,所以这些东西就先搁着了..

出0入0汤圆

发表于 2013-3-6 17:14:50 | 显示全部楼层
xyz543 发表于 2013-3-6 17:12
当然是要开发公司的产品上用了的,我们公司很怕死,向来都是买正版的东西,供献最多的就是付给微软的费用了. ...

是对所有产品授权?还是某个具体型号的产品?

出0入34汤圆

 楼主| 发表于 2013-3-6 17:18:12 | 显示全部楼层
aworker 发表于 2013-3-6 16:59
几十 W RMB,是买断,随便用么?

喔! 我明白您的意思了,当然是买断啰! 而购买uC/FS 时!还另外购买它的 SD Card 驱动的 API 部份,光是这个 API 就与 uC/FS 的价钱是一样的了. 这 Micrium 是一个标准的吸血鬼,呵呵~

出0入34汤圆

 楼主| 发表于 2013-3-6 17:19:48 | 显示全部楼层
aworker 发表于 2013-3-6 17:14
是对所有产品授权?还是某个具体型号的产品?

是可以对所有自家公司内的产品给予授权,没错!

出0入0汤圆

发表于 2013-3-6 17:23:19 | 显示全部楼层
能挂名到贵公司吗?偶不要薪水的,只想借用一下正版……

出0入34汤圆

 楼主| 发表于 2013-3-6 17:26:46 | 显示全部楼层
rifjft 发表于 2013-3-6 17:23
能挂名到贵公司吗?偶不要薪水的,只想借用一下正版……

哈!~ 很可惜的貌似不行! 您所来我们这儿工作还要得有工作证才行,有了工作许可证我们公司才能决定是否要录用..

出0入0汤圆

发表于 2013-3-6 17:33:18 | 显示全部楼层
让标题引进来的

出0入0汤圆

发表于 2013-3-6 17:35:36 来自手机 | 显示全部楼层
使用源码升级的话,emwin最低就2500欧不到,全驱版5000欧不到。其实现在arm上不要源码的话可以免费用。
http://www.segger.com/emwin-source-code-upgrade.html

去年micrium和瑞萨的活动可以免费得好几产品源码,可惜只针对北美

出0入0汤圆

发表于 2013-3-6 21:15:24 | 显示全部楼层
请问你公司在什么芯片上使用UCGUI?

出0入0汤圆

发表于 2013-3-6 22:06:46 | 显示全部楼层
本帖最后由 electrlife 于 2013-3-6 22:21 编辑

确实流口水啊!
同问楼主在什么MCU上使用UCGUI?

似乎现在最新的版本是5.20,不知LZ买的是所有的组件,还是部分组件。

出0入0汤圆

发表于 2013-3-6 22:21:14 | 显示全部楼层
好爽.....确实流口水.

出0入0汤圆

发表于 2013-3-6 23:50:32 来自手机 | 显示全部楼层
谢谢啦,分享得干

出0入0汤圆

发表于 2013-3-6 23:59:31 | 显示全部楼层
这个是打算干嘛用的?ARM是有可以免费使用的库啊~

出0入0汤圆

发表于 2013-3-7 00:39:30 | 显示全部楼层
谢谢分享啊!!

出0入0汤圆

发表于 2013-3-7 08:29:04 | 显示全部楼层
lxh0508 发表于 2013-3-7 08:13
傻B,不共享,得吧啥

LZ已经说的很详细了,这是公司的财产。留点嘴德吧!

出0入0汤圆

发表于 2013-3-7 08:37:05 | 显示全部楼层
我还在使用古老的UCGUI3.98,文件系统是FATFS。
现在我用UCGUI仅仅是实用就好了,至于美观,只能‘呵呵’了。
这主要原因要怪公司,全部活都是我一个人干,现在都还在解决硬件稳定成熟方案。

如果要美观,做好项目的话。我想我会跑LINUX,这样写软件的,做驱动的,做硬件的可以分开。
各司其职,不会像现在一锅粥全部要一个人做。虽然领导给的时间充裕,但是心累!

出0入17汤圆

发表于 2013-3-7 08:41:49 | 显示全部楼层
口水中~~~~~~~~~~

出0入0汤圆

发表于 2013-3-7 08:42:20 来自手机 | 显示全部楼层
有米的公司……

出0入0汤圆

发表于 2013-3-7 09:01:53 | 显示全部楼层
财不外漏!

出0入0汤圆

发表于 2013-3-7 09:06:56 | 显示全部楼层
lxh0508 发表于 2013-3-7 08:13
傻B,不共享,得吧啥

见了这样的人 就想骂啊  。。  什么玩意

出0入34汤圆

 楼主| 发表于 2013-3-7 09:20:14 | 显示全部楼层
aworker 发表于 2013-3-6 21:15
请问你公司在什么芯片上使用UCGUI?

我估计我们公司应该会打算 Porting 到 ADI 的 BF-531 内或是 NIOS II 上使用吧!

出0入34汤圆

 楼主| 发表于 2013-3-7 09:35:13 | 显示全部楼层
本帖最后由 xyz543 于 2013-3-7 10:07 编辑
electrlife 发表于 2013-3-6 22:06
确实流口水啊!
同问楼主在什么MCU上使用UCGUI?


现在这是到啥版本这我就不清楚了,没时间去研究现在是到了什么版号,不过 Segger 及 Micrium 的合约内都有写明了自购买日开始可以享有一年内免费更新至最新版的条文.

我们恨多年前买 uC/GUI 及 uC/FS 时也是照这条文去更新过了呀! 只不过已经过了太多年了,去年我又拿网路上的那 uC/GUI 3.90 给公司高层的人看,他们看到后也流口水,才决定要购买正式版的,呵呵~

我们买这个 uC/GUI 及 uC/FS 是所有的组件,而 uC/FS 还加买了 SD Card 驱动的组件,公司可能会照我上面于 27 楼 回 aworker 兄的那段说明那样,而我自己若真的有空到闲得发荒时我会再找一些开发版来 Porting 玩玩啰..

编辑原因: 敲错字了 (我们恨多年) 应该是 (我们很多年)

出0入0汤圆

发表于 2013-3-7 09:36:31 | 显示全部楼层
界面方面有图片吗?是不是和现在EMWIN 5.18图形一样?
UCGUI和EMWIN的版本之间不知道有没有关系。
EMWIN版本是5.18.
NXP的芯片可以免费用。

出0入34汤圆

 楼主| 发表于 2013-3-7 09:41:04 | 显示全部楼层
nongxiaoming 发表于 2013-3-6 23:59
这个是打算干嘛用的?ARM是有可以免费使用的库啊~


nongxiaoming 兄,我知道现在的 MDK 内都有附给 ARM 使用的 Library,但我们公司产品的性质较不同,也请您见我于上面 27 楼 回 aworker 兄的那段说明,谢谢..

出0入34汤圆

 楼主| 发表于 2013-3-7 09:58:13 | 显示全部楼层
本帖最后由 xyz543 于 2013-3-7 10:04 编辑
tiger5 发表于 2013-3-7 09:36
界面方面有图片吗?是不是和现在EMWIN 5.18图形一样?
UCGUI和EMWIN的版本之间不知道有没有关系。
EMWIN版 ...


我拿到时他们也有 VC 的 Demo Project 的工程,但是我用 VC 6.0 一直 Build 不起来,它出现了有 10 个 Error! 我估计它可以给的是 VC 2010 的 Project 了,所以我没有办法提供这 5.18c 版的 Demo 给各位看,我工作要做的事实在是太多太杂了,目前很南有时间去细看这两个 Source Code,真是很抱歉..

uC/GUI 是 Micrium 公司出的,说穿了这美国的 Micrium 公司出的 uC/GUI 就是德国的 Segger 公司所出的 emWin 产品,而 Segger 是给 Micrium 做 ODM 的,所都是一个样得东西,我说的是指 GUI 产品的部份.

而您说的 NXP 的芯片可以免费用应该是止指 Keil MDK 内所附的那个 Library 吧?! 我们公司很少使用 ARM 或 Cortex 的产品,所以没办法享用呀!

而 Micrium 出的 uC/OS 与 Segger 所出的 emOS 就会有些地方不同了,我们也都有买,在这帖就不谈了,这 OS 的东西在网路上就可以载得到其 Source Code 了..

编辑原因: 敲错字了 (目前很南) 应该是 (目前很难)

出0入34汤圆

 楼主| 发表于 2013-3-7 10:00:30 | 显示全部楼层
lxh0508 发表于 2013-3-7 08:13
傻B,不共享,得吧啥

呵呵~ 说得好! 我将您这段话给留存起来,我现在就举报你!!

出0入0汤圆

发表于 2013-3-7 10:49:28 | 显示全部楼层
xyz543 发表于 2013-3-7 09:58
我拿到时他们也有 VC 的 Demo Project 的工程,但是我用 VC 6.0 一直 Build 不起来,它出现了有 10 个 Erro ...

谢谢解答。

出0入0汤圆

发表于 2013-3-7 10:51:21 | 显示全部楼层
lxh0508 发表于 2013-3-7 10:47
不就公司买点东西嘛。你去看看搞工控的公司,一套画图软件都几十万,要是授权狗给你保管,你还不得天天拍 ...

我觉得不公开也可以理解,人家有协议的,有法律方面的风险。
没必要爆粗口。
因为网上有UCGUI的源代码,可以学习。

出0入0汤圆

发表于 2013-3-7 11:08:53 | 显示全部楼层
lxh0508 发表于 2013-3-7 10:47
不就公司买点东西嘛。你去看看搞工控的公司,一套画图软件都几十万,要是授权狗给你保管,你还不得天天拍 ...

如果有几十万授权的画图软件,拿出来分享也不错呀。

比如盗版CANDENCE和正版的也不一样,破解的也不是很干净,有些功能盗版上用不起来呢。

有人使用正版,问问他这个功能也好呀,知道为什么这个功能不能用,以后可以向公司申请买正版呀。

我觉得这样也能开拓见识面。这里虽然号称开源,但是LZ也没有上传作品呀。有的帖子,上传作品了,因为商业秘密,部分代码用库发布呢。

出0入0汤圆

发表于 2013-3-7 13:42:53 | 显示全部楼层
xyz543 发表于 2013-3-7 09:41
nongxiaoming 兄,我知道现在的 MDK 内都有附给 ARM 使用的 Library,但我们公司产品的性质较不同,也请您见 ...

原来是这样子啊~那确实需要源代码~这个gui真是牛~

出0入34汤圆

 楼主| 发表于 2013-3-7 13:55:49 | 显示全部楼层
nongxiaoming 发表于 2013-3-7 13:42
原来是这样子啊~那确实需要源代码~这个gui真是牛~

正因为如此,所以才会要买 Segger 及 Micrium 他们的一些产品.

不过要 Porting 于公司的产品这任务目前应该不会落在我身上,我还正为其他的产品在善后中,好在这 Porting 的工作应该会落在其他的同事身上..

公司研发部门约近百人,产品也多且复杂,除了正规的产品之外,还要处理客制化的商品,我们忙都忙翻了,我只觉得在公司里我就像个杂工一样,呵~

出0入0汤圆

发表于 2013-3-7 13:58:26 | 显示全部楼层
真有米。。。。各种口水阿。。。。

出0入0汤圆

发表于 2013-3-7 13:59:24 | 显示全部楼层
xyz543 发表于 2013-3-7 13:55
正因为如此,所以才会要买 Segger 及 Micrium 他们的一些产品.

不过要 Porting 于公司的产品这任务目前应 ...

大公司啊,羡慕~哈哈~还没去过大公司,不懂场面~

出0入34汤圆

 楼主| 发表于 2013-3-7 14:03:27 | 显示全部楼层
nongxiaoming 发表于 2013-3-7 13:59
大公司啊,羡慕~哈哈~还没去过大公司,不懂场面~

别羡慕大公司呀! 大公司升迁不易,我做了 18 年仍是杂工一名呀! 哈~

出0入34汤圆

 楼主| 发表于 2013-3-7 17:18:17 | 显示全部楼层
electrlife 发表于 2013-3-6 22:06
确实流口水啊!
同问楼主在什么MCU上使用UCGUI?

electrlife 兄,我估计您是在问这个东西 GUIDEMO_IconView.c 是吧?!

我们于帖内聊聊就好,也请勿私发消息于台面下讲述此事,因为我已于楼主位有说明了,还尚请您见谅..

若您要找这个源码是这个的话我刚已帮您 Google 过了,于网路上就有-> http--smileos.googlecode.com-svn-trunk-emWin-src-demo-GUIDEMO_IconView.c 请留意其版本也是 emWin V5.18 的,如果您下不到的话我可以帮您下载..  

出0入0汤圆

发表于 2013-3-7 19:03:17 | 显示全部楼层
xyz543 发表于 2013-3-7 17:18
electrlife 兄,我估计您是在问这个东西 GUIDEMO_IconView.c 是吧?!

我们于帖内聊聊就好,也请勿私发消息 ...

呵呵,谢谢了,大家都是搞技术的,理解。

出0入34汤圆

 楼主| 发表于 2013-3-7 19:07:13 | 显示全部楼层
electrlife 发表于 2013-3-7 19:03
呵呵,谢谢了,大家都是搞技术的,理解。

Okay! 沒事的,有問題時我們可以在帖內多交流..

出0入34汤圆

 楼主| 发表于 2013-3-8 09:48:16 | 显示全部楼层
我找到了一个专门在讲  emWin For NXP 库的使用及说明的网站,各位对这 GUI 有兴趣的不妨去那儿参考看看-> emWin Graphics Library

出0入0汤圆

发表于 2013-3-8 10:57:15 | 显示全部楼层
听lz说话风格,应该是海峡对岸的吧?

出0入34汤圆

 楼主| 发表于 2013-3-8 11:29:59 | 显示全部楼层
shloverxp 发表于 2013-3-8 10:57
听lz说话风格,应该是海峡对岸的吧?

在下正是,幸会幸会,请多指教..

出0入4汤圆

发表于 2013-3-8 11:34:44 | 显示全部楼层
xyz543 发表于 2013-3-6 17:26
哈!~ 很可惜的貌似不行! 您所来我们这儿工作还要得有工作证才行,有了工作许可证我们公司才能决定是否要录 ...

在台资公司干了十来年,还不知道要去台湾工作的话还需要工作许可证,惭愧。。。

出0入34汤圆

 楼主| 发表于 2013-3-8 11:49:24 | 显示全部楼层
本帖最后由 xyz543 于 2013-3-8 11:59 编辑
aleyn 发表于 2013-3-8 11:34
在台资公司干了十来年,还不知道要去台湾工作的话还需要工作许可证,惭愧。。。 ...


报告村长,就我所知,在我们这儿不用说工作了,就算是外籍的艺人来我们这街头表演唱歌等,都是要工作许可证的,不人马上会引来 JC 的关切,然后马上安排这位人兄引渡遣返出境的.

但是我们这有许多人嫁娶外籍人士,这些外籍人士要在我们这待上个几年(貌似两年的样子)才可以领有工作证工作,我再举一个例子,若自家先生娶了内地的新娘,而家里开的是小吃店,这位内地的新娘若没有领到工作证的话仍然也不可以帮自家的先生帮忙家里开的小店,连洗个碗都不行的! 这是我们 Z&F 目前的规定是这样,只要有人检举,我们 Z&F 二话不说,马上安排引渡遣返出境的,很无奈对吧?! 呵呵~

另外,纵使有了工作证,如果同时也领有内地医师执照的人,也是不能在我们这儿从事医疗相关的工作! 没办法,我们 Z&F 的规定目前就是这样的..

报告完毕!!

编辑原因: 追加说明

出0入0汤圆

发表于 2013-3-8 12:58:41 来自手机 | 显示全部楼层
xyz543 发表于 2013-3-7 09:58
我拿到时他们也有 VC 的 Demo Project 的工程,但是我用 VC 6.0 一直 Build 不起来,它出现了有 10 个 Erro ...

segger的embos网上没找到过source code,uc/os倒官网可下。

其实用于ARM的话,现在的lib版本已是全功能的,除了少了许多lcd驱动的源码。

出0入34汤圆

 楼主| 发表于 2013-3-8 13:21:40 | 显示全部楼层
hiberhe 发表于 2013-3-8 12:58
segger的embos网上没找到过source code,uc/os倒官网可下。

其实用于ARM的话,现在的lib版本已是全功能的 ...

对呀! 才几个月的时间那 Segger 的官网上已找不到那些 GUIDEMO 的 Source Code 了,所以我就到 Google 去找,结果还是可以搜到一些如 GUIDEMO 的 Source Code.

那的 Kiel MDK 内所附的 Library 我是还没去试用过啦! 平日工作太忙太杂,假期也忙着将一些 3C 的东西忙充电及整理电脑与资料备份的事儿,想要玩这些东西还真是抽不出空呢! 呵呵~

出0入4汤圆

发表于 2013-3-8 14:31:37 | 显示全部楼层
xyz543 发表于 2013-3-8 11:49
报告村长,就我所知,在我们这儿不用说工作了,就算是外籍的艺人来我们这街头表演唱歌等,都是要工作许可证的 ...

不怪得,几年前我的一个同事,嫁给了我公司董事长弟弟,貌似整天不是Shoping就是SPA,或是家里整点吃的,不能帮她老公做事,公司有好多人都羡慕此女,但没几个人知道此女其实没多少事可做也很无聊。
这么多年过去了,不知道拿了绿卡和工作证了没有。

出0入34汤圆

 楼主| 发表于 2013-3-8 14:42:31 | 显示全部楼层
aleyn 发表于 2013-3-8 14:31
不怪得,几年前我的一个同事,嫁给了我公司董事长弟弟,貌似整天不是Shoping就是SPA,或是家里整点吃的, ...

村长,是您说得这个样子的! 这些来自内地的新娘初来台湾人生地又不熟的,只能成天的待在家里上 QQ 而我每天早上打开 QQ 邮箱时都看到的都是我们这里还没能拿到工作证的那些内地新娘所发的漂流瓶呀! 哈~

出0入0汤圆

发表于 2013-3-8 14:55:08 | 显示全部楼层
楼主的公司确实给力,大公司就是好。

出0入34汤圆

 楼主| 发表于 2013-3-8 17:06:20 | 显示全部楼层
Eric2013 发表于 2013-3-8 14:55
楼主的公司确实给力,大公司就是好。

谢谢您给予的赞赏,我只拿我感兴趣的东西而已,呵呵~

出0入0汤圆

发表于 2013-3-19 12:27:32 | 显示全部楼层
敢问楼主公司是做什么产品的?

出0入34汤圆

 楼主| 发表于 2013-3-19 16:48:33 | 显示全部楼层
gyz1990 发表于 2013-3-19 12:27
敢问楼主公司是做什么产品的?

這個嘛...  我看我還是發訊息給您好了..

出0入0汤圆

发表于 2013-3-19 17:11:04 | 显示全部楼层
xyz543 发表于 2013-3-19 16:48
這個嘛...  我看我還是發訊息給您好了..

我也好奇贵公司的产品和行业,能告知吗?谢谢,私信就好

出0入34汤圆

 楼主| 发表于 2013-3-19 19:55:19 | 显示全部楼层
AVT-DENG 发表于 2013-3-19 18:14
漂流瓶,也是个好东西哦,估计楼主很有心得体会,不如在这点上让大家满足一下,这样可以平衡一下大家想窥探 ...

窥探我 UCOS 的心裡,呵呵,謝謝您了..

出0入0汤圆

发表于 2013-3-19 20:13:01 | 显示全部楼层
界面华丽啊...
现在还在用3.98呢...

出0入0汤圆

发表于 2013-3-19 20:18:24 | 显示全部楼层
这么霸气,必须顶了

出0入0汤圆

发表于 2013-8-6 00:05:53 | 显示全部楼层
哥们,你能把GUICharP.c 这个文件共享一下吗?主要用于移植中文字库
5.12上字库相关的函数定义
typedef void GUI_DISPCHAR    (U16 c);
typedef int  GUI_GETCHARDISTX(U16P c, int * pSizeX);
typedef void GUI_GETFONTINFO (const GUI_FONT GUI_UNI_PTR * pFont, GUI_FONTINFO * pfi);
typedef char GUI_ISINFONT    (const GUI_FONT GUI_UNI_PTR * pFont, U16 c);
typedef int  GUI_GETCHARINFO (U16P c, GUI_CHARINFO_EXT * pInfo);


extern const GUI_FONT GUI_UNI_PTR * GUI__pFontDefault;

extern GUI_SADDR GUI_CONTEXT * GUI_pContext;

extern GUI_DEVICE * GUI__apDevice[GUI_NUM_LAYERS];

下面的源代码是3.9的
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : GUICharP.C
Purpose     : Implementation of Proportional fonts
---------------------------END-OF-HEADER------------------------------
*/


#include <stddef.h>           /* needed for definition of NULL */

#include "GUI_Private.H"

/*
      ***********************************************************
      *                                                         *
      *       Proprotional fonts                                *
      *                                                         *
      ***********************************************************
*/

static const GUI_FONT_PROP* GUIPROP_FindChar(const GUI_FONT_PROP* pProp, U16P c) {
  for (; pProp; pProp=(GUI_FONT_PROP*) pProp->pNext) {
    if ((c>=pProp->First) && (c<=pProp->Last))
      break;
  }
  return pProp;
}

void GUIPROP_DispChar(U16P c) {
        int BytesPerLine;
        GUI_DRAWMODE DrawMode = GUI_Context.TextMode;
        const GUI_FONT_PROP* pProp = GUIPROP_FindChar(GUI_Context.pAFont->p.pProp, c);
        if (pProp) {
                GUI_DRAWMODE OldDrawMode;
                const GUI_CHARINFO* pCharInfo = pProp->paCharInfo+(c-pProp->First);
                BytesPerLine = pCharInfo->BytesPerLine;
                OldDrawMode  = LCD_SetDrawMode(DrawMode);
                LCD_DrawBitmap(  GUI_Context.DispPosX, GUI_Context.DispPosY,
                                                 pCharInfo->XSize,
                                                 GUI_Context.pAFont->YSize,
                                                 GUI_Context.pAFont->XMag,
                                                 GUI_Context.pAFont->YMag,
                                                 1,     /* Bits per Pixel */
                                                 BytesPerLine,
                                                 (U8 const *)pCharInfo->pData,
                                                 NULL  /* no palette means default palette */
                                                 );
                /* Fill empty pixel lines */
                if (GUI_Context.pAFont->YDist > GUI_Context.pAFont->YSize) {
                        int YMag = GUI_Context.pAFont->YMag;
                        int YDist = GUI_Context.pAFont->YDist * YMag;
                        int YSize = GUI_Context.pAFont->YSize * YMag;
                        if (DrawMode != LCD_DRAWMODE_TRANS) {
                                LCD_COLOR OldColor = GUI_GetColor();
                                GUI_SetColor(GUI_GetBkColor());
                                LCD_FillRect(GUI_Context.DispPosX,
                                        GUI_Context.DispPosY + YSize,
                                        GUI_Context.DispPosX + pCharInfo->XSize,
                                        GUI_Context.DispPosY + YDist);
                                GUI_SetColor(OldColor);
                        }
                }
                LCD_SetDrawMode(OldDrawMode); /* Restore draw mode */
                GUI_Context.DispPosX += pCharInfo->XDist;
        }
}

int GUIPROP_GetCharDistX(U16P c) {
  const GUI_FONT_PROP* pProp = GUIPROP_FindChar(GUI_Context.pAFont->p.pProp, c);
  return (pProp) ? (pProp->paCharInfo+(c-pProp->First))->XSize : 0;
}

void GUIPROP_GetFontInfo(void*pFont, GUI_FONTINFO* pfi) {
  GUI_USE_PARA(pFont);
  pfi->Flags = GUI_FONTINFO_FLAG_PROP;
}

char GUIPROP_IsInFont(void*pFont, U16 c) {
  const GUI_FONT_PROP* pProp = GUIPROP_FindChar(((GUI_FONT*)pFont)->p.pProp, c);
  return (pProp==NULL) ? 0 : 1;
}

出0入0汤圆

发表于 2013-8-6 00:11:37 | 显示全部楼层
用它原来的算法移植字库太大了,浪费好多空间。
我把上面的函数移植了一下,debug发现根本就不能进入

/*********************************************************************
*
*       GUIGB2312_FindChar
*/
static const GUI_FONT_PROP GUI_UNI_PTR * GUIGB2312_FindChar(const GUI_FONT_PROP GUI_UNI_PTR* pProp, U16P c) {
        const GUI_FONT_PROP GUI_UNI_PTR * ret = 0;
        for (; pProp; pProp = pProp->pNext) {
                if ((c>=pProp->First) && (c<=pProp->Last))
                        break;
        }
        if( pProp )
        {
                if( c >= 0x20 && c < 0x80 )
                        ret = pProp;
                else if( (c&0xFF)>=0xA1 && (c&0xFF)<=0xFE && (c>>8)>=0xA1 && (c>>8)<=0xF7 )
                        ret = pProp;
        }
        return ret;
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       GUIGB2312_DispChar
*
* Purpose:
*   This is the routine that displays a character. It is used by all
*   other routines which display characters as a subroutine.
*/


void GUIGB2312_DispChar(U16P c) {
        int BytesPerLine;
        GUI_DRAWMODE DrawMode = GUI_pContext->TextMode;
        const GUI_FONT_PROP* pProp = GUIGB2312_FindChar(GUI_pContext->pAFont->p.pProp, c);
        U32 oft;     //字库的起始地址和偏移量
        int BytesPerFont;

        if (pProp) {
                GUI_DRAWMODE OldDrawMode;
                const GUI_CHARINFO* pCharInfo = pProp->paCharInfo;
                BytesPerLine = pCharInfo->BytesPerLine;
                OldDrawMode  = LCD_SetDrawMode(DrawMode);

                BytesPerFont = GUI_pContext->pAFont->YSize * pProp->paCharInfo->BytesPerLine; //每个字模的数据字节数

                if (c < 0x80) //英文字符地址偏移算法
                {
                        oft = (c - 0x20) * BytesPerFont; //计算出字码在flash中的偏移地址
                }
                else //中文字符地址偏移算法
                {
                        oft = (((c>>8) - 0xa1) * 94 + ((c&0xff) - 0xa1)) * BytesPerFont;

                }                
                LCD_DrawBitmap(  GUI_pContext->DispPosX, GUI_pContext->DispPosY,
                        pCharInfo->XSize,
                        GUI_pContext->pAFont->YSize,
                        GUI_pContext->pAFont->XMag,
                        GUI_pContext->pAFont->YMag,
                        1,     /* Bits per Pixel */
                        BytesPerLine,
                        (U8 const *)pCharInfo->pData + oft,
                        NULL  /* no palette means default palette */
                        );
                /* Fill empty pixel lines */
                if (GUI_pContext->pAFont->YDist > GUI_pContext->pAFont->YSize) {
                        int YMag = GUI_pContext->pAFont->YMag;
                        int YDist = GUI_pContext->pAFont->YDist * YMag;
                        int YSize = GUI_pContext->pAFont->YSize * YMag;
                        if (DrawMode != LCD_DRAWMODE_TRANS) {
                                LCD_COLOR OldColor = GUI_GetColor();
                                GUI_SetColor(GUI_GetBkColor());
                                LCD_FillRect(GUI_pContext->DispPosX,
                                        GUI_pContext->DispPosY + YSize,
                                        GUI_pContext->DispPosX + pCharInfo->XSize,
                                        GUI_pContext->DispPosY + YDist);
                                GUI_SetColor(OldColor);
                        }
                }
                LCD_SetDrawMode(OldDrawMode); /* Restore draw mode */
                GUI_pContext->DispPosX += pCharInfo->XDist;
        }
}

/*********************************************************************
*
*       GUIGB2312_GetCharDistX
*/
int GUIGB2312_GetCharDistX(U16P c, int * pSizeX) {
        const GUI_FONT_PROP GUI_UNI_PTR * pProp = GUIGB2312_FindChar(GUI_pContext->pAFont->p.pProp, c);
        return (pProp) ? (pProp->paCharInfo+(c-pProp->First))->XSize * GUI_pContext->pAFont->XMag : 0;
}

/*********************************************************************
*
*       GUIGB2312_GetFontInfo
*/
void GUIGB2312_GetFontInfo(const GUI_FONT GUI_UNI_PTR * pFont, GUI_FONTINFO* pfi) {
        GUI_USE_PARA(pFont);
        pfi->Flags = GUI_FONTINFO_FLAG_PROP;
}

/*********************************************************************
*
*       GUIGB2312_IsInFont
*/
char GUIGB2312_IsInFont(const GUI_FONT GUI_UNI_PTR * pFont, U16 c) {
        const GUI_FONT_PROP GUI_UNI_PTR * pProp = GUIGB2312_FindChar(pFont->p.pProp, c);
        return (pProp==NULL) ? 0 : 1;
}

/*************************** End of file ****************************/


字库中的定义
DECLARE_FONT(GB2312);
GUI_CONST_STORAGE GUI_FONT GUI_FontGB2312HZ12 = {
        GUIGB2312_DispChar,            
        GUIGB2312_GetCharDistX,         
        GUIGB2312_GetFontInfo,         
        GUIGB2312_IsInFont,            
        (GUI_GETCHARINFO *)0,         
        (tGUI_ENC_APIList*)0,
        16,
        16,
        1,  
        1,  
        (void GUI_FLASH *)&GUI_FontHZ12_Prop0020
};

出0入0汤圆

发表于 2013-8-6 00:15:00 | 显示全部楼层
如果不方便在网上公开,你可以发到我邮箱中:hygbeyond@qq.com
我把移植好的字库放在网上让大家都能使用。

出0入34汤圆

 楼主| 发表于 2013-8-6 09:50:32 | 显示全部楼层
hygbeyond 发表于 2013-8-6 00:05
哥们,你能把GUICharP.c 这个文件共享一下吗?主要用于移植中文字库
5.12上字库相关的函数定义
typedef voi ...

不好意思,请您详见我楼主位的说明,谢谢..

出0入0汤圆

发表于 2013-8-6 11:56:00 | 显示全部楼层
没有关系,这个主要是移植字库算法,这一部分应该不涉及到版权问题,主要的功能是本地化优化。
void GUIPROP_DispChar(U16P c) ;
int GUIPROP_GetCharDistX(U16P c, int * pSizeX);
能不能让看看这个两个函数。
如果不能只能看汇编代码了,太麻烦了。

出0入0汤圆

发表于 2013-8-6 12:06:10 | 显示全部楼层
GUI_pContext 和 GUI_Context的区别
int GUIPROP_GetCharDistX(U16P c, int * pSizeX) 中pSizex的功能和用法

出0入0汤圆

发表于 2013-8-6 18:18:26 | 显示全部楼层
恩,不知道和MiniGUI比,各有什么优缺点。
希望楼主早日写出用户体验。

出0入34汤圆

 楼主| 发表于 2013-8-7 09:55:30 | 显示全部楼层
fattian8321 发表于 2013-8-6 18:18
恩,不知道和MiniGUI比,各有什么优缺点。
希望楼主早日写出用户体验。
...

用户体验是吧?! 请见这帖-> 问大家一个UCGUI的问题,UCGUI跟MINIGUI是一家的吗  的 4 楼 zpxa001 有说明.

详细的用户体验就烦请您来述说了,我说 fattian8321 兄呀! 这劳烦您了 ...

出0入34汤圆

 楼主| 发表于 2013-8-7 10:32:06 | 显示全部楼层
hygbeyond 发表于 2013-8-6 12:06
GUI_pContext 和 GUI_Context的区别
int GUIPROP_GetCharDistX(U16P c, int * pSizeX) 中pSizex的功能和用 ...

hygbeyond 兄,不好意思现在才回复您,昨天早上公司开会,下午又赶去医院看诊拿药,搞到很晚才回到家,回家就休息了也没上线而无法回复您,请您见谅.

而您说的这一部分应该不涉及到版权问题,这一点我不这么任为我也无法认同,且我在楼主位已有说明过了,我将这 Segger 对于版权的声明贴于下方请您参考:



其实这文件内就只有您说的这两个含数比种较大,另外还有两个含数的代码比重较小,分别是:

void GUIPROP_GetFontInfo(const GUI_FONT GUI_UNI_PTR * pFont, GUI_FONTINFO* pfi)

char GUIPROP_IsInFont(const GUI_FONT GUI_UNI_PTR * pFont, U16 c)

我在此再度的声明,无论如何我真的是无法提供这代码给您参考,无论今后有无破解或流出至网路上的版本都与我无关,就因为......这是我们公司的财产!

真的很不好意思 hygbeyond 兄,盼您能谅解,纵使我今天不在这家公司工作了也是无法释出这代码的. 这真是抱歉了!

另外我在坛内有搜到一篇貌似在讲述类似的状况的,您看看有无帮助否?! 关于目前网上流传ucgui3.9*中消息框无法正确显示汉字问题!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-8-7 13:07:39 | 显示全部楼层
没有关系,我通过DEBUG来调试,通过汇编分析,昨天弄得基本上差不多了,主要是看看5.12与3.9差异化。
GUI_pContext 和 GUI_Context没有什么区别,一个是指针,另一个是数据,用法一样
int GUIPROP_GetCharDistX(U16P c, int * pSizeX)应该是用于扩展,pSizeX是一个空指针。用法也是同int GUIPROP_GetCharDistX(U16P c)一样的

出0入0汤圆

发表于 2013-8-7 13:15:08 | 显示全部楼层
现在字库基本上是GB2312的码,而且网上的版本是一个宋体12的字库,按照日文的编码方式弄的,比较大,测试程序加上字库快500k了。再加上自己的代码估计1788不够用了,想改一下字库算法可以节约不少空间。同时可以用自己写的字库软件来创建不同的字库
不过还是比较感谢哥们的回复,本来我是不太想研究这个gui,只是应用一下就行了,这样也给我一个研究的理由,哈哈。

出0入34汤圆

 楼主| 发表于 2013-8-7 13:33:47 | 显示全部楼层
hygbeyond 发表于 2013-8-7 13:15
现在字库基本上是GB2312的码,而且网上的版本是一个宋体12的字库,按照日文的编码方式弄的,比较大,测试程 ...

嗯,好的! 其实我约略看了一下那代码,您所指的那 pSizex 指针在他们的 GUI_CharP.c 内仅写成了一行的代码,貌似从好几个 Structure 一直将某个东西给放入那 pSizex 内,且前提是 pSizex 必须要有值才行.

好吧! 我能说的也就这样了,在此祝您研究顺利了 ...

出0入0汤圆

发表于 2013-8-14 09:48:52 | 显示全部楼层
mark,学习下gui。

出0入0汤圆

发表于 2013-9-4 20:55:49 | 显示全部楼层
了解了好多东西,学习了,谢谢!

出0入0汤圆

发表于 2013-9-4 22:54:02 | 显示全部楼层
对于你们公司这种用正版不用盗版 宁可花大价钱促进外国经济增长 的行为   我只能说:贵公司招人嘛?

出0入34汤圆

 楼主| 发表于 2013-9-5 09:39:30 | 显示全部楼层
knight_lxf 发表于 2013-9-4 22:54
对于你们公司这种用正版不用盗版 宁可花大价钱促进外国经济增长 的行为   我只能说:贵公司招人嘛? ...

招呀! 这好几年来一直都在招人,尤其是研发人员,喔!~ 对不起,应该称为"杂工",我们从未放弃过招人也没有解聘任何公司的员工过!

您只要来台准备好工作证都可以来面试! 我们也另有公司宿舍可以让您住,什么吃呀住呀交通呀公司都有给予很优厚补助的 ...

出0入34汤圆

 楼主| 发表于 2013-9-5 09:56:02 | 显示全部楼层
hygbeyond 发表于 2013-8-7 13:15
现在字库基本上是GB2312的码,而且网上的版本是一个宋体12的字库,按照日文的编码方式弄的,比较大,测试程 ...

hygbeyond 兄,您上次的问题您可以看看这一帖-> emwin 汉字显示方法  不知对您是否有帮助?! 其他的我表示实在帮不上什么忙了,尚请您能见谅 ...  

出0入0汤圆

发表于 2013-9-6 11:06:23 | 显示全部楼层
谢了,前段时间弄完了,我的字库生成软件没有弄完,这段时间比较忙没有顾得上弄,到时候弄完了放在论坛中。

出0入34汤圆

 楼主| 发表于 2013-9-6 12:01:03 | 显示全部楼层
hygbeyond 发表于 2013-9-6 11:06
谢了,前段时间弄完了,我的字库生成软件没有弄完,这段时间比较忙没有顾得上弄,到时候弄完了放在论坛中。 ...

不客气! 好的,明白了! 若您有空也可以参考这帖-> emwin汉字直接显示,太方便了  或许也能给您一些助益 ...   

出0入0汤圆

发表于 2013-9-12 10:18:10 | 显示全部楼层
"开放源码"这件事是个良心事业,
但并不表"不开放源码"就没有良心,
毕竟好的程式也是需要知识,精神与时间的,
写程式的人也要吃饭啊, 尊重一下别人的作品.




出0入0汤圆

发表于 2013-9-29 17:40:13 | 显示全部楼层
界面太华丽了,看得我直流口水……

出0入0汤圆

发表于 2013-10-3 20:26:48 来自手机 | 显示全部楼层
楼主水平高,态度好,在楼主提示下也把emwin5.20在stm32上移植好了,谢谢 资料在论坛找到

出0入34汤圆

 楼主| 发表于 2013-10-4 09:42:59 | 显示全部楼层
ersha4877 发表于 2013-10-3 20:26
楼主水平高,态度好,在楼主提示下也把emwin5.20在stm32上移植好了,谢谢 资料在论坛找到 ...

ersha4877 兄,您客气了.   貌似我也没帮上您什么忙 ...

自我拿到目前公司更新最后的这 5.18 版后一直都没空去看它! 我因平日忙公司处理产品的程序就够累人了,回到家及假期因身体不适几乎都是处在休息的状态下也没空去捣鼓它.

若是早几年我还有这份精力与毅力的话我可能真会将其移植到我众多的 MCU 开发版上来玩玩. 但目前看来就只能算是收藏的份了 ...

不过若您或其他坛友对这 emWin 有疑问而又不牵扯到其版权问题的话,到是可以提出来看看可否相互交流一下,呵呵~

出0入0汤圆

发表于 2013-12-2 08:54:28 | 显示全部楼层
xyz543 发表于 2013-10-4 09:42
ersha4877 兄,您客气了.   貌似我也没帮上您什么忙 ...  

自我拿到目前公司更新 ...

哥们能把你那份emwin源码共享吗 很期待呀

出0入34汤圆

 楼主| 发表于 2013-12-2 11:12:17 | 显示全部楼层
yuwangwangyu 发表于 2013-12-2 08:54
哥们能把你那份emwin源码共享吗 很期待呀

我也很期待您能留意看完我于楼主位最后一行所写的与表达的意思呀! ...

出0入0汤圆

发表于 2014-2-22 21:11:50 | 显示全部楼层
MARK,路过

出0入0汤圆

发表于 2014-2-24 10:09:00 | 显示全部楼层
mark...

出0入0汤圆

发表于 2014-2-25 10:14:32 | 显示全部楼层
羡慕嫉妒

出0入0汤圆

发表于 2014-2-27 09:56:13 | 显示全部楼层
来看看正版是什么样的,呵呵

出0入0汤圆

发表于 2014-3-16 12:07:47 | 显示全部楼层
兄台既不愿意公开源码,又不专做GUI的项目,难道是来打酱油的?

出0入34汤圆

 楼主| 发表于 2014-3-16 21:04:13 | 显示全部楼层
xtrig 发表于 2014-3-16 12:07
兄台既不愿意公开源码,又不专做GUI的项目,难道是来打酱油的?

是呀!就算是我来打酱油的好了,呵呵~

这东西是公司的财产,您...认为我方便公开吗?!...

出0入0汤圆

发表于 2014-3-17 01:07:54 | 显示全部楼层
商业化GUI的价格很高,开源的很少,ucGUI之前版本源码有被破解,也算是一启蒙。兄台如对GUI有深入研究,可以开贴深入探讨GUI的原理,也算对提升吾等愚民设计水平有所帮组。如是来炫技露富,该打酱油就还是去打酱油吧。

出0入34汤圆

 楼主| 发表于 2014-3-17 10:13:55 | 显示全部楼层
xtrig 发表于 2014-3-17 01:07
商业化GUI的价格很高,开源的很少,ucGUI之前版本源码有被破解,也算是一启蒙。兄台如对GUI有深入研究,可 ...

谢谢您如此的抬举我,早些年因工作需要而用上了这 GUI,我并不很精通,只是会点移植与使用吧了!纯因工作上的需要而已。

不过您认为我是来打酱油的,那就算我是来打酱油的吧!我到是无所谓的啦!...现在我手头上工作很多很烦杂,要写要改的 Code 很多,目前恐无暇深入研究这东西!不过一有新的版本我就先收藏了而已,呵呵~

出0入0汤圆

发表于 2014-3-17 11:05:34 | 显示全部楼层
楼主是研华的?

出0入34汤圆

 楼主| 发表于 2014-3-17 11:39:04 | 显示全部楼层

很抱歉,您猜錯了!我不是研华的員工,哈!...

出0入0汤圆

发表于 2014-3-17 12:08:36 | 显示全部楼层
有源码没时间研究,羡慕嫉妒中...
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 11:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表