Re: Performer ViewKit interface problems!

New Message Reply Date view Thread view Subject view Author view

From: Aaron Jones (aaron++at++arlut.utexas.edu)
Date: 04/30/2001 04:03:04


Thanks for your reply. I have investigated in to your suggestions, and I
have the results below.

My comments are interleaved in the message.

> > Display *dpy = XOpenDisplay("");
> > XWindowAttributes watt;
> > XGetWindowAttributes (dpy, Motif->gXWin, &watt);
> > cout<<"Window width and height: "<<watt.width<<'
> > '<<watt.height<<endl;
> >
> > the output is 1, 1, which explains why I only get on pixel on the gui.
> > However, why it is 1,1 is beyond me!
>
> Try using pfGetCurWSConnection() in lieu of calling XOpenDisplay().

This had the same effect, and the same answer.

> > The glwidget is defined as follows:
> >
> > _glwidget = XtVaCreateManagedWidget ( "glwidget",
> > glwMDrawingAreaWidgetClass,
> > _baseWidget,
> > GLwNrgba, True,
> > GLwNdoublebuffer, True,
> > GLwNallocateBackground,
> > True,
> > XmNx, 10,
> > XmNy, 10,
> > XmNwidth, 500,
> > XmNheight, 500,
> > GLwNvisualInfo, vi,
> > (XtPointer) NULL );
> >
> >
> > If I explicitly set Shared->pw->setSize(512, 512), then the same code
> > ALMOST works.
> >
> > What happens is that the same second window opens (to size 512, 512) and
> >
> > displays nothing, and things other than that work ok. There, however,
> > is still the problem of of the offset.
>
> a better way to do this would be to do:
>
> Shared->pw->setOriginSize(10,10,500,500);

This change had no effect.

> > // Contrast Slider
> > XtVaSetValues ( _contrastscale,
> > XmNx, 690+700,
> > (XtPointer) NULL );
> >
> > the code for expanding the gl widget is:
> >
> > XtVaSetValues(_glwidget,
> > XmNwidth,500+700,
> > (XtPointer) NULL);
> >
> > The sizes are written as summations to make it clear exactly what is
> > going on. The 500 is the original size, and they are expanding it by
> > 700.
>
> See comment above about using pfPipeWindow::setOriginSize(). I would use
> this in lieu of the Xt stuff if it were me.

I see what you are saying. However, since the pfpipewindow is (should be)
tied to the glwindow, as long as the glwindow doesn't set up a new matrix, we
don't actually need to call the change in size of the pfpipewindow. I did
try that though just to see, and it had no effect.

Also, performer windows aside, I still need to be able to move some of the
other widgets... Is there a resource analogous to this Performer list for
X? I am not sure who to consult...

> Try doing Shared->pw->getSize(&width,&height) to see what your
> pfPipeWindow's size is after/before calling XtVaSetValues() for setting
> the width and offset.

I did that. I got the same result as I had before. =(

> Just for fun, one other thing you can try:
>
> pfMultiprocess(PFMP_APPCULLDRAW);

Things got decidedly worse when I did this. I opened the application up, it
displayed one frame, froze my window manager, then logged me out of the
machine entirely!

> For more ideas about how to integrate Motif apps with Performer check out
> /usr/share/Performer/src/pguide/libpf/C++/motif.C.

Thanks, I will look at that right after this!

Thanks again,
Aaron


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Apr 30 2001 - 17:29:16 PDT

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