140dd5a57Smrg/* 240dd5a57Smrg * (c) Copyright 1993, Silicon Graphics, Inc. 340dd5a57Smrg * ALL RIGHTS RESERVED 440dd5a57Smrg * Permission to use, copy, modify, and distribute this software for 540dd5a57Smrg * any purpose and without fee is hereby granted, provided that the above 640dd5a57Smrg * copyright notice appear in all copies and that both the copyright notice 740dd5a57Smrg * and this permission notice appear in supporting documentation, and that 840dd5a57Smrg * the name of Silicon Graphics, Inc. not be used in advertising 940dd5a57Smrg * or publicity pertaining to distribution of the software without specific, 1040dd5a57Smrg * written prior permission. 1140dd5a57Smrg * 1240dd5a57Smrg * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS" 1340dd5a57Smrg * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, 1440dd5a57Smrg * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR 1540dd5a57Smrg * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 1640dd5a57Smrg * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT, 1740dd5a57Smrg * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY 1840dd5a57Smrg * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION, 1940dd5a57Smrg * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF 2040dd5a57Smrg * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN 2140dd5a57Smrg * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON 2240dd5a57Smrg * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE 2340dd5a57Smrg * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE. 2440dd5a57Smrg * 2540dd5a57Smrg * 2640dd5a57Smrg * US Government Users Restricted Rights 2740dd5a57Smrg * Use, duplication, or disclosure by the Government is subject to 2840dd5a57Smrg * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph 2940dd5a57Smrg * (c)(1)(ii) of the Rights in Technical Data and Computer Software 3040dd5a57Smrg * clause at DFARS 252.227-7013 and/or in similar or successor 3140dd5a57Smrg * clauses in the FAR or the DOD or NASA FAR Supplement. 3240dd5a57Smrg * Unpublished-- rights reserved under the copyright laws of the 3340dd5a57Smrg * United States. Contractor/manufacturer is Silicon Graphics, 3440dd5a57Smrg * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311. 3540dd5a57Smrg * 3640dd5a57Smrg * OpenGL(TM) is a trademark of Silicon Graphics, Inc. 3740dd5a57Smrg */ 3840dd5a57Smrg#ifndef _GLwDrawAP_h 3940dd5a57Smrg#define _GLwDrawAP_h 4040dd5a57Smrg 4140dd5a57Smrg 4240dd5a57Smrg/* MOTIF */ 4340dd5a57Smrg#ifdef __GLX_MOTIF 4440dd5a57Smrg#include "GLwMDrawA.h" 4540dd5a57Smrg#else 4640dd5a57Smrg#include "GLwDrawA.h" 4740dd5a57Smrg#endif 4840dd5a57Smrg 4940dd5a57Smrgtypedef struct _GLwDrawingAreaClassPart { 5040dd5a57Smrg caddr_t extension; 5140dd5a57Smrg } GLwDrawingAreaClassPart; 5240dd5a57Smrg 5340dd5a57Smrg 5440dd5a57Smrg#ifdef __GLX_MOTIF 5540dd5a57Smrgtypedef struct _GLwMDrawingAreaClassRec { 5640dd5a57Smrg CoreClassPart core_class; 5740dd5a57Smrg XmPrimitiveClassPart primitive_class; 5840dd5a57Smrg GLwDrawingAreaClassPart glwDrawingArea_class; 5940dd5a57Smrg } GLwMDrawingAreaClassRec; 6040dd5a57Smrg 6140dd5a57Smrg 6240dd5a57SmrgGLAPI GLwMDrawingAreaClassRec glwMDrawingAreaClassRec; 6340dd5a57Smrg 6440dd5a57Smrg 6540dd5a57Smrg/* XT */ 6640dd5a57Smrg#else 6740dd5a57Smrg 6840dd5a57Smrgtypedef struct _GLwDrawingAreaClassRec { 6940dd5a57Smrg CoreClassPart core_class; 7040dd5a57Smrg GLwDrawingAreaClassPart glwDrawingArea_class; 7140dd5a57Smrg } GLwDrawingAreaClassRec; 7240dd5a57Smrg 7340dd5a57SmrgGLAPI GLwDrawingAreaClassRec glwDrawingAreaClassRec; 7440dd5a57Smrg 7540dd5a57Smrg 7640dd5a57Smrg#endif 7740dd5a57Smrg 7840dd5a57Smrg 7940dd5a57Smrg 8040dd5a57Smrgtypedef struct { 8140dd5a57Smrg /* resources */ 8240dd5a57Smrg int * attribList; 8340dd5a57Smrg XVisualInfo * visualInfo; 8440dd5a57Smrg Boolean myList; /* TRUE if we malloced the attribList*/ 8540dd5a57Smrg Boolean myVisual; /* TRUE if we created the visualInfo*/ 8640dd5a57Smrg Boolean installColormap; 8740dd5a57Smrg Boolean allocateBackground; 8840dd5a57Smrg Boolean allocateOtherColors; 8940dd5a57Smrg Boolean installBackground; 9040dd5a57Smrg XtCallbackList ginitCallback; 9140dd5a57Smrg XtCallbackList resizeCallback; 9240dd5a57Smrg XtCallbackList exposeCallback; 9340dd5a57Smrg XtCallbackList inputCallback; 9440dd5a57Smrg /* specific attributes; add as we get new attributes */ 9540dd5a57Smrg int bufferSize; 9640dd5a57Smrg int level; 9740dd5a57Smrg Boolean rgba; 9840dd5a57Smrg Boolean doublebuffer; 9940dd5a57Smrg Boolean stereo; 10040dd5a57Smrg int auxBuffers; 10140dd5a57Smrg int redSize; 10240dd5a57Smrg int greenSize; 10340dd5a57Smrg int blueSize; 10440dd5a57Smrg int alphaSize; 10540dd5a57Smrg int depthSize; 10640dd5a57Smrg int stencilSize; 10740dd5a57Smrg int accumRedSize; 10840dd5a57Smrg int accumGreenSize; 10940dd5a57Smrg int accumBlueSize; 11040dd5a57Smrg int accumAlphaSize; 11140dd5a57Smrg } GLwDrawingAreaPart; 11240dd5a57Smrg 11340dd5a57Smrg#ifdef __GLX_MOTIF 11440dd5a57Smrg 11540dd5a57Smrgtypedef struct _GLwMDrawingAreaRec { 11640dd5a57Smrg CorePart core; 11740dd5a57Smrg XmPrimitivePart primitive; 11840dd5a57Smrg GLwDrawingAreaPart glwDrawingArea; 11940dd5a57Smrg } GLwMDrawingAreaRec; 12040dd5a57Smrg 12140dd5a57Smrg#else 12240dd5a57Smrg 12340dd5a57Smrgtypedef struct _GLwDrawingAreaRec { 12440dd5a57Smrg CorePart core; 12540dd5a57Smrg GLwDrawingAreaPart glwDrawingArea; 12640dd5a57Smrg } GLwDrawingAreaRec; 12740dd5a57Smrg 12840dd5a57Smrg#endif 12940dd5a57Smrg 13040dd5a57Smrg#endif 131