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 + -
显示快捷键?