This is gltk.h in view mode; [Download] [Up]
/* $Id: gltk.h,v 1.3 1997/02/03 20:08:13 brianp Exp brianp $ */ /* * Mesa 3-D graphics library * Version: 2.3 * Copyright (C) 1995-1996 Brian Paul * * 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. */ /* * This code originated from SGI and was modified for use with Mesa. */ #ifndef GLTK_INCLUDED #define GLTK_INCLUDED #ifdef __cplusplus extern "C" { #endif #ifdef __BEOS__ #include "GL/gl.h" #include "GL/glu.h" #else #include <GL/gl.h> #include <GL/glu.h> #endif /* ** Nano Window Toolkit. ** Version 1.1 */ #if defined(__WIN32__) || defined(DOSVGA) || defined(FX) /* ** Display Mode Selection Criteria */ enum { TK_USE_ID = 1, TK_EXACT_MATCH, TK_MINIMUM_CRITERIA }; #endif /* ** Window Types */ #define TK_RGB 0 #define TK_INDEX 1 #define TK_SINGLE 0 #define TK_DOUBLE 2 #define TK_DIRECT 0 #define TK_INDIRECT 4 #define TK_ACCUM 8 #define TK_ALPHA 16 #define TK_DEPTH 32 #define TK_STENCIL 64 #define TK_OVERLAY 128 #define TK_UNDERLAY 256 /* ** Window Masks */ #define TK_IS_RGB(x) (((x) & TK_INDEX) == 0) #define TK_IS_INDEX(x) (((x) & TK_INDEX) != 0) #define TK_IS_SINGLE(x) (((x) & TK_DOUBLE) == 0) #define TK_IS_DOUBLE(x) (((x) & TK_DOUBLE) != 0) #define TK_IS_DIRECT(x) (((x) & TK_INDIRECT) == 0) #define TK_IS_INDIRECT(x) (((x) & TK_INDIRECT) != 0) #define TK_HAS_ACCUM(x) (((x) & TK_ACCUM) != 0) #define TK_HAS_ALPHA(x) (((x) & TK_ALPHA) != 0) #define TK_HAS_DEPTH(x) (((x) & TK_DEPTH) != 0) #define TK_HAS_OVERLAY(x) (((x) & TK_OVERLAY) != 0) #define TK_HAS_UNDERLAY(x) (((x) & TK_UNDERLAY) != 0) #define TK_HAS_STENCIL(x) (((x) & TK_STENCIL) != 0) /* ** Windowing System Specific Gets */ typedef enum { TK_X_DISPLAY = 1, TK_X_WINDOW } TKenum; /* ** Event Status */ #define TK_LEFTBUTTON 1 #define TK_RIGHTBUTTON 2 #define TK_MIDDLEBUTTON 4 #define TK_SHIFT 1 #define TK_CONTROL 2 /* ** Key Codes */ #define TK_RETURN 0x0D #define TK_ESCAPE 0x1B #define TK_SPACE 0x20 #define TK_LEFT 0x25 #define TK_UP 0x26 #define TK_RIGHT 0x27 #define TK_DOWN 0x28 #define TK_A 'A' #define TK_B 'B' #define TK_C 'C' #define TK_D 'D' #define TK_E 'E' #define TK_F 'F' #define TK_G 'G' #define TK_H 'H' #define TK_I 'I' #define TK_J 'J' #define TK_K 'K' #define TK_L 'L' #define TK_M 'M' #define TK_N 'N' #define TK_O 'O' #define TK_P 'P' #define TK_Q 'Q' #define TK_R 'R' #define TK_S 'S' #define TK_T 'T' #define TK_U 'U' #define TK_V 'V' #define TK_W 'W' #define TK_X 'X' #define TK_Y 'Y' #define TK_Z 'Z' #define TK_a 'a' #define TK_b 'b' #define TK_c 'c' #define TK_d 'd' #define TK_e 'e' #define TK_f 'f' #define TK_g 'g' #define TK_h 'h' #define TK_i 'i' #define TK_j 'j' #define TK_k 'k' #define TK_l 'l' #define TK_m 'm' #define TK_n 'n' #define TK_o 'o' #define TK_p 'p' #define TK_q 'q' #define TK_r 'r' #define TK_s 's' #define TK_t 't' #define TK_u 'u' #define TK_v 'v' #define TK_w 'w' #define TK_x 'x' #define TK_y 'y' #define TK_z 'z' #define TK_0 '0' #define TK_1 '1' #define TK_2 '2' #define TK_3 '3' #define TK_4 '4' #define TK_5 '5' #define TK_6 '6' #define TK_7 '7' #define TK_8 '8' #define TK_9 '9' /* ** Color Macros */ enum { TK_BLACK = 0, #ifdef __WIN32__ TK_RED=10, #else TK_RED, #endif TK_GREEN, TK_YELLOW, TK_BLUE, TK_MAGENTA, TK_CYAN, TK_WHITE }; #ifdef __BEOS__ #pragma export on #endif #if defined(__WIN32__) || defined(DOSVGA) extern float tkRGBMap[17][3]; #else extern float tkRGBMap[8][3]; #endif #define TK_SETCOLOR(x, y) (TK_IS_RGB((x)) ? \ glColor3fv(tkRGBMap[(y)]) : glIndexf((y))) /* ** RGB Image Structure */ typedef struct _TK_RGBImageRec { GLint sizeX, sizeY; unsigned char *data; } TK_RGBImageRec; /* ** Prototypes */ extern void tkInitDisplayMode(GLenum); extern void tkInitPosition(int, int, int, int); extern GLenum tkInitWindow(char *); extern void tkCloseWindow(void); extern void tkQuit(void); extern GLenum tkSetWindowLevel(GLenum); extern void tkSwapBuffers(void); extern void tkExec(void); extern void tkExposeFunc(void (*)(int, int)); extern void tkReshapeFunc(void (*)(int, int)); extern void tkDisplayFunc(void (*)(void)); extern void tkKeyDownFunc(GLenum (*)(int, GLenum)); extern void tkMouseDownFunc(GLenum (*)(int, int, GLenum)); extern void tkMouseUpFunc(GLenum (*)(int, int, GLenum)); extern void tkMouseMoveFunc(GLenum (*)(int, int, GLenum)); extern void tkIdleFunc(void (*)(void)); extern int tkGetColorMapSize(void); extern void tkGetMouseLoc(int *, int *); extern void tkGetSystem(TKenum, void *); extern void tkSetOneColor(int, float, float, float); extern void tkSetFogRamp(int, int); extern void tkSetGreyRamp(void); extern void tkSetRGBMap(int, float *); extern void tkSetOverlayMap(int, float *); extern void tkNewCursor(GLint, GLubyte *, GLubyte *, GLenum, GLenum, GLint, GLint); extern void tkSetCursor(GLint); extern TK_RGBImageRec *tkRGBImageLoad(char *); extern GLenum tkCreateStrokeFont(GLuint); extern GLenum tkCreateOutlineFont(GLuint); extern GLenum tkCreateFilledFont(GLuint); extern GLenum tkCreateBitmapFont(GLuint); extern void tkDrawStr(GLuint, char *); extern void tkWireSphere(GLuint, float); extern void tkSolidSphere(GLuint, float); extern void tkWireCube(GLuint, float); extern void tkSolidCube(GLuint, float); extern void tkWireBox(GLuint, float, float, float); extern void tkSolidBox(GLuint, float, float, float); extern void tkWireTorus(GLuint, float, float); extern void tkSolidTorus(GLuint, float, float); extern void tkWireCylinder(GLuint, float, float); extern void tkSolidCylinder(GLuint, float, float); extern void tkWireCone(GLuint, float, float); extern void tkSolidCone(GLuint, float, float); #ifdef __BEOS__ #pragma export off #endif #ifdef __cplusplus } #endif #ifdef __WIN32__ #include <windows.h> HWND tkGetHWND(void); #endif /* WIN32 */ #endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.