This is MesaWorkstationP.h in view mode; [Download] [Up]
/* MesaWorkstationP.h -- Private header file for the Mesa Workstation widget
Copyright (C) 1995 Thorsten.Ohl @ Physik.TH-Darmstadt.de
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: MesaWorkstationP.h,v 1.9 1996/01/15 00:44:08 ohl Exp $
*/
#ifndef _MesaWorkstationP_h
#define _MesaWorkstationP_h
#include <GL/MesaDrawingAreaP.h>
#include <GL/MesaWorkstation.h>
typedef enum { NOPROJ, PROJ_MATRIX, PROJ_LIST, FRUSTUM, ORTHO } projtype;
typedef struct
{
GLdouble left, right;
GLdouble bottom, top;
GLdouble near, far;
}
volume;
typedef struct
{
projtype type;
GLuint list;
union
{
GLdouble m[16];
volume vol;
}
u;
}
projection;
typedef enum { NOVIEW, VIEW_MATRIX, VIEW_LIST, LOOK_AT, POLAR } viewtype;
typedef struct
{
GLdouble eyex, eyey, eyez;
GLdouble ctrx, ctry, ctrz;
GLdouble upx, upy, upz;
}
look_at;
typedef struct
{
GLdouble r;
GLdouble theta;
GLdouble phi;
}
polar;
typedef struct
{
viewtype type;
GLuint list;
union
{
GLdouble m[16];
look_at look_at;
polar polar;
}
u;
}
view;
typedef struct
{
char *RCS_Id;
}
MesaWorkstationClassPart;
#ifdef __GLX_MOTIF
typedef struct _MesaMWorkstationClassRec
{
CoreClassPart core_class;
XmPrimitiveClassPart primitive_class;
GLwDrawingAreaClassPart glwDrawingArea_class;
MesaDrawingAreaClassPart mesaDrawingArea_class;
MesaWorkstationClassPart mesaWorkstation_class;
}
MesaMWorkstationClassRec;
extern MesaMWorkstationClassRec mesaMWorkstationClassRec;
#else
typedef struct _MesaWorkstationClassRec
{
CoreClassPart core_class;
GLwDrawingAreaClassPart glwDrawingArea_class;
MesaDrawingAreaClassPart mesaDrawingArea_class;
MesaWorkstationClassPart mesaWorkstation_class;
}
MesaWorkstationClassRec;
extern MesaWorkstationClassRec mesaWorkstationClassRec;
#endif
typedef struct
{
projection projection;
view view;
GLuint *objects;
GLuint *next_object;
size_t allocated_objects;
}
MesaWorkstationPart;
#ifdef __GLX_MOTIF
typedef struct _MesaMWorkstationRec
{
CorePart core;
XmPrimitivePart primitive;
GLwDrawingAreaPart glwDrawingArea;
MesaDrawingAreaPart mesaDrawingArea;
MesaWorkstationPart mesaWorkstation;
}
MesaMWorkstationRec;
#else
typedef struct _MesaWorkstationRec
{
CorePart core;
GLwDrawingAreaPart glwDrawingArea;
MesaDrawingAreaPart mesaDrawingArea;
MesaWorkstationPart mesaWorkstation;
}
MesaWorkstationRec;
#endif
#endif /* _MesaWorkstationP_h */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.