Xlib编程中的资源关联与图形概念详解
1. 资源关联函数
在Xlib编程中,有时需要将任意信息与资源ID关联起来。虽然一些函数已被上下文管理函数取代,但Xlib提供了 XAssocTable 函数来实现这种关联。应用程序在事件发生时,常常需要方便地引用自己的数据结构, XAssocTable 系统为X库的用户提供了一种将自己的数据结构与X资源(如Pixmaps、Fonts、Windows等)关联的方法。
1.1 XAssocTable使用准则
- 所有XID都与指定的显示相关。
- 由于关联机制使用了哈希方案,确定
XAssocTable大小时应遵循以下规则:如果表的大小(哈希系统中的桶数)是2的幂,并且每个桶中的XID不超过8个,那么关联和查找操作会更高效。
1.2 创建XAssocTable
要返回一个指向新 XAssocTable 的指针,可以使用 XCreateAssocTable 函数:
XAssocTable *XCreateAssocTable(size);
参数 size 指定了 XAssocTable 哈希系统中的桶数。为了提高效率,桶数应该是2的幂。例如,每100个对象使用32个桶,每个桶中对象的合理最大数量是8。如果在为 XAssocT
超级会员免费看
订阅专栏 解锁全文
1629

被折叠的 条评论
为什么被折叠?



