|
|---|
void rmauxEventLoop (RMpipe *currentPipe,
RMnode *subTreeToDraw,
void *vmsg)
RMpipe *currentPipe - (input) a handle to an RMpipe object. The
RMpipe must be fully configured (init'ed, and has a valid opened
window assigned, and been the victim of rmPipeMakeCurrent()) prior
to invoking the event handler.
RMnode *subTreeToDraw - (input) a handle to an RMnode. This node is
considered to be the root of a subtree that will be rendered onto
"currentPipe" whenever a frame is to be rendered.
void *vmsg - X11 users - specify NULL for this parameter. Win32
users: all WinMain procedures must return (msg.wParam) to Windows
so it can gracefully exit. Pass a handle to a MSG object in to
rmauxEventLoop (please refer to the demo programs for sample
code. (output, return)
librmaux library source file: rmbfuncs.c void rmauxSetGeomTransform (RMnode *target, RMpipe *usePipe)
RMnode *target - a handle to an RMnode. (input) All model
transformations will be applied to this node, and will affect all
children nodes.
RMpipe *usePipe - a handle to an RMpipe. (input) This is is the
currently active GL context and is used to get cursors for X11.
librmaux library source file: rmbfuncs.c void rmauxSetCamera3DTransform (RMnode *target, RMpipe *usePipe)
RMnode *target - a handle to an RMnode. (input) All transformations
will be applied to the RMcamera3D scene parameter at target, if
such a scene parameter exists.
RMpipe *usePipe - a handle to an RMpipe. (input) This is is the
currently active GL context and is used to get cursors for X11.
librmaux library source file: rmbfuncs.c void rmauxUI (RMnode *target, RMpipe *usePipe)
RMnode *target - a handle to an RMnode. (input) All model
transformations will be applied to this node, and will affect all
children nodes.
RMpipe *usePipe - a handle to an RMpipe. (input) This is is the
currently active GL context and is used to get cursors for X11.
librmaux library source file: rmbfuncs.c rmauxSetInitFunc (void (*userinitfunc)(RMpipe *drawOn, RMnode *subTree))
void (*userinitfunc)(RMpipe *drawOnPipe, RMnode *subtree) - a handle to a caller-supplied
initialization function.
librmaux library source file: rmbfuncs.c
void rmauxSetIdleFunc (RMpipe *p,
int (*userfunc)(RMpipe *currentPipe, int pointerX, int pointerY))
RMpipe *p - a handle to an active RMpipe object.
int (*userfunc)(RMpipe *currentPipe, int pointerX, int pointerY) - a
handle to an application function that will be called when the
system is idle. The routine will be passed the current (x,y) pixel
location of the pointer, along with a handle to the controlling
RMpipe. When the app idle callback returns a zero, event loop
processing is terminated; when a non-zero value is returned,
processing continues.
librmaux library source file: rmbfuncs.c void rmauxSetKeyFunc (int (*userfunc)(RMpipe *p, char k, KeySym code))
int (*userfunc)(RMpipe *p, char k, KeySym code) - a pointer to a user function
(input).
librmaux library source file: rmbfuncs.c
int rmauxDefaultKeyFunc (RMpipe *currentPipe,
char key,
KeySym code)
RMpipe *currentPipe - a handle to the current pipe (input) char key - key from most recent key press (input) KeySym code (input) - an X11 KeySym code.librmaux library source file: rmbfuncs.c
void rmauxSetResizeFunc (RMpipe *p,
RMnode *cameraNode,
RMenum (*userfunc)(RMpipe *p, RMnode *n, int winWidth, int winHeight))
RMpipe *p - an RMpipe object (input).
RMnode *cameraNode - a handle to an RMnode, which should contain either
an RMcamera2D or RMcamera3D scene parameter (input, but modified at
runtime when a window resize event occurs).
void (*userfunc)(RMpipe *p, RMnode *n, int winWidth, int winHeight) - a pointer to a user function (input).
librmaux library source file: rmbfuncs.c
int rmauxDefaultResizeFunc (RMpipe *currentPipe,
RMnode *cameraNode,
int winWidth,
int winHeight)
RMpipe *currentPipe - a handle to the current pipe
RMnode *cameraNode - a handle to a scene graph node containing either
an RMcamera2D or RMcamera3D scene parameter.
int winWidth, winHeight - two integers specifying the new window
size in pixels. These values are provided by rmauxEventLoop to
the resize callback (input).
librmaux library source file: rmbfuncs.c void rmauxSetRenderFunc (void (*userfunc)(RMpipe *currentPipe))
void (*userfunc)(RMpipe *currentPipe) - a pointer to a user function
(input).
librmaux library source file: rmbfuncs.c void rmauxSetButtonDownFunc (unsigned int whichbutton, unsigned int modmask, int (*userfunc) (RMpipe *currentPipe, int pointerX, int pointerY))
unsigned int whichbutton - An integer value specifying which button
will be assigned an action handler. Valid values are RM_BUTTON1,
RM_BUTTON2, RM_BUTTON3, RM_BUTTON4 or RM_BUTTON5.
unsigned int modmask - An integer value specifying a modifier mask
that can be used to qualify buttons. Valid values are
RM_NONE_MODMASK, RM_SHIFT_MODMASK or RM_CONTROL_MODMASK.
int (*userfunc) (RMpipe *currentPipe, int xPointerPosition, int
yPointerPosition) - the function that will be invoked when the
named button is pressed and modifier mask conditions are met. The
user function will be passed integer values representing the (x,y)
pixel coordinate of the pointer, along with a handle to the
current/calling RMpipe.
librmaux library source file: rmbfuncs.c void rmauxSetButtonUpFunc (unsigned int whichbutton, unsigned int modmask, int (*userfunc) (RMpipe *currentPipe, int pointerX, int pointerY))
unsigned int whichbutton - An integer value specifying which button
will be assigned an action handler. Valid values are RM_BUTTON1,
RM_BUTTON2, RM_BUTTON3, RM_BUTTON4 or RM_BUTTON5.
unsigned int modmask - An integer value specifying a modifier mask
that can be used to qualify buttons. Valid values are
RM_NONE_MODMASK, RM_SHIFT_MODMASK or RM_CONTROL_MODMASK.
int (*userfunc) (RMpipe *currentPipe, int xPointerPosition, int
yPointerPosition) - the function that will be invoked when the
named button is released, and modifier mask conditions are
met. The user function will be passed integer values representing
the (x,y) pixel coordinate of the pointer, along with a handle to
the current/calling RMpipe.
librmaux library source file: rmbfuncs.c void rmauxSetButtonMotionFunc (unsigned int whichbutton, unsigned int modmask, int (*userfunc) (RMpipe *currentPipe, int pointerX, int pointerY))
unsigned int whichbutton - An integer value specifying which button
will be assigned an action handler. Valid values are RM_BUTTON1,
RM_BUTTON2, RM_BUTTON3, RM_BUTTON4 or RM_BUTTON5.
unsigned int modmask - An integer value specifying a modifier mask
that can be used to qualify buttons. Valid values are
RM_NONE_MODMASK, RM_SHIFT_MODMASK or RM_CONTROL_MODMASK.
int (*userfunc) (RMpipe *currentPipe, int xPointerPosition, int
yPointerPosition) - the function that will be invoked when the
named button is depressed, the the pointer is moving, and modifier
mask conditions are met. The user function will be passed integer
values representing the (x,y) pixel coordinate of the pointer,
along with a handle to the current/calling RMpipe.
librmaux library source file: rmbfuncs.c void rmauxSetSpinEnable (RMenum spinEnableBoolean)
RMenum spinEnableBoolean - may be either RM_TRUE or RM_FALSE. When set to
RM_TRUE, "spin mode" will be enabled. When set to RM_FALSE, "spin mode"
is disabled.
librmaux library source file: rmbfuncs.c RMenum rmauxGetSpinEnable (void)
librmaux library source file: rmbfuncs.c