FBReader移植日记 第一天
│ └─yueang
│ ├─log
│ │ MyLog.java
│ │ MyUtils.java
│ │
│ ├─newreader
│ │ │ MainActivity.java
│ │ │ Paths.java
│ │ │
│ │ ├─book
│ │ │ Author.java
│ │ │ Book.java
│ │ │ BookDatabase.java
│ │ │ Bookmark.java
│ │ │ FileInfo.java
│ │ │ FileInfoSet.java
│ │ │ Series.java
│ │ │ SeriesInfo.java
│ │ │ Tag.java
│ │ │ UID.java
│ │ │
│ │ ├─bookmodel
│ │ │ BookReadingException.java
│ │ │
│ │ └─sort
│ │ TitledEntity.java
│ │
│ └─zlibrary
│ ├─core
│ │ ├─config
│ │ │ ZLConfig.java
│ │ │
│ │ ├─filesystem
│ │ │ │ ZLArchiveEntryFile.java
│ │ │ │ ZLFile.java
│ │ │ │ ZLPhysicalFile.java
│ │ │ │ ZLResourceFile.java
│ │ │ │ ZLZipEntryFile.java
│ │ │ │
│ │ │ └─tar
│ │ │ ZLTarEntryFile.java
│ │ │ ZLTarHeader.java
│ │ │ ZLTarInputStream.java
│ │ │
│ │ ├─image
│ │ │ ZLImage.java
│ │ │ ZLImageData.java
│ │ │ ZLImageManager.java
│ │ │ ZLLoadableImage.java
│ │ │ ZLSingleImage.java
│ │ │
│ │ ├─language
│ │ │ Language.java
│ │ │
│ │ ├─library
│ │ │ ZLibrary.java
│ │ │
│ │ ├─options
│ │ │ ZLOption.java
│ │ │ ZLStringOption.java
│ │ │
│ │ ├─resources
│ │ │ ZLMissingResource.java
│ │ │ ZLResource.java
│ │ │ ZLTreeResource.java
│ │ │
│ │ ├─tree
│ │ │ ZLTree.java
│ │ │
│ │ ├─util
│ │ │ MimeType.java
│ │ │ MiscUtil.java
│ │ │ ZLArrayUtils.java
│ │ │ ZLBoolean3.java
│ │ │ ZLColor.java
│ │ │
│ │ └─xml
│ │ ZLDTDParser.java
│ │ ZLMutableString.java
│ │ ZLStringMap.java
│ │ ZLXMLParser.java
│ │ ZLXMLProcessor.java
│ │ ZLXMLReader.java
│ │ ZLXMLReaderAdapter.java
│ │
│ └─text
│ ├─model
│ │ ZLImageEntry.java
│ │ ZLTextMark.java
│ │ ZLTextMetrics.java
│ │ ZLTextModel.java
│ │ ZLTextParagraph.java
│ │ ZLTextStyleEntry.java
│ │
│ └─view
│ ZLPaintContext.java
│ ZLTextControlElement.java
│ ZLTextElement.java
│ ZLTextFixedHSpaceElement.java
│ ZLTextFixedPosition.java
│ ZLTextHyperlink.java
│ ZLTextHyperlinkControlElement.java
│ ZLTextImageElement.java
│ ZLTextParagraphCursor.java
│ ZLTextParagraphCursorCache.java
│ ZLTextPosition.java
│ ZLTextStyleElement.java
│ ZLTextWord.java
│ ZLTextWordCursor.java
│
└─org
├─amse
│ └─ys
│ └─zip
│ Decompressor.java
│ DeflatingDecompressor.java
│ LocalFileHeader.java
│ MyBufferedInputStream.java
│ NoCompressionDecompressor.java
│ ZipException.java
│ ZipFile.java
│ ZipInputStream.java
│
└─vimgadgets
└─linebreak
LineBreaker.java
public void findEnd(ZLTextView view) {
if (myEnd != null) {
return;
}
ZLTextWordCursor cursor = view.getStartCursor();
if (cursor.isNull()) {
cursor = view.getEndCursor();
}
if (cursor.isNull()) {
return;
}
cursor = new ZLTextWordCursor(cursor);
cursor.moveTo(this);
ZLTextWord word = null;
mainLoop:
for (int count = myLength; count > 0; cursor.nextWord()) {
while (cursor.isEndOfParagraph()) {
if (!cursor.nextParagraph()) {
break mainLoop;
}
}
final ZLTextElement element = cursor.getElement();
if (element instanceof ZLTextWord) {
if (word != null) {
--count;
}
word = (ZLTextWord)element;
System.err.println(new String(word.Data, word.Offset, word.Length));
count -= word.Length;
}
}
if (word != null) {
myEnd = new ZLTextFixedPosition(
cursor.getParagraphIndex(),
cursor.getElementIndex(),
word.Length
);
}
}
我们遇到了ZLTextView,从这个类开始我们的代码将要进入另外一个部分,那就是与排版相关的代码,那么如果我们打算隔离开这些代码暂时完成解析相关的代码,该如何做呢?我们下一篇再继续,敬请期待
FBReader移植日记 第一天的更多相关文章
- FBReader移植日记 第二天
昨天我们的移植工作进行了一大半,还留下两个重要的部分没有完成:1.没有移植的 ZLTextView,2.FormatPlugin相关的类. 第一个问题我们放在后面解决,下面先解决格式插件的问题. 我们 ...
- FFmpeg在Android上的移植之第一步
http://blog.sina.com.cn/s/blog_69a04cf40100x1fr.html 从事多媒体软件开发的人几乎没有不知道FFmpeg的,很多视频播放器都是基于FFmpeg开发的. ...
- “数学口袋精灵”App的第三个Sprint计划----开发日记(第一天12.7~第十天12.16)
“数学口袋精灵”第三个Sprint计划----第一天 项目进度: 基本完成一个小游戏,游戏具有:随机产生算式,判断对错功能.通过轻快的背景音乐,音效,给玩家提供一个良好的氛围. 任务分配: 冯美欣: ...
- Egret入门学习日记 --- 第一篇 (引擎的选择)
第一篇 (引擎的选择) 我人比较笨,得慢慢学,我就一点一点来好了. 首先,我个人喜欢游戏.网页开发相对游戏开发来说,网页开发实在太枯燥了,没劲.所以打算转游戏开发了. 游戏开发要选择游戏引擎,我去看了 ...
- 淘宝(阿里百川)手机客户端开发日记第一篇 android 主框架搭建(一)
android 主框架搭建(一) 1.开发环境:Android Studio 相继点击下一步,直接项目建立完毕(如下图) 图片看的效果如果很小,请放大您的浏览器显示百分比 转载请注明http://w ...
- 傲娇Android二三事之操蛋的开发日记(第一回)
武宗元年 十一月初四 霾 今日魔都,依旧仙雾环绕,仿佛蓬莱落凡尘.望着470这个鲜红的AQI修仙指数,贫道不禁吟道,“正是修仙好光景,雾霾时节又逢君”.但在这个只修bug,不修仙的时代,路上的行人都步 ...
- 【Alpha】咸鱼冲刺日记第一天-黄紫仪
总汇链接 一,合照 emmmmm.自然是没有的. 二,项目燃尽图 emmmmm,事实上它还没有正式开始.所以依旧没有[突然觉得明天任务真重] 三,项目进展 emmmmm,我错了咸鱼了两天才突然反应过来 ...
- ASP.NET MVC5 高级编程-学习日记-第一章 入门
1.1 ASP.NET MVC 简介 ASP.NET是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. 1.1.1 MVC模式 ...
- Cocos2D-X2.2.3学习笔记9(处理重力感应事件,移植到Android加入两次返回退出游戏效果)
这节我们来学习Cocos2d-x的最后一节.怎样处理重力感应事件.移植到Android后加入再按一次返回键退出游戏等.我这里用的Android.IOS不会也没设备呃 效果图不好弄,由于是要移植到真机上 ...
随机推荐
- Android30-Fragment-理解
Android30-Fragment-理解 规范 mobileSafe V2.0 欢迎页面 用户第一次是否需要用户提示 新闻类app的数据是怎么获取的 知乎提问?如何把身边资源最大化 第二种就 ...
- struts2-ognl 访问静态方法
在内网基本上还真没看到有哥们发现这个问题, 在google上有的哥们说 这是 v 2.3.20的一个bug, 有的人说在该版本中已经不建议通过ognl方式访问静态方法了. 对于这两种说法, 我比较赞同 ...
- 查看alter错误,grep -A,-B,-C的妙用
alert 日志记录了数据库的很多重要信息,要养成时常检查alert日志的习惯,但如果日志很大vi打开翻来覆去找着麻烦,怎么做的可以查错呢? 看我的测试 [oracle@ahjcyl-db bdump ...
- JavaScript 删除数组重复元素
unique :function (array){ var n = {}, r = [], len = array.length, val, type; for (var i = 0; i < ...
- C与C++的区别
C++与C的区别 1. 动态分配内存 1)C语言 a. malloc函数:在内存的动态存储区中分配一个长度为size的连续空间: void *malloc(unsigned int siz ...
- 关于正则表达式的转义 PHP
如正则的函数 preg_replace($patern, $replacement, $content) 等等 其中如果 $content 中要替换 \ 成 /,必须在 $patern中写成 \\\\ ...
- table 添加右键,并获取选中行信息
import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java. ...
- JS判断浏览器类型以及版本号
<script type="text/javascript"> (function(){ window.nav={}; ...
- odoo8 email
?? return 地址和 from 地址不一致,为什么不能发送成功? replay地址. 根据对象(比如purchase.order)发送邮件,可以通过supermessage_get_email_ ...
- SOSEx ReadMe
Quick Ref:--------------------------------------------------bhi [filename] BuildHeapIndex - Builds a ...