glwin.h

来自「有限元学习研究用源代码(老外的),供科研人员参考」· C头文件 代码 · 共 1,032 行 · 第 1/3 页

H
1,032
字号
                       int mode
                       );
/* 
Set control mode. Possible values:
*/

#define GLW_EVENT_DRIVEN 1               /* default */
#define GLW_APPLICATION_DRIVEN 2


/*%-----------------------------------------------------------------*/
/*\func{glwGrab}*/
void  glwGrab(
              glWindow win, 
              FILE *f
              );
/*
Grab actual window contents and write it into 
a  {\em ppm} file.
To be able to use this option, one has to create all OpenGL transformation
data etc. in the redraw function.
*/

/*%-----------------------------------------------------------------*/
/*\func{glwGrabAndPrint}*/
void  glwGrabAndPrint(
              glWindow win
              );
/*
Grab actual window contents and print as postscript  using pnmtools.
You can influence the  way the picture is printed if you specify
a the X resource {\tt gltools*printerCommand}. The default is 
\mbox{\tt pnmtops | lpr}.
*/

/*%-----------------------------------------------------------------*/
/*\func{glwStartRecording}*/
void glwStartRecording(
              glWindow win, 
              char *fileNameStub,
	      int skip
              );
/*

Start recording of frame data into an MPEG stream using mpeg\_encode.  
Recording is done
using \xref{glwGrab} which is called within \xref{glwSwapBuffers}. 
You can influence the video recording  if you specify in the X resource
{\tt gltools*mpegParameters} the name of an mpeg\_encode parameter file. See
the corresponding documentation to learn how to set up such a file.
The parameter {\tt skip} determines how many frames are skipped between
the two dumps.
*/


/*%-----------------------------------------------------------------*/
/*\func{glwStopRecording}*/
void  glwStopRecording(
              glWindow win
              );
/*
Stop recording of frame data initiated by 
\xref{glwStartRecording}.

%-----------------------------------------------------------------*/
/*\func{glwDump}*/
void  glwDump(
              glWindow win, 
              void * info, 
              char *fileName, 
              int w, 
              int h
              );
/*

Render data into off screen pixmap of size $w \times h$
 using the  redraw function set by \xref{glwSetRedrawFunc} 
 and 
create a  {\em ppm} file. This code is in beta state.
To be able to use this option, one has to create all OpenGL transformation
data etc. in the redraw function.

If $w<0$ or $h<0$, we take the actual size of the window on the screen.

%-----------------------------------------------------------------*/
/*\func{ glwShowState}*/ 
void      glwShowState(
                       glWindow win, 
                       char *state
                       );
/*
   The title bar of a gltools window consists of two parts:
   the title itself and a status area. This function sets the
   status part.

%-----------------------------------------------------------------*/
/*\func{glwSetTitle}*/
void      glwSetTitle(
                      glWindow w, 
                      char *title
                      );
/* 
   The title bar of a gltools window consists of two parts:
   the title itself and a status area. This function sets the
   title  part.

%-----------------------------------------------------------------*/
/*\func{glwQuit}*/
void glwQuit(
             glWindow w
             );
/*  
Stop event processing in \xref{glwProcess}.

%-----------------------------------------------------------------*/
/*\func{glwSwapBuffers}*/
void    glwSwapBuffers(
                       glWindow w
                       ); 
/*
   Swap buffers in double buffer mode.
%-----------------------------------------------------------------*/
/*\func{glwDebug}*/
void glwDebug(void);
/*
   Toggle debugging output  of {\tt glwin} (which goes to stderr).


%-----------------------------------------------------------------*/
/*\subsection{Callbacks}*/
/*\func{glwSetRedrawFunc}
*/
void glwSetRedrawFunc(
                      glWindow w, 
                      void (*f)(
                                glWindow w, 
                                void * user_data
                                )
                      );
/*
Set user draw function. This function is called when  a redraw is needed.
Only this function should call OpenGL routines to draw something.

%-----------------------------------------------------------------*/
/*\func{glwSetExposeFunc}*/
void glwSetExposeFunc(
                      glWindow w,
                      void (*f)(
                                glWindow w, 
                                void *user_data,
                                int width, 
                                int height
                                )
                      );
/*
 Set function to be called after expose event.
 {\tt width} and {\tt height} contain the new size of the window.

%-----------------------------------------------------------------*/
/*\func{glwSetReshapeFunc}*/
void glwSetReshapeFunc(
                       glWindow w,
                       void (*f)(
                                 glWindow w,
                                 void *user_data,
                                 int width,
                                 int height
                                 )
                       );
/*
 Set function to be called after reshape event.
 {\tt width} and {\tt height} contain the new size of the window.

%-----------------------------------------------------------------*/
/*\func{glwSetKeyDownFunc}*/
void glwSetKeyDownFunc(
                       glWindow w,
                       GLenum (*f)(
                                   glWindow w,
                                   void *user_data,
                                   int key,
                                   GLenum button_shift_mask
                                   )
                       );
