📄 glwin.h
字号:
);/*Grab actual window contents and write it into a {\em ppm} file.*//*%-----------------------------------------------------------------*//*\func{glwGrabPPMAndPrint}*/void glwGrabPPMAndPrint( glWindow win );/* Grab actual window contents to ppm and print as postscript. You can influence the way the picture is printed if you specify 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 doneusing \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. Seethe corresponding documentation to learn how to set up such a file.The parameter {\tt skip} determines how many frames are skipped betweenthe 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 transformationdata 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 0xf5#define GLW_Up 0xf6#define GLW_Right 0xf7#define GLW_Down 0xf8#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#define GLW_Tab '\t'/* {\tt shift\_mask} can have the following values: */#define GLW_SHIFT 8#define GLW_CONTROL 16#define GLW_MOD1 32#define GLW_LOCK 64/*%-----------------------------------------------------------------*//*\func{glwSetMouseDownFunc}*/void glwSetMouseDownFunc( glWindow w, GLenum (*f)( glWindow w, void *user_data, int pos_x, int pos_y, GLenum button_shift_mask ) );/* Set function to be called after pressing a mouse button. {\tt pos\_x} and {\tt pos\_y} contain the current mouse position. {\tt button\_shift\_mask} can have the following parameters:*/#define GLW_LEFTBUTTON 1#define GLW_RIGHTBUTTON 2#define GLW_MIDDLEBUTTON 4/*%-----------------------------------------------------------------*//*\func{glwSetMouseUpFunc}*/void glwSetMouseUpFunc( glWindow w,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -