togl.h

来自「CNC 的开放码,EMC2 V2.2.8版」· C头文件 代码 · 共 349 行

H
349
字号
/* $Id: togl.h,v 1.1 2006/08/09 22:56:56 jepler Exp $ *//* * Togl - a Tk OpenGL widget * Version 1.6 * Copyright (C) 1996-1998  Brian Paul and Ben Bederson * See the LICENSE-Togl file for copyright details. *//* * $Log: togl.h,v $ * Revision 1.1  2006/08/09 22:56:56  jepler * AXIS is now a part of EMC2, not a separate source download. * * Revision 1.1  2004/11/29 17:11:09  jepler * Build python module _togl, to beat broken togl from pyopengl * * Revision 1.1  2003/02/14 20:18:20  mcfletch * Switch to TOGL 1.6 (from CVS) which should support Tk 8.4 (and earlier versions as well) * * Revision 1.20  2001/01/29 18:11:53  brianp * Jonas Beskow's changes to use Tcl/Tk stub interface * * Revision 1.19  2000/05/12 00:28:12  thiessen * first Macintosh port * * Revision 1.18  1998/10/14 01:26:51  brianp * added Togl_SetTimerFunc(), bumped version to 1.6 * * Revision 1.17  1997/11/15 04:14:37  brianp * changed version to 1.5 * * Revision 1.16  1997/11/15 02:58:48  brianp * added Togl_TkWin() per Glenn Lewis * * Revision 1.15  1997/10/01 02:49:45  brianp * added SGI stereo functions from Ben Evans * * Revision 1.14  1997/08/26 02:05:19  brianp * added Togl_ResetDefaultCallbacks() and Togl_ClientData() (Greg Couch) * * Revision 1.13  1997/08/26 01:35:41  brianp * added Togl_Set*Func() functions from Matthias Ott * * Revision 1.12  1997/08/22 02:48:25  brianp * added WIN32 header stuff.  changed Togl version to 1.4. * * Revision 1.11  1997/04/11 01:37:22  brianp * added Togl_TimerFunc() and related code from Elmar Gerwalin * * Revision 1.10  1997/02/16 10:03:33  brianp * removed GL/glx.h include, added X11/Xlib.h include * * Revision 1.9  1997/02/16 01:25:34  brianp * added new overlay and EPS functions from Miguel A. De Riera Pasenau * * Revision 1.8  1996/12/13 21:24:41  brianp * added Togl_DestroyFunc() contributed by scotter@iname.com * * Revision 1.7  1996/11/14 00:49:54  brianp * added Togl_Get/SetClientData() functions * * Revision 1.6  1996/11/05 02:40:12  brianp * added Togl_Configure() and Togl_UnloadBitmapFont() * * Revision 1.5  1996/10/25 03:44:06  brianp * updated version to 1.2 * * Revision 1.4  1996/10/24 01:20:17  brianp * added overlay constants and functions * * Revision 1.3  1996/10/24 00:13:34  brianp * added const qualifier to many function parameters * * Revision 1.2  1996/10/23 23:28:06  brianp * updated version to 1.1 * added TOGL_BITMAP_* constants * added Togl_LoadBitmapFont() * * Revision 1.1  1996/10/23 23:15:27  brianp * Initial revision * */#ifndef TOGL_H#define TOGL_H#if defined(WIN32)#   define WIN32_LEAN_AND_MEAN#   include <windows.h>#   undef WIN32_LEAN_AND_MEAN#   if defined(_MSC_VER)#	define EXPORT(a,b) __declspec(dllexport) a b#	define DllEntryPoint DllMain#   else#	if defined(__BORLANDC__)#	    define EXPORT(a,b) a _export b#	else#	    define EXPORT(a,b) a b#	endif#   endif#else#   define EXPORT(a,b) a b#endif /* WIN32 */#ifdef macintosh# ifndef MAC_TCL#   define MAC_TCL# endif#endif#include <tcl.h>#include <tk.h>#include <GL/gl.h>#ifdef TOGL_X11#include <X11/Xlib.h>#endif#ifdef __sgi#include <GL/glx.h>#include <X11/extensions/SGIStereo.h>#endif#ifndef NULL#define NULL    0#endif#ifdef __cplusplusextern "C" {#endif#define TOGL_VERSION "1.6"#define TOGL_MAJOR_VERSION 1#define TOGL_MINOR_VERSION 6/* * "Standard" fonts which can be specified to Togl_LoadBitmapFont() */#define TOGL_BITMAP_8_BY_13		((char *) 1)#define TOGL_BITMAP_9_BY_15		((char *) 2)#define TOGL_BITMAP_TIMES_ROMAN_10	((char *) 3)#define TOGL_BITMAP_TIMES_ROMAN_24	((char *) 4)#define TOGL_BITMAP_HELVETICA_10	((char *) 5)#define TOGL_BITMAP_HELVETICA_12	((char *) 6)#define TOGL_BITMAP_HELVETICA_18	((char *) 7) /* * Normal and overlay plane constants */#define TOGL_NORMAL	1#define TOGL_OVERLAY	2struct Togl;typedef void (Togl_Callback) (struct Togl *togl);typedef int  (Togl_CmdProc) (struct Togl *togl, int argc, char *argv[]);    EXPORT(int,Togl_Init)(Tcl_Interp *interp);/* * Default/initial callback setup functions */extern void Togl_CreateFunc( Togl_Callback *proc );extern void Togl_DisplayFunc( Togl_Callback *proc );extern void Togl_ReshapeFunc( Togl_Callback *proc );extern void Togl_DestroyFunc( Togl_Callback *proc );extern void Togl_TimerFunc( Togl_Callback *proc );extern void Togl_ResetDefaultCallbacks( void );/* * Change callbacks for existing widget */extern void Togl_SetCreateFunc( struct Togl *togl, Togl_Callback *proc );extern void Togl_SetDisplayFunc( struct Togl *togl, Togl_Callback *proc );extern void Togl_SetReshapeFunc( struct Togl *togl, Togl_Callback *proc );extern void Togl_SetDestroyFunc( struct Togl *togl, Togl_Callback *proc );extern void Togl_SetTimerFunc( struct Togl *togl, Togl_Callback *proc );/* * Miscellaneous */extern int Togl_Configure( Tcl_Interp *interp, struct Togl *togl,                            int argc, char *argv[], int flags );extern void Togl_MakeCurrent( const struct Togl *togl );extern void Togl_CreateCommand( char *cmd_name,                                Togl_CmdProc *cmd_proc );extern void Togl_PostRedisplay( struct Togl *togl );extern void Togl_SwapBuffers( const struct Togl *togl );/* * Query functions */extern char *Togl_Ident( const struct Togl *togl );extern int Togl_Width( const struct Togl *togl );extern int Togl_Height( const struct Togl *togl );extern Tcl_Interp *Togl_Interp( const struct Togl *togl );extern Tk_Window Togl_TkWin( const struct Togl *togl );/* * Color Index mode */extern unsigned long Togl_AllocColor( const struct Togl *togl,                                      float red, float green, float blue );extern void Togl_FreeColor( const struct Togl *togl, unsigned long index );extern void Togl_SetColor( const struct Togl *togl, unsigned long index,                           float red, float green, float blue );/* * Bitmap fonts */extern GLuint Togl_LoadBitmapFont( const struct Togl *togl,                                   const char *fontname );extern void Togl_UnloadBitmapFont( const struct Togl *togl, GLuint fontbase );/* * Overlay functions */extern void Togl_UseLayer( struct Togl *togl, int layer );extern void Togl_ShowOverlay( struct Togl *togl );extern void Togl_HideOverlay( struct Togl *togl );extern void Togl_PostOverlayRedisplay( struct Togl *togl );extern void Togl_OverlayDisplayFunc( Togl_Callback *proc );extern int Togl_ExistsOverlay( const struct Togl *togl );extern int Togl_GetOverlayTransparentValue( const struct Togl *togl );extern int Togl_IsMappedOverlay( const struct Togl *togl );extern unsigned long Togl_AllocColorOverlay( const struct Togl *togl,                                             float red, float green,                                              float blue );extern void Togl_FreeColorOverlay( const struct Togl *togl,                                    unsigned long index );/* * User client data */extern void Togl_ClientData( ClientData clientData );extern ClientData Togl_GetClientData( const struct Togl *togl );extern void Togl_SetClientData( struct Togl *togl, ClientData clientData );/* * X11-only commands. * Contributed by Miguel A. De Riera Pasenau (miguel@DALILA.UPC.ES) */#ifdef TOGL_X11extern Display *Togl_Display( const struct Togl *togl );extern Screen *Togl_Screen( const struct Togl *togl );extern int Togl_ScreenNumber( const struct Togl *togl );extern Colormap Togl_Colormap( const struct Togl *togl );#endif/* * SGI stereo-only commands. * Contributed by Ben Evans (Ben.Evans@anusf.anu.edu.au) */#ifdef __sgiextern void Togl_StereoDrawBuffer( GLenum mode );extern void Togl_StereoFrustum( GLfloat left, GLfloat right,                                GLfloat bottom, GLfloat top,                                GLfloat near, GLfloat far,                                GLfloat eyeDist, GLfloat eyeOffset );extern void Togl_StereoClear( GLbitfield mask );#endif/* * Generate EPS file. * Contributed by Miguel A. De Riera Pasenau (miguel@DALILA.UPC.ES) */extern int Togl_DumpToEpsFile( const struct Togl *togl,                               const char *filename,                               int inColor,                               void (*user_redraw)(const struct Togl *) );/* Mac-specific setup functions */#ifdef macintoshint Togl_MacInit(void);int Togl_MacSetupMainInterp(Tcl_Interp *interp);#endif#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?