如何将FBReader引入MID
来源:互联网 发布:apache添加虚拟主机 编辑:程序博客网 时间:2024/04/29 20:38
1.从FBReader的官网(http://www.fbreader.org/)得到源代码包
(这里用到的是fbreader-0.8.17)
2.编译,执行make,报错,这是因为其用到了linebreak这个库,他是负责处理unicode编码文档的换行问题的。
google到linebreak,make,将DebugDir里的*.a *.o全部复制到/usr/lib/下面,再将linebreak.h复制到/usr/include下面,即可编译通过。
3.由于现在是为MID做的,故将其显示到Xephyr的800x480的屏幕里,就会有很多问题
问题一: 执行会直接退出显示内存错误-->原因为
zlibrary/text/src/view/ZLTextPositionIndicator.cpp文件中的muldiv函数中
执行了一个0/0的非法计算
--用判断函数输入的方式解决。
问题二: 若打开文档中图片尺寸超出屏幕范围,不显示-->原因为
其设计理念是当前要在屏幕上画的对象的高减去上一个对象的终止位置,
与屏幕高作比较,看能否放下,
显然封面图片肯定是放不下的,怎么办?这里只能够在画之前进行缩小。
zlibrary/ui/src/maemo/view/ZLGtkPaintContext.cpp文件中的drawImage函数
是负责获得要打开文档中图片的大小。
这里使用gdk_pixbuf_scale_simple函数在返回之前将其缩小到符合屏幕尺寸。
这样还没有完成,因为FBReader支持90度旋转显示,故还要考虑,
两种情况能否都能放得下。
zlibrary/ui/src/maemo/view/ZLGtkPaintContext.cpp文件中的updatePixmap函数
通过分析当前是横向还是纵向显示,设定一个flag,
让drawImage函数按不同情况缩放。
问题三: 查找对话框失效-->原因未查,disable整个对话框
客户未提出要求,故直接隐藏,方法是修改两个XML文件menubar.xml,toolbar.xml
问题四: 设置对话框中的tab多,显示不下,且不能左右滚动显示-->就差一点
原先的版本是支持的
zlibrary/ui/src/maemo/dialogs/ZLGtkOptionsDialog.cpp的ZLGtkOptionsDialog
myNotebook = GTK_NOTEBOOK(gtk_notebook_new());后面加一句
gtk_notebook_set_scrollable(myNotebook, true);即可
问题五: 打开.epub文件并关闭FBReader后,在也无法启动FBReader-->还真有问题
是其打开这种压缩文件的机制不正确,不同于打开zip。其保存的位置有问题,故将其不保存。
问题六: 国际化未翻译完全-->找对文件就好了
fbreader/data/resources/
zliabray/core/data/resources/
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xpx3216/archive/2008/11/27/3389095.aspx
- 如何将FBReader引入MID
- 如何将FBReader引入MID
- FBreader
- 如何将NoSQL引入现有架构系统
- 如何将RxSwift引入项目中
- 如何删除添加mid-layer
- 浅谈如何将NoSQL引入现有架构系统
- 浅谈如何将NoSQL引入现有架构系统
- 如何将一个项目引入到另一个项目
- 如何将jar包引入到web app libraries中
- MID
- 如何把FBReader集成到自己的项目中
- 如何在Firefox中播放MID文件?
- 将google引入
- MyEclipse如何安装egi插件及如何将github项目引入MyEclipse中
- fbreader流程图
- FBReader 探究
- FBReader接入
- Cannot modify header information - headers already sent by错误解决办法
- 素数
- _variant_t ,_bstr_t 与 CString 类有什么区别
- 简单的高亮关键字的Javascript实现方式
- zoj 2520 Amicable Pairs
- 如何将FBReader引入MID
- linux内核阅读工具
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起
- Linux非常有用的设置
- Linux主机下配置Oracle 10G自动启动
- Data Services Stress Testing Framework
- HTML网页与FLASH之间的“静态”传值
- 使用Spring中的IoC功能来实现我们所开发项目系统的国际化
- 堆和栈