20.X Window资源管理
在X Window中,资源是一个广泛使用的概念。它包括图片、光标和窗口等对象,可以是内置的,也可以是注册的。每个资源都有一个ID,这个ID是唯一的,在各个客户端之间相同的ID引用相同的资源。这不但提高了传输性能,也是解决了在不同进程,甚至不同机器之间资源共享的问题。
对资源管理的主要函数有:
RESTYPE
CreateNewResourceType(deleteFunc)
DeleteType deleteFunc;
RESTYPE
CreateNewResourceClass()
Bool
InitClientResources(client)
ClientPtr client;
void
GetXIDRange(client, server, minp, maxp)
int client;
Bool server;
XID *minp, *maxp;
Bool
AddResource(id, type, value)
XID id;
RESTYPE type;
pointer value;
void
FreeResource(id, skipDeleteFuncType)
XID id;
RESTYPE skipDeleteFuncType;
void
FreeResourceByType(id, type, skipFree)
XID id;
RESTYPE type;
Bool skipFree;
Bool
ChangeResourceValue (id, rtype, value)
XID id;
RESTYPE rtype;
pointer value;
void
FindClientResourcesByType(
ClientPtr client,
RESTYPE type,
FindResType func,
pointer cdata
)
(待续)