Lines Matching defs:dpyinfo
101 XExtDisplayInfo *dpyinfo;
103 dpyinfo = Xmalloc (sizeof (XExtDisplayInfo));
104 if (!dpyinfo) return NULL;
105 dpyinfo->display = dpy;
106 dpyinfo->data = data;
107 dpyinfo->codes = XInitExtension (dpy, ext_name);
113 if (dpyinfo->codes) {
116 for (i = 0, j = dpyinfo->codes->first_event; i < nevents; i++, j++) {
123 xgeExtRegister(dpy, dpyinfo->codes->major_opcode, hooks);
126 XESetCreateGC (dpy, dpyinfo->codes->extension, hooks->create_gc);
128 XESetCopyGC (dpy, dpyinfo->codes->extension, hooks->copy_gc);
130 XESetFlushGC (dpy, dpyinfo->codes->extension, hooks->flush_gc);
132 XESetFreeGC (dpy, dpyinfo->codes->extension, hooks->free_gc);
134 XESetCreateFont (dpy, dpyinfo->codes->extension, hooks->create_font);
136 XESetFreeFont (dpy, dpyinfo->codes->extension, hooks->free_font);
138 XESetCloseDisplay (dpy, dpyinfo->codes->extension,
141 XESetError (dpy, dpyinfo->codes->extension, hooks->error);
143 XESetErrorString (dpy, dpyinfo->codes->extension,
153 XFree(dpyinfo);
163 dpyinfo->next = extinfo->head;
164 extinfo->head = dpyinfo;
165 extinfo->cur = dpyinfo;
168 return dpyinfo;
177 XExtDisplayInfo *dpyinfo, *prev;
184 for (dpyinfo = extinfo->head; dpyinfo; dpyinfo = dpyinfo->next) {
185 if (dpyinfo->display == dpy) break;
186 prev = dpyinfo;
188 if (!dpyinfo) {
197 prev->next = dpyinfo->next;
199 extinfo->head = dpyinfo->next;
202 if (dpyinfo == extinfo->cur) extinfo->cur = NULL; /* flush cache */
205 Xfree (dpyinfo);
216 register XExtDisplayInfo *dpyinfo;
221 if ((dpyinfo = extinfo->cur)&& dpyinfo->display == dpy) return dpyinfo;
228 for (dpyinfo = extinfo->head; dpyinfo; dpyinfo = dpyinfo->next) {
229 if (dpyinfo->display == dpy) {
230 extinfo->cur = dpyinfo; /* cache most recently used */
232 return dpyinfo;