/usr/include/geomview/private/mgx11P.h is in libgeomview-dev 1.9.4-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | /* Copyright (C) 1992-1998 The Geometry Center
* Copyright (C) 1998-2000 Stuart Levy, Tamara Munzner, Mark Phillips
*
* This file is part of Geomview.
*
* Geomview is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Geomview 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Geomview; see the file COPYING. If not, write
* to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139,
* USA, or visit http://www.gnu.org.
*/
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#ifndef NO_SHM
#include <sys/ipc.h>
#include <sys/shm.h>
#include <X11/extensions/XShm.h>
#endif /*!NO_SHM*/
#include "mgx11.h"
typedef struct {
Pt3Coord x, y, z, w; /* Point coordinates */
ColorA vcol; /* Color of vertex */
int drawnext; /* draw the next line segment? */
} CPoint3;
#include "mgbufrender.h"
#include "mgx11render1.h"
#include "mgx11render8.h"
#include "mgx11render16.h"
#include "mgbufrender24.h"
typedef struct _mgx11win {
int mgwinid;/* mg window id */
Window window; /* real X window structure */
Window parent; /* parent X windows */
XImage *image; /* image for double buffering */
unsigned char *buf; /* convience ptr */
int width, height; /* actual size of shm seg */
int zwidth;
GC gc; /* real X graphics context */
XSizeHints xsh; /* X size hints */
XWindowAttributes xwa; /* X window attributes */
XSetWindowAttributes xswa;
XEvent event; /* X event structure for window */
struct _mgx11win *next; /* next in list */
#ifndef NO_SHM
XShmSegmentInfo shminf; /* book-keeping for shm */
#endif
} mgx11win;
/* Display List Structure */
/*****************************************************************************/
typedef struct _mgx11prim {
int mykind; /* kind of primitive */
int index; /* index into array of vertices */
int numvts; /* number of vertices */
float depth; /* z value for sorting (at least for now) */
int color[3]; /* rgb color of polygon */
int ecolor[3]; /* edge color of polygon */
int ewidth; /* edge width */
} mgx11prim;
typedef struct _mgx11_sort
{
vvec primsort; /* pointers to mgx11prim array elements*/
vvec prims; /* array of mgx11prim structures */
int primnum; /* number of primitives */
int cprim; /* current primitive being stored */
vvec pverts; /* array of vertices */
int pvertnum;
int cvert; /* current vertex being stored */
int maxverts; /* maximum number of vertices */
} mgx11_sort;
#define MGX_NULL 0
#define MGX_END 0
#define MGX_BGNLINE 1
#define MGX_BGNPOLY 2
#define MGX_BGNEPOLY 3
#define MGX_BGNSLINE 4
#define MGX_BGNSPOLY 5
#define MGX_BGNSEPOLY 6
#define MGX_VERTEX 7
#define MGX_CVERTEX 8
#define MGX_COLOR 9
#define MGX_ECOLOR 10
#define PRIM_LINE 1
#define PRIM_POLYGON 2
#define PRIM_EPOLYGON 3
#define PRIM_SLINE 4 /* smooth shaded primitives */
#define PRIM_SPOLYGON 5
#define PRIM_SEPOLYGON 6
#define PRIM_INVIS 7
/* End of Display List Structure */
/*****************************************************************************/
typedef struct mgx11context {
struct mgcontext mgctx; /* The mgcontext */
int visible; /* has window been displayed on screen yet? */
int win; /* 1 if window is created */
int pix; /* 1 is window is a pixmap */
int znudge; /* znudge for drawing lines closer */
float znudgeby; /* how much of a nudge ? */
long znear, zfar; /* Current Z-buffer limits */
enum sortmethod sortmethod; /* MG_NONE, MG_DEPTH, MG_ZBUFFER */
int dither; /* Should we dither? */
int bitdepth; /* what bit depth ... 24, 8, or 1? */
Visual *visual; /* visual for window */
int shm; /* Do we use shared memory? */
int xmin, xmax, ymin, ymax;
int oxmin, oxmax, oymin, oymax;
int exposed;
int noclear;
vvec room; /* Scratch space */
Display *mgx11display; /* pointer to X-display */
Colormap cmap; /* Our colormap */
int cmapset; /* is colormap set or not? */
mgx11win *myxwin; /* pointer to mgx11window structure */
mgx11_sort *mysort; /* sorting structure */
int sizelock; /* for prohibiting size change from within mg
when the cam window is part of a larger
hierarchy of windows as with Widgets */
void (*deleted)(Window);
/* callback for when I'm deleted */
/* pass back parent window */
} mgx11context;
#define MAXZNUDGE 8 /* Max depth of mgx11_closer()/farther() */
#define _mgx11c ((mgx11context*)_mgc)
|