🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.sgi.graphics
Article #122

using Overlay planes with the GlxMDraw Widget

#122
From: Matthew E. Moses
Date: Sat, 23 Jan 1993 23:22
57 lines
2856 bytes
I am using the GL Widget in combination with motif.  I want to use the 
overlay plane for rubber-banding.  I've looked at the sample overlay.c from 
the 4Dgifts examples but it doesn't provide any insight.  I draw an image in 
the normal plane and then based on mouse input use the following code to do the rubber banding from an input callback:

	  XtVaGetValues(w, GlxNoverlayWindow, &over, NULL);

	  err = GLXwinset(XtDisplay(w), over);
	  fprintf(stdout, "\n overlay window: %d, err: %d", over, err); 
	  fflush(stdout);

	  c3i(Black); /* erase old band */
	  rect(oldX, oldY, oldX1, oldY1);

	  c3i(Blue); /* draw new band */
	  rect(mouseDownX, mouseDownY, newX, newY);
	  
	  gflush();

The GLXwinset call is returning 0 (no error) but the drawing rect call doesn't show up in the overlay plane.

Does anyone know if there is a special way you have to initialize the overlay planes of the widget?  The following is how I am initializing the widget:

static GLXconfig glxConfig [] = 
{
    { GLX_NORMAL, GLX_RGB, TRUE },
    { GLX_OVERLAY,  GLX_BUFSIZE, 2},
    { GLX_OVERLAY, GLX_RGB, TRUE },
    { 0, 0, 0 }
};

...

     XtSetArg(args[i], GlxNglxConfig, glxConfig); i++;
     XtSetArg(args[i], GlxNuseOverlay, True); i++;
     gGLWidget = XtCreateManagedWidget("glwidget", glxMDrawWidgetClass,
				       frame, args, i);
     XtAddCallback(gGLWidget, GlxNoverlayExposeCallback, OverlayDrawSceneCB, 
		   (XtPointer) NULL);
     XtAddCallback(gGLWidget, GlxNinputCallback, HandleInputCB, 
		   (XtPointer) NULL);
     XtAddCallback(gGLWidget, GlxNexposeCallback, DrawSceneCB, 
		   (XtPointer) NULL);
     XtAddCallback(gGLWidget, GlxNresizeCallback, ResizeScreenCB, 
		   (XtPointer) NULL);
     XtAddCallback(gGLWidget, GlxNginitCallback, InitializeGLCB, 
		   (XtPointer) NULL);

Any help or pointers to information would be appreciated.


*------------------*-----------------------*-----------------------------*
* Matthew E. Moses * AHPCRC Systems Staff  * moses@ahpcrc.umn.edu        *
*                  * CIS Consultant        * moses@mermaid.micro.umn.edu *
*  U of Minnesota  *-----------------------*-----------------------------*   
*                  * Office: (612)626-8136 * Home: (612)624-0126         *
*------------------*-----------------------*-----------------------------*  
Technical Details
Message-ID: <C1By8u.JFv@news2.cis.umn.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!yale.edu!ira.uka.de!math.fu-berlin.de!umn.edu!i5.arc.umn.edu!moses

Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.sgi.graphics
Path: arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!yale.edu!ira.uka.de!math.fu-berlin.de!umn.edu!i5.arc.umn.edu!moses
From: moses@i5.arc.umn.edu (Matthew E. Moses)
Subject: using Overlay planes with the GlxMDraw Widget
Message-ID: <C1By8u.JFv@news2.cis.umn.edu>
Sender: news@news2.cis.umn.edu (Usenet News Administration)
Nntp-Posting-Host: i5.arc.umn.edu
Organization: Army High Performance Computer Research Center
Date: Sat, 23 Jan 1993 23:22:06 GMT
Lines: 58