/* 
 Set function to be called after key press.
 The {\tt key} parameter can have the following values: 
*/
#define GLW_A                   'A'
#define GLW_B                   'B'
#define GLW_C                   'C'
#define GLW_D                   'D'
#define GLW_E                   'E'
#define GLW_F                   'F'
#define GLW_G                   'G'
#define GLW_H                   'H'
#define GLW_I                   'I'
#define GLW_J                   'J'
#define GLW_K                   'K'
#define GLW_L                   'L'
#define GLW_M                   'M'
#define GLW_N                   'N'
#define GLW_O                   'O'
#define GLW_P                   'P'
#define GLW_Q                   'Q'
#define GLW_R                   'R'
#define GLW_S                   'S'
#define GLW_T                   'T'
#define GLW_U                   'U'
#define GLW_V                   'V'
#define GLW_W                   'W'
#define GLW_X                   'X'
#define GLW_Y                   'Y'
#define GLW_Z                   'Z'

#define GLW_a                   'a'
#define GLW_b                   'b'
#define GLW_c                   'c'
#define GLW_d                   'd'
#define GLW_e                   'e'
#define GLW_f                   'f'
#define GLW_g                   'g'
#define GLW_h                   'h'
#define GLW_i                   'i'
#define GLW_j                   'j'
#define GLW_k                   'k'
#define GLW_l                   'l'
#define GLW_m                   'm'
#define GLW_n                   'n'
#define GLW_o                   'o'
#define GLW_p                   'p'
#define GLW_q                   'q'
#define GLW_r                   'r'
#define GLW_s                   's'
#define GLW_t                   't'
#define GLW_u                   'u'
#define GLW_v                   'v'
#define GLW_w                   'w'
#define GLW_x                   'x'
#define GLW_y                   'y'
#define GLW_z                   'z'

#define GLW_0                   '0'
#define GLW_1                   '1'
#define GLW_2                   '2'
#define GLW_3                   '3'
#define GLW_4                   '4'
#define GLW_5                   '5'
#define GLW_6                   '6'
#define GLW_7                   '7'
#define GLW_8                   '8'
#define GLW_9                   '9'

#define GLW_space	        0x020
#define GLW_exclam              0x021
#define GLW_quotedbl            0x022
#define GLW_numbersign          0x023
#define GLW_dollar              0x024
#define GLW_percent             0x025
#define GLW_ampersand           0x026
#define GLW_apostrophe          0x027

#define GLW_quoteright          0x027    
#define GLW_parenleft           0x028
#define GLW_parenright          0x029
#define GLW_asterisk            0x02a
#define GLW_plus                0x02b
#define GLW_comma               0x02c
#define GLW_minus               0x02d
#define GLW_period              0x02e
#define GLW_slash               0x02f
#define GLW_colon               0x03a
#define GLW_semicolon           0x03b
#define GLW_less                0x03c
#define GLW_equal               0x03d
#define GLW_greater             0x03e
#define GLW_question            0x03f
#define GLW_at                  0x040
#define GLW_bracketleft         0x05b
#define GLW_bracketright        0x05d
#define GLW_asciicircum         0x05e
#define GLW_underscore          0x05f
#define GLW_grave               0x060
#define GLW_braceleft           0x07b
#define GLW_bar                 0x07c
#define GLW_braceright          0x07d
#define GLW_asciitilde          0x07e
#define GLW_Return		0x0D
#define GLW_BackSpace           0x08
#define GLW_Escape		0x1B
#define GLW_Left		0x25
#define GLW_Up			0x26
#define GLW_Right		0x27
#define GLW_Down		0x28
#define GLW_KP_Enter             0x8D 
#define GLW_KP_Home              0x95
#define GLW_KP_Left              0x96
#define GLW_KP_Up                0x97
#define GLW_KP_Right             0x98
#define GLW_KP_Down              0x99
#define GLW_KP_Page_Up           0x9A
#define GLW_KP_Page_Down         0x9B
#define GLW_KP_End               0x9C
#define GLW_KP_Begin             0x9D
#define GLW_KP_Insert            0x9E
#define GLW_KP_Delete            0x9F
#define GLW_KP_Divide            0xAF
#define GLW_KP_Multiply          0xAA
#define GLW_KP_Add               0xAB
#define GLW_KP_Subtract          0xAD
#define GLW_KP_Decimal           0xAE
#define GLW_KP_0                 0xB0
#define GLW_KP_1                 0xB1
#define GLW_KP_2                 0xB2
#define GLW_KP_3                 0xB3
#define GLW_KP_4                 0xB4
#define GLW_KP_5                 0xB5
#define GLW_KP_6                 0xB6
#define GLW_KP_7                 0xB7
#define GLW_KP_8                 0xB8
#define GLW_KP_9                 0xB9
#define GLW_F1                   0xBE
#define GLW_F2                   0xBF
#define GLW_F3                   0xC0
#define GLW_F4                   0xC1
#define GLW_F5                   0xC2
#define GLW_F6                   0xC3
#define GLW_F7                   0xC4
#define GLW_F8                   0xC5
#define GLW_F9                   0xC6
#define GLW_F10                  0xC7
#define GLW_F11                  0xC8
#define GLW_F12                  0xC9
/* D instead of 5 */
#define GLW_Page_Up              0xD5 
#define GLW_Page_Down            0xD6
#define GLW_Home                 0xD0
#define GLW_End                  0xD7
/* E instead of 6 */
#define GLW_Insert               0xE3 
#define GLW_Delete               0xFF 
#define GLW_Print		 0x61
#define GLW_Pause		 0x13
#define GLW_Scroll_Lock		 0x14

⌨️ 快捷键说明

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