How do I render a pfPipeWindow into a motif widget?

New Message Reply Date view Thread view Subject view Author view

Ethan Phelps-Goodman (ethan++at++coral.arc.nasa.gov)
Tue, 19 Aug 1997 13:22:16 -0700


I am trying to port a simulation package from Inventor to Performer. I
am having trouble making a pfPipeWindow draw into a Widget. I have a
window with several widgets, and in some of them I am trying to put a
pfPipeWindow. I create the pfPipeWindow and the widget, and then call
pfPipeWindow::setWSWindow(). When I call pfPipeWindow::open() a whole
new motif window is created outside of my origonal window. How do I make
Performer render to just one area of a window?

Here is the code I am using:

/* pfPipeWindow created here
...
*/

// I need a void** to pass to pfChooseFBConfigData()
int* foo = (int*)pfMalloc( sizeof(int), pfGetSharedArena() );
// I create an OpenGL rendering widget
windowWidget = XtVaCreateManagedWidget( name,
                        glwMDrawingAreaWidgetClass, parentWidget,
                        GLwNvisualInfo,
                        pfChooseFBConfigData( (void**)&foo,
                                XtDisplay(parentWidget), -1, NULL,
                                pfGetSharedArena() ), NULL );
_win->setWSDrawable( NULL, XtWindow( windowWidget ) );
_win->setWSWindow( NULL, XtWindow( parentWidget ) );

/* pfPipeWindow::open() called later
...
*/

The widget is always black, and the seperate pfPipeWindow draws
properly. Its like I never called setWSWindow().

Does anyone know what's going wrong?

-- 

Ethan Phelps-Goodman ethan++at++coral.arc.nasa.gov ======================================================================= List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/ Submissions: info-performer++at++sgi.com Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:45 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.