1 /* 2 * (c) Copyright 1993, Silicon Graphics, Inc. 3 * ALL RIGHTS RESERVED 4 * Permission to use, copy, modify, and distribute this software for 5 * any purpose and without fee is hereby granted, provided that the above 6 * copyright notice appear in all copies and that both the copyright notice 7 * and this permission notice appear in supporting documentation, and that 8 * the name of Silicon Graphics, Inc. not be used in advertising 9 * or publicity pertaining to distribution of the software without specific, 10 * written prior permission. 11 * 12 * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS" 13 * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, 14 * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR 15 * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 16 * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT, 17 * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY 18 * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION, 19 * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF 20 * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN 21 * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON 22 * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE 23 * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE. 24 * 25 * 26 * US Government Users Restricted Rights 27 * Use, duplication, or disclosure by the Government is subject to 28 * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph 29 * (c)(1)(ii) of the Rights in Technical Data and Computer Software 30 * clause at DFARS 252.227-7013 and/or in similar or successor 31 * clauses in the FAR or the DOD or NASA FAR Supplement. 32 * Unpublished-- rights reserved under the copyright laws of the 33 * United States. Contractor/manufacturer is Silicon Graphics, 34 * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311. 35 * 36 * OpenGL(TM) is a trademark of Silicon Graphics, Inc. 37 */ 38 39 /* 40 * This file has been heavily modified from the original. It has been 41 * stripped down and moved into the SoXt namespace to avoid potential 42 * name-collisions with externally installed GL widgets, and all pure 43 * Xt vs. Xt/Motif ifdef wrappers have been removed (only the Motif 44 * parts remain). You are encouraged to rather go back to the source, 45 * which you will find with Mesa, than to base your GL widget derivation 46 * on this code. 47 * 48 * Lars J. Aas <larsa@sim.no>, 49 * 19th may 2000 50 */ 51 52 /* $Id$ */ 53 54 #ifndef SOXT_GLAREA_PRIVATE_H 55 #define SOXT_GLAREA_PRIVATE_H 56 57 #include <Inventor/Xt/widgets/SoXtGLArea.h> 58 59 #ifdef __cplusplus 60 extern "C" { 61 #endif /* _cplusplus */ 62 63 /* ********************************************************************** */ 64 65 typedef struct _SoXtGLAreaClassPart { 66 XtPointer extension; 67 } SoXtGLAreaClassPart; 68 69 typedef struct _SoXtGLAreaClassRec { 70 CoreClassPart core_class; 71 XmPrimitiveClassPart primitive_class; 72 SoXtGLAreaClassPart soxtGLArea_class; 73 } SoXtGLAreaClassRec; 74 75 extern SoXtGLAreaClassRec soxtGLAreaClassRec; 76 77 typedef struct _SoXtGLAreaPart { 78 /* resources */ 79 int * attribList; 80 XVisualInfo * visualInfo; 81 Boolean myList; /* TRUE if we malloced the attribList*/ 82 Boolean myVisual; /* TRUE if we created the visualInfo*/ 83 Boolean installColormap; 84 Boolean allocateBackground; 85 Boolean allocateOtherColors; 86 Boolean installBackground; 87 XtCallbackList ginitCallback; 88 XtCallbackList resizeCallback; 89 XtCallbackList exposeCallback; 90 XtCallbackList inputCallback; 91 92 Boolean refresh; 93 94 /* specific attributes; add as we get new attributes */ 95 int bufferSize; 96 int level; 97 Boolean rgba; 98 Boolean doublebuffer; 99 Boolean stereo; 100 int auxBuffers; 101 int redSize; 102 int greenSize; 103 int blueSize; 104 int alphaSize; 105 int depthSize; 106 int stencilSize; 107 int accumRedSize; 108 int accumGreenSize; 109 int accumBlueSize; 110 int accumAlphaSize; 111 } SoXtGLAreaPart; 112 113 typedef struct _SoXtGLAreaRec { 114 CorePart core; 115 XmPrimitivePart primitive; 116 SoXtGLAreaPart soxtGLArea; 117 } SoXtGLAreaRec; 118 119 /* ********************************************************************** */ 120 121 #ifdef __cplusplus 122 } /* extern "C" */ 123 #endif /* _cplusplus */ 124 125 #endif /* ! SOXT_GLAREA_PRIVATE_H */ 126