nanogui: NXLIB with Nano-X in "linked-in" (non-client/server) mode?
Subject:
NXLIB with Nano-X in "linked-in" (non-client/server) mode?
From:
"Paul Bartholomew" ####@####.####
Date:
22 Jun 2005 15:57:37 +0100
Message-Id: <BAY108-F36C8EFD153D50A0589874CEFEB0@phx.gbl>
Hello -
I've got microwindows-0.90 "sort-of" running in a custom embedded
environment (simple port: just modified the frame buffer output code).
Several Microwindows demo apps run (although I haven't hooked-in any
'events', so they just show the windows on the screen - no kbd/mouse input).
NOTE: I've only run the 'microwindows API' demo apps - not the Nano-X API
demos.
I'm now trying to get FLTK working, using the NXLIB layer. This seems to
require the Nano-X API (as opposed to Microwindows API), so I'm just now
getting that (nanox) compiled.
From the "Microwindows Architecture" doc on the web site, under "4. Nano-X
API" ("4.1 Client/Server model"), it says:
"For speed and debugging, it is sometimes desirable to link the application
directly with the server. In this case, a stub library is provided that
just passes the client routines parameters to the server function"
and:
"In the linked application scenario, the Nano-X client links directly with
the functions in nanox/srvfunc.c, and the nanox/client.c and nanox/srvnet.c
files are not required."
(I want to run in the linked-in mode, since I only have a single standalone
'application').
So, I've built a nanox lib using the following files:
srvmain.c
srvfunc.c
srvutil.c
srvevent.c
srvclip.c
nxdraw.c
nxutil.c
nxtransform.c
It compiles OK.
When I try to 'link' my FLTK application (using NXLIB), I get link errors
for:
GrGetTypedEvent
GrGetTypedEventPred
GrQueueLength
I see that these are called from NXLIB (NextEvent.c).
I looked at the NanoX lib, and see that these functions are only defined in
"client.c", which I'm not using (since I'm trying to run in the 'linked-in'
mode).
Has anyone else run into this problem? I suppose I could start bringing-in
these functions (and all the support functions they call in client.c), but
I'm worried that I'll run into problems (where I'll then have dependencies
on the 'client/server' model, instead of the 'linked-in' model.
Has anyone else ported these functions to work in the 'linked-in' model?
Thanks in advance,
- Paul B.