![](/skins/rivercast/images/title_post.gif)
2010年11月6日
点击下载
最近太忙, 短时间内不会更新了,虽然还有一大堆还不太满意的地方...
还有来不及调试, 可能有BUG(必油鸡), 大家随便看看, 并指导一下,
先说一下特色吧, 就是智能换行, 全文扫描标点符(分前标点后标点), 支持多国语言.
实现全模板化, 简单的实体化如下,
1
#include "ShowDebugInfo.h" //输出调试信息
2
#include "..\RcEditDef.h" //预定义
3![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
4
#include "..\RcEditFontRecyclel.h" //字体回收站
5
#include "..\RcEditAlgorithm.h" //算法
6![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CFontRecyclel : public CFontRecyclelSimpT<CFontRecyclel>
{};
7![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
8
#include "RcEditColor.h" //颜色
9
#include "..\RcFontStyle.h" //风格
10![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CFontStyle : public CFontStyleT<CFontStyle, CWinColor, CFontRecyclel>
{};
11![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
12
#include "RcWinDriverInterface.h" //CRcDCInterfaceT 设备接口
13![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CWinDcInterface : public CRcDCInterfaceT<CWinColor>
{};//Comb ccolor
14![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
15
#include "RcWinFontInterface.h" //CWinFont
16
#include "..\RcEditDriverInterface.h" //CRcEditDriverInterfaceT
17![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CRcWinDriverInterface : public CRcEditDriverInterfaceT<CRcWinDriverInterface, CWinFont, CWinDcInterface>
{//Comb Font
18
};
19
#include "RcEdit/RcEditStringAnalysis.h" //定义int 与全局属性不对 需要修改int ixxx to int nxxx
20![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CRcEditDrawInterface : public CRcEditStringAnalysisT< CRcEditDrawInterface, CFontStyle, CRcWinDriverInterface>
{};
21
//内容容器
22
#include "..\RcEditTextContainer.h"
23
#include "RcWinTextContainer.h" //ContentManageW
24
//撤销重做容器
25
#include "..\rcEditUndo.h"
26![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CDoSthBase : public CDoSthBaseT<CDoSthBase>
{};
27![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CRcEditUndoContainer : public CRcEditUndoContainerT<CRcEditUndoContainer, CDoSthBase>
{};
28
//区域管理
29
#include "..\RcEditAreaManage.h"
30
typedef AutoSortVectorT< AreaMarkHandle, DWORD, std::vector<AreaMarkHandle>, OSTL::CriticalSectionNull, 0, FALSE> CAreaContainer;
31![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CAreaMarkContainer : public CAreaMarkContainerT<CAreaContainer>
{};
32![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CRcAreaManage : public CRcAreaManageBaseT<CRcAreaManage, CAreaMarkContainer>
{};
33
//内存池
34
#include "..\rcMemPool.h"
35![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class RcMemBufferPool : public RcMemBufferPoolT<4, 1024, 4096, OSTL::CriticalSection>
{};
36
//行分析
37
#include "..\RcEditLineAnlyze.h"
38
//滚动条
39
#include "..\RcEditScrollBase.h"
40
#include "RcWinScroll.h" //定义int 与全局属性不对 需要修改int ixxx to int nxxx
41
//主编辑器核心
42
#include "..\RcEditBase.h"
43
//编辑器主接口
44
class CRcEditInterface : public TRcEditInterface<ContentManageW, RcMemBufferPool,
45
CRcEditUndoContainer, CRcAreaManage,
46![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
CRcEditDrawInterface, CWindowScroll>
{};
47
//具体实现
48
template<class T, class TInterface>
49![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
class CRcEditBaseT : public CLineAnlyzeBaseT<T, TInterface>
{
50
public:
51
typedef typename CLineAnlyzeBaseT<T, TInterface> TLineAnlyze;
52
typedef typename TLineAnlyze::TLineInfo TLineInfo;
53
typedef typename TInterface::TTextContainer CTextContainer, TTextContainer;
54
typedef typename TInterface::TTextContainer::TVal TTextDate, TTextChar;
55
typedef typename TInterface::TTextContainer::iterator TextIterator;
56
typedef typename TInterface::TUndoContainer TUndoContainer, CUndoContainer;
57
typedef typename TInterface::TUndoContainer::CDoSthBase CDoSthBase, CDoSthInfo, TDoSthBase, TDoSthInfo;
58
typedef typename TInterface::TAreaManage TAreaManage, CAreaManage;
59
typedef typename TInterface::TAreaManage::CAreaMarkContainer CAreaMarkContainer, TAreaMarkContainer;
60
typedef typename TInterface::TDrawInterface TDrawInterface, CDrawInterface;
61
typedef typename TInterface::TDrawInterface::TStyle TStyle, TFontStyle, CStyle, CFontStyle;
62
typedef typename TInterface::TDrawInterface::TStyle::TColor TColor, CColor;
63
typedef typename TInterface::CriticalSectionT CriticalSectionT, CCriticalSection;
64
typedef typename TInterface::TMemBufferPool TMemBufferPool, CMemBufferPool;
65
typedef typename TInterface::TEditScrollBar TEditScrollBar, CEditScrollBar;
66![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/dot.gif)
![](http://www.cppblog.com/Images/dot.gif)
67
};
posted @
2010-11-06 18:50 ROCK 阅读(1434) |
评论 (2) |
编辑 收藏
![](/skins/rivercast/images/title_post.gif)
2010年8月13日
支持简单RTF粘贴, 快速打开大文件,动态更新滚动条内容(因CPU不同可能会卡), 多语言(阿拉伯文从右到左, 梵文的多字符结合后=不同字符等都解决了), 支持风格和图片...不过都是纯为实现功能而弄(可能会出现严重BUG),
按钮上的功能都是纯为测试, 如设置字体大小是随机变的,所以可能会没有改变, TESTTHREAD是多线程的暴力测试. SETURL就已经没用了
因为之前想实现的功能太多导致代码太混乱(产生很多BUG弄到头晕), 核心在优化重写中, 新版本可能近日完成, 对这个旧版本, 有兴趣就看看吧....
新核心版本可能在近期完成吧
点击下载
posted @
2010-08-13 03:45 ROCK 阅读(1697) |
评论 (2) |
编辑 收藏
![](/skins/rivercast/images/title_post.gif)
2010年7月31日
点击下载
支持网站如下:
http://www.dm5.com/ http://www.cococomic.com/
http://www.imanhua.com/
http://acg.178.com/mh/index.shtml
http://www.mday.com.cn/
是用来测试之前用WSAEVENT的模型和模板重新封装的SOCKETEX类, 多线程性能的... 暂时最多支持32个线程同时分析...有兴趣可以测试一下
8.2 更新 : http://acg.178.com/mh/index.shtml 换了域名 http://manhua.178.com/ 修复下载
范例:
http://www.cococomic.com/comic/6643/
http://www.dm5.com/Type.aspx?id=7368 等
posted @
2010-07-31 15:42 ROCK 阅读(516) |
评论 (1) |
编辑 收藏