Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SoXtGLWidget(3IV)()					   SoXtGLWidget(3IV)()

NAME
       SoXtGLWidget -- wrapper around GLwMDraw for OpenGL rendering in a motif
       widget

INHERITS FROM
       SoXtComponent > SoXtGLWidget

SYNOPSIS
       #include	<Inventor/Xt/SoXtGLWidget.h>

	  Methods from class SoXtGLWidget:

     void		 setBorder(SbBool onOrOff)
     SbBool		 isBorder() const
     virtual void	 setDoubleBuffer(SbBool	onOrOff)
     SbBool		 isDoubleBuffer()
     Window		 getNormalWindow()
     Window		 getOverlayWindow()
     GLXContext		 getNormalContext()
     GLXContext		 getOverlayContext()
     Widget		 getNormalWidget()
     Widget		 getOverlayWidget()
     virtual void	 setNormalVisual(XVisualInfo *vis)
     XVisualInfo *	 getNormalVisual()
     virtual void	 setOverlayVisual(XVisualInfo *vis)
     XVisualInfo *	 getOverlayVisual()
     void		 setDrawToFrontBufferEnable(SbBool enableFlag)
     SbBool		 isDrawToFrontBufferEnable() const

	  Methods from class SoXtComponent:

     virtual void	     show()
     virtual void	     hide()
     SbBool		     isVisible()
     Widget		     getWidget() const
     SbBool		     isTopLevelShell() const
     Widget		     getShellWidget() const
     Widget		     getParentWidget() const
     void		     setSize(const SbVec2s &size)
     SbVec2s		     getSize()
     Display *		     getDisplay()
     void		     setTitle(const char *newTitle)
     const char	*	     getTitle()	const
     void		     setIconTitle(const	char *newIconTitle)
     const char	*	     getIconTitle() const
     void		     setWindowCloseCallback(SoXtComponentCB	*func,
				  void *data = NULL)
     static SoXtComponent *  getComponent(Widget w)
     const char	*	     getWidgetName() const
     const char	*	     getClassName() const

DESCRIPTION
       This  abstract  base  class  provides a C++ wrapper around the GLwMDraw
       widget. It allows OpenGL	rendering to be	performed within a motif  wid-
       get  and	is used	by the SoXtRenderArea. SoXtGlWidget uses a form	widget
       around two separate GLwMDraw widgets (one for single and	one for	double
       buffering), with	routines to return the appropriate windows.

       Subclasses only need to redefine	the redraw() routine for rendering and
       processEvent() routine if they are interested in	receiving X events.

METHODS
     void		 setBorder(SbBool onOrOff)
     SbBool		 isBorder() const
	  Show and hide	the border around the glx widgets (thickness  3).  De-
	  fault	 is  no	 border	(FALSE). (The SoXtRenderArea subclass defaults
	  turns	the border on by default.)

     virtual void	 setDoubleBuffer(SbBool	onOrOff)
     SbBool		 isDoubleBuffer()
	  Routine which	dynamically changes between single and double  buffer-
	  ing.	Default	 is  double  buffer  off. (The SoXtRenderArea subclass
	  makes	it double buffer by default.)

     Window		 getNormalWindow()
     Window		 getOverlayWindow()
     GLXContext		 getNormalContext()
     GLXContext		 getOverlayContext()
     Widget		 getNormalWidget()
     Widget		 getOverlayWidget()
	  Get the current normal and overlay GLX windows,  contexes  and  wid-
	  gets,	 which	are needed as arguments	to glXMakeCurrent() when doing
	  drawing in the normal	or overlay planes.

	  Note:	These should not be cached by users because they  will	change
	  as single/double buffering changes.

     virtual void	 setNormalVisual(XVisualInfo *vis)
     XVisualInfo *	 getNormalVisual()
     virtual void	 setOverlayVisual(XVisualInfo *vis)
     XVisualInfo *	 getOverlayVisual()
	  Specify exactly what the visual should be for	the normal and overlay
	  window. This allows the user to create  all  possible	 visuals  sup-
	  ported by OpenGL. The	XVisualInfo structure should be	a valid	OpenGL
	  visual returned by glXChooseVisual().	This structure will be	copied
	  by  the SoXtGLWidget;	the application	is responsible for freeing the
	  visual info with XFree() when	done. (The  methods  for  setting  the
	  visual  are virtual so that derived classes can know when the	visual
	  is changing.)

     void		 setDrawToFrontBufferEnable(SbBool enableFlag)
     SbBool		 isDrawToFrontBufferEnable() const
	  Inventor 2.1 changed the behavior of double buffered windows to  re-
	  draw	temporary to the front buffer when an expose event is received
	  or when a new	sceneGraph() is	set on an  SoXtRenderArea.  This  does
	  not  apply for general interactive rendering.	The idea is that it is
	  better to see	something redraw (especially if	it is  slow)  than  to
	  see  garbage	in  the	 window	(in the	expose case) or	an old invalid
	  scene	graph (in the SoXtRenderArea::setSceneGraph() case).

	  This API enables you to turn this functionality OFF if for some rea-
	  son  you are unable to prevent repeated expose from causing a	redraw
	  (which is bad	and should be  fixed,  as  it  gets  worse  for	 large
	  scenes).  This  will	be  the	case for example if you	can't create a
	  pulldown menu	in the popup planes.

	  NOTE:	this api might be removed in some future releases and is  only
	  intended as a	porting	help for Inventor 2.0 to 2.1

SEE ALSO
       SoXtComponent, SoXtRenderArea

							   SoXtGLWidget(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SoXtGLWidget&sektion=3iv&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help