MPKPipe - MPKPipe functional interface.| MPKPipe* | mpkPipeNew(void ); |
| void | mpkPipeDelete(MPKPipe* pipe); |
| void | mpkPipeSetName(MPKPipe* pipe, const char* name); |
| const char* | mpkPipeGetName(MPKPipe* pipe); |
| void | mpkPipeSetDisplayName(MPKPipe* pipe, const char* name); |
| const char* | mpkPipeGetDisplayName(MPKPipe* pipe); |
| void | mpkPipeSetUserData(MPKPipe* pipe, void* userData); |
| void* | mpkPipeGetUserData(MPKPipe* pipe); |
| int | mpkPipeNWindows(MPKPipe* pipe); |
| MPKWindow* | mpkPipeGetWindow(MPKPipe* pipe, int i); |
| void | mpkPipeAddWindow(MPKPipe* pipe, MPKWindow* w); |
| int | mpkPipeRemoveWindow(MPKPipe* pipe, MPKWindow* w); |
| MPKConfig* | mpkPipeGetConfig(MPKPipe* pipe); |
| MPKWindow* | mpkPipeFindWindow(MPKPipe* pipe, const char* name); |
| MPKChannel* | mpkPipeFindChannel(MPKPipe* pipe, const char* name); |
| MPKPipe* | mpkPipeGetProxy(MPKPipe* p); |
| int | mpkPipeInit(MPKPipe* pipe, int setmon); |
| void | mpkPipeExit(MPKPipe* pipe); |
| void | mpkPipeFreeze(MPKPipe* pipe, int freeze); |
| void | mpkPipeApplyMonitor(MPKPipe* pipe); |
| void | mpkPipeSelectInput(MPKPipe* pipe, long event_mask); |
| void | mpkPipeSetAttribute(MPKPipe* pipe, int attr, int value); |
| void | mpkPipeUnsetAttribute(MPKPipe* pipe, int attr); |
| void | mpkPipeResetAttribute(MPKPipe* pipe, int attr); |
| int | mpkPipeTestAttribute(MPKPipe* pipe, int attr); |
| int | mpkPipeGetAttribute(MPKPipe* pipe, int attr, int* value); |
MPKConfig that are assigned to a given hardware rendering pipe. The pipe itself is characterized by the name of its corresponding X11 display, as well as the expected mono and stereo characteristics (full-screen vs quad-buffer, etc.) to be applied by its rendering threads (MPKWindow).MPKGlobal attributes, otherwise the values returned by DisplayWidth(3X11) and DisplayHeight(3X11) will be used.name. This is done by copy and not by reference.name. This is done by copy and not by reference.pipe structure. Transport is done by reference and not by copy.MPKWindow in passed pipe.ith MPKWindow in passed pipe.MPKWindow w to list of windows for passed pipe.w in list of MPKWindow for passed pipe and removes it from the list if it is found.MPKConfig of passed pipe.MPKWindow with specified name in the passed MPKPipe and returns the match if found or NULL otherwise.MPKChannel with specified name in the passed MPKPipe and returns the match if found or NULL otherwise.MPKWindow threads. The MPKConfig initialization callbacks are invoked in the order described by the pseudo-code below :
invoke the config's pipes initialization callback
for each MPKWindow in the pipe
launch the window thread, which :
| invoke the config's windows initialization callbacks
| for each MPKChannel in the window
| invoke the config's channels initialization callback
| end for
| enter lifelong loop
end for
|
MPKWindow threads having entered their lifelong loop. It returns the number of threads launched.setmon is set, then the shell commands will be invoked that have been specified via mpkConfigSetMonitor(), if any. Note that the config's MPKWindow initialization callback is set by default to mpkWindowCreate().MPKWindow threads. The MPKConfig exit callbacks are invoked in the order described by the pseudo-code below :
for each MPKWindow in the pipe
exit the window thread, which :
| for each MPKChannel in the window
| invoke the config's channels exit callback
| end for
| invoke the config's windows exit callback
| exit thread
end for
invoke the config's pipes exit callback
|
freeze argument causes subsequent mpkConfigFrame() to perform without invoking any rendering callback for the window threads pertaining to the pipe, ie. the windows will be "frozen". Otherwise, frames will be rendered as usual.pipe's config monitor shell command, after having set the current X Display to pipe's display name. The previous display is restored before the function returns.pipe, and sets the window's event mask if this window has an input display and an X window drawable. Note that the window's input display is set via mpkWindowOpenDisplay() or mpkWindowSetInputDisplay().MPKGlobal man page for a description of all MPKPipe attributes and their default or possible values.attr to value.attr or, if attr is MPK_PATTR_ALL, unsets all attributes for the passed MPKPipe.attr to its corresponding default value or, if attr is MPK_PATTR_ALL, it resets all attributes for the passed MPKPipe to their default value.attr is set for the passed MPKPipe, 0 otherwise.attr and returns 1 if the attribute is set for the passed MPKPipe, 0 otherwise.| # pipe FIELDS description | |
| name | "pipe-name" |
| display | "display-name" |
| attributes { attributes description } | |
| # pipe WINDOWS description | |
| window { window-1 description } | |
| window { window-2 description } | |
| ... |
| mono | { pipe-attribute mono description } |
| stereo | { pipe-attribute stereo description } |
| width | w |
| height | h |
| type | stereo-type |
| width | w |
| height | h |
| offset | o |
w, h and o must be integer.stereo-type description accepts only the following File Format identifiers : none [default] quad, rect, top, bottom and user. If no stereo-type is specified, quad is used.MPKChannel, MPKConfig, MPKGlobal, MPKWindow