纯 C 语言函数主要在 <etk/kernel/Kernel.h> 中,其包含了大部分的 时间/线程/互斥锁/信号量/共享内存/快速信箱/动态载入 等等一系列接口,在此我不再详叙。以下为 ETK++ 已实现的 C++ 类简单汇总,90% 左右与对应的 BeOS API 中的类相同用法(将 E 换为 B),其它因考虑跨平台而有所不同,也正因为这些,我们的定位不是整个 BeOS API 而是尽量多的工具集型式;以后再考虑以宏或其它方式兼容 BeOS API。
为避免在不同的编译系统因意外的原因影响线程安全,现 ETK++ 库不采用 C++ 中的 EH/STL 以及尽量减少依赖的运行库。
| 集合名称 |
已实现类名 |
简要说明 |
最低版本要求 |
| Application
Kit |
|
|
class EApplication |
控制所有 ELooper 和接收及处理系统事件 |
0.1.14 |
|
class EHandler |
最基本的事件驱动对象 |
0.1.14 |
|
class EInvoker |
发送指定消息或通知 |
0.1.14 |
|
class ELooper |
占用一个线程的事件循环体(可被其它线程托管) |
0.1.14 |
|
class EMessage |
消息定义/回复 |
0.1.14 |
|
class EMessageQueue |
消息/事件列队 |
0.1.14 |
|
class EMessageRunner |
定时发送消息 |
0.1.14 |
|
class EMessenger |
消息发送(线程安全类) |
0.1.14 |
|
class EClipboard |
剪贴板 |
0.1.17 |
|
class ECursor |
鼠标形状定义 |
0.1.17 |
|
class EMessageFilter |
消息过滤机制 |
0.1.17 |
|
|
| Support Kit |
|
|
class EArchivable |
存储类信息及类再现 |
0.1.14 |
|
class EList |
序号型快速链表 |
0.1.14 |
|
class ELocker |
可嵌套锁(足够多次嵌套) |
0.1.14 |
|
class ESimpleLocker |
简单的互斥锁 |
0.1.14 |
|
class EString |
字符串处理(包含格式化字符、UTF8/16/32转换) |
0.1.14 |
|
class EStringArray |
字符串组(可夹带UserData) |
0.1.14 |
|
template class EAutolock |
自动加解锁模板 |
0.1.14 |
|
|
| Storage Kit |
|
|
class EDirectory |
目录查询 |
0.1.14 |
|
class EEntry |
不检查是否存在的路径 |
0.1.14 |
|
class EFile |
文件读写等(尽可能的64位off_t) |
0.1.14 |
|
class EPath |
可检查的路径 |
0.1.14 |
|
class EVolume |
磁盘卷信息 |
0.1.14 |
|
class EVolumeRoster |
磁盘卷顺序查询 |
0.1.14 |
|
class EFilePanel |
文件选择对话框 |
0.3.1 |
|
|
| Render Kit |
|
|
class EArcGenerator |
无宽度椭圆/圆弧光栅生成器 |
0.1.14 |
|
class ELineGenerator |
无宽度直线光栅生成器 |
0.1.14 |
|
class EPixmap |
支持不同色彩空间的可绘位图数据 |
0.1.14 |
|
class ERender |
渲染工具(画点、线、弧、区域、多边形等) |
0.1.14 |
|
|
| Interface
Kit |
|
|
class EBox |
装饰边框 |
0.1.14 |
|
class EButton |
普通按钮 |
0.1.14 |
|
class ECheckBox |
检查按钮 |
0.1.14 |
|
class EControl |
控制组件的基类 |
0.1.14 |
|
class EFont |
字体 |
0.1.14 |
|
class EListItem |
列表视图的行构件 |
0.1.14 |
|
class EStringItem |
用于作为列表视图的字符串显示行构件 |
0.1.14 |
|
class EListView |
列表视图 |
0.1.14 |
|
class EMenu |
普通菜单 |
0.1.14 |
|
class EMenuBar |
菜单栏 |
0.1.14 |
|
class EMenuItem |
菜单项 |
0.1.14 |
|
class EMenuSeparatorItem |
分隔线菜单项 |
0.1.14 |
|
class EPoint |
点定义 |
0.1.14 |
|
class EPolygon |
多边形定义 |
0.1.14 |
|
class EPopUpMenu |
弹出式菜单 |
0.1.14 |
|
class ERect |
矩形区域定义及操作 |
0.1.14 |
|
class ERegion |
不规则区域定义及操作 |
0.1.14 |
|
class EScrollBar |
滚动条 |
0.1.14 |
|
class EScrollView |
可滚动视图 |
0.1.14 |
|
class EStatusBar |
进度显示构件 |
0.1.14 |
|
class EStringView |
多行字符串显示 |
0.1.14 |
|
class ETextEditable |
单行文本编辑 |
0.1.14 |
|
class EView |
所有可显示构件的基类(视图) |
0.1.14 |
|
class EWindow |
窗口类 |
0.1.14 |
|
class EAlert |
对话框信息显示 |
0.1.16 |
|
class EMenuField |
带标签的待选菜单 |
0.1.16 |
|
class ERadioButton |
组合按钮 |
0.1.16 |
|
class ETextControl |
单行带标签的文本编辑 |
0.1.16 |
|
class EBitmap |
位图缓冲 |
0.1.17 |
|
class EColorControl |
颜色选择器 |
0.1.17 |
|
class EOutlineListView |
树形列表视图 |
0.1.17 |
|
class ETab |
页视图标签 |
0.1.17 |
|
class ETabView |
页视图 |
0.1.17 |
|
class ETextView |
多行带样式的文本编辑 |
0.1.17 |
|
|
| Net Kit |
|
|
|
class ENetDebug |
网络调试 |
0.3.1 |
|
class ENetAddress |
网络地址解释 |
0.3.1 |
|
class ENetBuffer |
数据包封装 |
0.3.1 |
|
class ENetEndpoint |
点对点数据传输封装 |
0.3.1 |
|
|
| Xml Kit |
|
|
|
class ESimpleXmlNode |
简单的 XML 信息存储 |
0.1.14 |