This file is indexed.

/usr/include/simgear/screen/tr.h is in libsimgear-dev 3.4.0-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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
/* $Id$ */

/*
 * $Log$
 * Revision 1.4  2008/07/27 16:10:37  ehofman
 *
 *
 *  - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
 *  - this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
 *    extensions.hxx was pulling in all of Carbon to the global namespace
 *    - very scary. As a result, I now need to explicitly include CoreFoundation
 *    in fg_init.cxx.
 *  - change SG_USING_STD(x) to using std::x
 *
 * Issues:
 *
 *  - the logic for X11 and Win32 in RenderTexture and extensions is tortured,
 *    please see if you agree I got all the ifdefs correct.
 *
 * Revision 1.3  2006/02/21 10:47:21  ehofman
 * Back out the previous patch.
 *
 * Revision 1.2  2004/11/18 19:10:34  curt
 * Abstract out location of gl.h, glut.h, and glu.h includes so that we can
 * make the Mac platform happy since they put these in a different place compared
 * to the rest of the world.
 *
 * Revision 1.1.1.1  2002/09/07 02:58:19  curt
 * Initial revsion of Simgear-0.3.0
 *
 * Revision 1.1  2001/06/26 15:19:39  curt
 * Added tr.cxx / tr.h, Brian Paul's LGPL'd tiled rendering support libs for
 * rendering ultra high res "tiled" screen shots.
 *
 * Revision 1.5  1997/07/21  17:34:07  brianp
 * added tile borders, incremented version to 1.1
 *
 * Revision 1.4  1997/07/21  15:47:35  brianp
 * renamed all "near" and "far" variables
 *
 * Revision 1.3  1997/04/26  21:23:25  brianp
 * added trRasterPos3f function
 *
 * Revision 1.2  1997/04/19  23:26:10  brianp
 * many API changes
 *
 * Revision 1.1  1997/04/18  21:53:05  brianp
 * Initial revision
 *
 */


/*
 * Tiled Rendering library
 * Version 1.1
 * Copyright (C) Brian Paul
 *
 *
 * This library allows one to render arbitrarily large images with OpenGL.
 * The basic idea is to break the image into tiles which are rendered one
 * at a time.  The tiles are assembled together to form the final, large
 * image.  Tiles and images can be of any size.
 *
 * Basic usage:
 *
 * 1. Allocate a tile rendering context:
 *       TRcontext t = trNew();
 *
 * 2. Specify the final image buffer and tile size:
 *       GLubyte image[W][H][4]
 *       trImageSize(t, W, H);
 *       trImageBuffer(t, GL_RGBA, GL_UNSIGNED_BYTE, (GLubyte *) image);
 *
 * 3. Setup your projection:
 *       trFrustum(t, left, right, bottom top, near, far);
 *    or
 *       trOrtho(t, left, right, bottom top, near, far);
 *    or
 *       trPerspective(t, fovy, aspect, near, far);
 *
 * 4. Render the tiles:
 *       do {
 *           trBeginTile(t);
 *           DrawMyScene();
 *       } while (trEndTile(t));
 *
 *    You provide the DrawMyScene() function which calls glClear() and
 *    draws all your stuff.
 *
 * 5. The image array is now complete.  Display it, write it to a file, etc.
 *
 * 6. Delete the tile rendering context when finished:
 *       trDelete(t);
 *
 */


#ifndef TR_H
#define TR_H

#include <simgear/compiler.h>

#include <osg/GL>


//#ifdef __cplusplus
//extern "C" {
//#endif


#define TR_VERSION "1.1"
#define TR_MAJOR_VERSION 1
#define TR_MINOR_VERSION 1


typedef struct _TRctx TRcontext;


typedef enum {
	TR_TILE_WIDTH = 100,
	TR_TILE_HEIGHT,
	TR_TILE_BORDER,
	TR_IMAGE_WIDTH,
	TR_IMAGE_HEIGHT,
	TR_ROWS,
	TR_COLUMNS,
	TR_CURRENT_ROW,
	TR_CURRENT_COLUMN,
	TR_CURRENT_TILE_WIDTH,
	TR_CURRENT_TILE_HEIGHT,
	TR_ROW_ORDER,
	TR_TOP_TO_BOTTOM,
	TR_BOTTOM_TO_TOP,
	TR_LEFT,
	TR_RIGHT,
	TR_BOTTOM,
	TR_TOP,
	TR_NEAR,
	TR_FAR
} TRenum;



extern TRcontext *trNew(void);

extern void trDelete(TRcontext *tr);


extern void trTileSize(TRcontext *tr, GLint width, GLint height, GLint border);

extern void trTileBuffer(TRcontext *tr, GLenum format, GLenum type,
						 GLvoid *image);


extern void trImageSize(TRcontext *tr, GLint width, GLint height);

extern void trImageBuffer(TRcontext *tr, GLenum format, GLenum type,
						  GLvoid *image);


extern void trRowOrder(TRcontext *tr, TRenum order);


extern GLint trGet(TRcontext *tr, TRenum param);
extern GLdouble trGetD(TRcontext *tr, TRenum param);


extern void trOrtho(TRcontext *tr,
					GLdouble left, GLdouble right,
					GLdouble bottom, GLdouble top,
					GLdouble zNear, GLdouble zFar);

extern void trFrustum(TRcontext *tr,
					  GLdouble left, GLdouble right,
					  GLdouble bottom, GLdouble top,
					  GLdouble zNear, GLdouble zFar);

extern void trPerspective(TRcontext *tr,
						  GLdouble fovy, GLdouble aspect,
						  GLdouble zNear, GLdouble zFar );


extern void trBeginTile(TRcontext *tr);

extern int trEndTile(TRcontext *tr);


extern void trRasterPos3f(TRcontext *tr, GLfloat x, GLfloat y, GLfloat z);



//#ifdef __cplusplus
//}
//#endif


#endif