[teklib-general] teklib: Added OpenDisplay, CloseDisplay, QueryDisplays, GetNextD...
hg-notify at neoscientists.org
hg-notify at neoscientists.org
Sun Dec 30 01:34:23 CET 2007
details: http://hg.teklib.org/teklib/rev/060f2a7620a4
changeset: 143:060f2a7620a4
user: Timm S. Mueller <tmueller at neoscientists.org>
date: Sun Dec 30 01:31:50 2007 +0100
description:
Added OpenDisplay, CloseDisplay, QueryDisplays, GetNextDisplay
diffs (truncated from 268 to 100 lines):
diff -r dea3be24b43a -r 060f2a7620a4 src/visual/visual_api.c
--- a/src/visual/visual_api.c Tue Dec 18 21:26:37 2007 +0100
+++ b/src/visual/visual_api.c Sun Dec 30 01:31:50 2007 +0100
@@ -4,61 +4,20 @@
/* TODO */
#define DEF_DISPLAYNAME "display_x11"
-static TAPTR
-visi_getdisplay(TMOD_VIS *mod, TTAGITEM *tags)
-{
- /* displaybase in taglist? */
- TAPTR d = (struct TVRequest *) TGetTag(tags, TVisual_Display, TNULL);
- if (d == TNULL)
- {
- TSTRPTR name;
- TBOOL success;
- TTAG hashval;
-
- /* displayname in taglist? */
- name = (TSTRPTR) TGetTag(tags, TVisual_DisplayName, TNULL);
-
- /* use default name: */
- if (name == TNULL) name = DEF_DISPLAYNAME;
-
- /* lookup display by name: */
- TExecLock(mod->vis_ExecBase, mod->vis_Lock);
- success = vis_gethash(mod, mod->vis_Displays, name, &hashval);
- TExecUnlock(mod->vis_ExecBase, mod->vis_Lock);
-
- if (success)
- d = (TAPTR) hashval;
- else
- {
- /* try to open named display: */
- d = TExecOpenModule(mod->vis_ExecBase, name, 0, TNULL);
- if (d)
- {
- /* store display in hash: */
- TExecLock(mod->vis_ExecBase, mod->vis_Lock);
- success = vis_puthash(mod, mod->vis_Displays, name, (TTAG) d);
- TExecUnlock(mod->vis_ExecBase, mod->vis_Lock);
-
- if (!success)
- {
- TExecCloseModule(mod->vis_ExecBase, d);
- d = TNULL;
- }
- }
- }
- }
-
- return d;
-}
+/*****************************************************************************/
static struct TVRequest *
visi_getreq(TMOD_VIS *inst, TUINT cmd, TAPTR display, TTAGITEM *tags)
{
+ TMOD_VIS *mod = (TMOD_VIS *) inst->vis_Module.tmd_ModSuper;
struct TVRequest *req = TNULL;
- TAPTR d = display ? display : visi_getdisplay(inst, tags);
- if (d)
+
+ if (display == TNULL)
+ display = vis_opendisplay(mod, tags);
+
+ if (display)
{
- if (inst->vis_Module.tmd_ModSuper == (struct TModule *) inst)
+ if (mod == inst)
{
TExecLock(inst->vis_ExecBase, inst->vis_Lock);
if (inst->vis_InitRequest)
@@ -70,7 +29,7 @@ visi_getreq(TMOD_VIS *inst, TUINT cmd, T
else
{
TExecUnlock(inst->vis_ExecBase, inst->vis_Lock);
- req = TDisplayAllocReq(d);
+ req = TDisplayAllocReq(display);
}
if (req)
@@ -104,7 +63,7 @@ visi_getreq(TMOD_VIS *inst, TUINT cmd, T
if (req == TNULL)
{
- req = TDisplayAllocReq(d);
+ req = TDisplayAllocReq(display);
if (req)
inst->vis_NumRequests++;
}
@@ -116,6 +75,7 @@ visi_getreq(TMOD_VIS *inst, TUINT cmd, T
}
}
}
+
return req;
}
@@ -169,7 +129,7 @@ EXPORT TAPTR vis_openvisual(TMOD_VIS *mo
More information about the teklib-general
mailing list