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. The enumerators RM_BUTTON4 and RM_BUTTON5 are valid in X11 environments, but not valid in Windows environments. 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. The enumerators RM_BUTTON4 and RM_BUTTON5 are valid in X11 environments but not Windows environments. 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. The enumerators RM_BUTTON4 and RM_BUTTON5 are valid in X11 environments but not Windows environments. 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