📄 glh_genext.h
字号:
/* File generated by extgen.cpp -- do not modify */
#ifndef GLH_GENEXT_H
#define GLH_GENEXT_H
#ifdef __cplusplus
extern "C" {
#endif
#include <GL/gl.h>
#include <GL/glext.h>
#if defined(WIN32)
# include <GL/wglext.h>
# define GLH_EXT_GET_PROC_ADDRESS(p) wglGetProcAddress(p)
#elif defined(UNIX)
# include <string.h>
# include <GL/glx.h>
# include <GL/glxext.h>
# define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB( (const GLubyte *) p)
#endif
#ifdef GLH_EXT_SINGLE_FILE
# define GLH_EXTERN
# define GLH_INITIALIZER = 0
#else
# define GLH_EXTERN extern
# define GLH_INITIALIZER
#endif
#define GLH__PREPROCESSOR_GYMNASTICS2(a,b) a##b
#define GLH__PREPROCESSOR_GYMNASTICS(a,b) GLH__PREPROCESSOR_GYMNASTICS2(a,b)
#ifndef _WIN32
#define GLH_EXT_PREFIX _
#endif
#ifndef GLH_EXT_PREFIX
# define GLH_EXT_NAME(a) a
#else
# define GLH_EXT_NAME(a) GLH__PREPROCESSOR_GYMNASTICS(GLH_EXT_PREFIX,a)
#endif
#ifndef _WIN32
# ifndef GLH_CORE_PREFIX
# define GLH_CORE_PREFIX _
# endif
#endif
#ifndef GLH_CORE_PREFIX
# define GLH_CORE_NAME(a) a
#else
# define GLH_CORE_NAME(a) GLH__PREPROCESSOR_GYMNASTICS(GLH_CORE_PREFIX,a)
#endif
#ifdef _WIN32
#if defined(GL_VERSION_1_2) || defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
/* These routines are prefixed by the preprocessor constant
GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
GLH_EXTERN PFNGLBLENDCOLORPROC GLH_CORE_NAME(glBlendColor) GLH_INITIALIZER;
GLH_EXTERN PFNGLBLENDEQUATIONPROC GLH_CORE_NAME(glBlendEquation) GLH_INITIALIZER;
GLH_EXTERN PFNGLDRAWRANGEELEMENTSPROC GLH_CORE_NAME(glDrawRangeElements) GLH_INITIALIZER;
GLH_EXTERN PFNGLTEXIMAGE3DPROC GLH_CORE_NAME(glTexImage3D) GLH_INITIALIZER;
GLH_EXTERN PFNGLTEXSUBIMAGE3DPROC GLH_CORE_NAME(glTexSubImage3D) GLH_INITIALIZER;
GLH_EXTERN PFNGLCOPYTEXSUBIMAGE3DPROC GLH_CORE_NAME(glCopyTexSubImage3D) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1DPROC GLH_CORE_NAME(glMultiTexCoord1d) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1DVPROC GLH_CORE_NAME(glMultiTexCoord1dv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1FPROC GLH_CORE_NAME(glMultiTexCoord1f) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1FVPROC GLH_CORE_NAME(glMultiTexCoord1fv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1IPROC GLH_CORE_NAME(glMultiTexCoord1i) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1IVPROC GLH_CORE_NAME(glMultiTexCoord1iv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1SPROC GLH_CORE_NAME(glMultiTexCoord1s) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1SVPROC GLH_CORE_NAME(glMultiTexCoord1sv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2DPROC GLH_CORE_NAME(glMultiTexCoord2d) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2DVPROC GLH_CORE_NAME(glMultiTexCoord2dv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2FPROC GLH_CORE_NAME(glMultiTexCoord2f) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2FVPROC GLH_CORE_NAME(glMultiTexCoord2fv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2IPROC GLH_CORE_NAME(glMultiTexCoord2i) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2IVPROC GLH_CORE_NAME(glMultiTexCoord2iv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2SPROC GLH_CORE_NAME(glMultiTexCoord2s) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2SVPROC GLH_CORE_NAME(glMultiTexCoord2sv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3DPROC GLH_CORE_NAME(glMultiTexCoord3d) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3DVPROC GLH_CORE_NAME(glMultiTexCoord3dv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3FPROC GLH_CORE_NAME(glMultiTexCoord3f) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3FVPROC GLH_CORE_NAME(glMultiTexCoord3fv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3IPROC GLH_CORE_NAME(glMultiTexCoord3i) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3IVPROC GLH_CORE_NAME(glMultiTexCoord3iv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3SPROC GLH_CORE_NAME(glMultiTexCoord3s) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3SVPROC GLH_CORE_NAME(glMultiTexCoord3sv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4DPROC GLH_CORE_NAME(glMultiTexCoord4d) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4DVPROC GLH_CORE_NAME(glMultiTexCoord4dv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4FPROC GLH_CORE_NAME(glMultiTexCoord4f) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4FVPROC GLH_CORE_NAME(glMultiTexCoord4fv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4IPROC GLH_CORE_NAME(glMultiTexCoord4i) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4IVPROC GLH_CORE_NAME(glMultiTexCoord4iv) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4SPROC GLH_CORE_NAME(glMultiTexCoord4s) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD4SVPROC GLH_CORE_NAME(glMultiTexCoord4sv) GLH_INITIALIZER;
GLH_EXTERN PFNGLACTIVETEXTUREPROC GLH_CORE_NAME(glActiveTexture) GLH_INITIALIZER;
GLH_EXTERN PFNGLCLIENTACTIVETEXTUREPROC GLH_CORE_NAME(glClientActiveTexture) GLH_INITIALIZER;
#endif
#endif
#ifdef _WIN32
#if defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
/* These routines are prefixed by the preprocessor constant
GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE3DPROC GLH_CORE_NAME(glCompressedTexImage3D) GLH_INITIALIZER;
GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE2DPROC GLH_CORE_NAME(glCompressedTexImage2D) GLH_INITIALIZER;
GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE1DPROC GLH_CORE_NAME(glCompressedTexImage1D) GLH_INITIALIZER;
GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC GLH_CORE_NAME(glCompressedTexSubImage3D) GLH_INITIALIZER;
GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC GLH_CORE_NAME(glCompressedTexSubImage2D) GLH_INITIALIZER;
GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC GLH_CORE_NAME(glCompressedTexSubImage1D) GLH_INITIALIZER;
GLH_EXTERN PFNGLGETCOMPRESSEDTEXIMAGEPROC GLH_CORE_NAME(glGetCompressedTexImage) GLH_INITIALIZER;
GLH_EXTERN PFNGLSAMPLECOVERAGEPROC GLH_CORE_NAME(glSampleCoverage) GLH_INITIALIZER;
GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXFPROC GLH_CORE_NAME(glLoadTransposeMatrixf) GLH_INITIALIZER;
GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXDPROC GLH_CORE_NAME(glLoadTransposeMatrixd) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXFPROC GLH_CORE_NAME(glMultTransposeMatrixf) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXDPROC GLH_CORE_NAME(glMultTransposeMatrixd) GLH_INITIALIZER;
#endif
#endif
#ifdef _WIN32
#if defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
/* These routines are prefixed by the preprocessor constant
GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
GLH_EXTERN PFNGLMULTIDRAWARRAYSPROC GLH_CORE_NAME(glMultiDrawArrays) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTIDRAWELEMENTSPROC GLH_CORE_NAME(glMultiDrawElements) GLH_INITIALIZER;
GLH_EXTERN PFNGLPOINTPARAMETERFPROC GLH_CORE_NAME(glPointParameterf) GLH_INITIALIZER;
GLH_EXTERN PFNGLPOINTPARAMETERFVPROC GLH_CORE_NAME(glPointParameterfv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3BPROC GLH_CORE_NAME(glSecondaryColor3b) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3BVPROC GLH_CORE_NAME(glSecondaryColor3bv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3DPROC GLH_CORE_NAME(glSecondaryColor3d) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3DVPROC GLH_CORE_NAME(glSecondaryColor3dv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3FPROC GLH_CORE_NAME(glSecondaryColor3f) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3FVPROC GLH_CORE_NAME(glSecondaryColor3fv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3IPROC GLH_CORE_NAME(glSecondaryColor3i) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3IVPROC GLH_CORE_NAME(glSecondaryColor3iv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3SPROC GLH_CORE_NAME(glSecondaryColor3s) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3SVPROC GLH_CORE_NAME(glSecondaryColor3sv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3UBPROC GLH_CORE_NAME(glSecondaryColor3ub) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3UBVPROC GLH_CORE_NAME(glSecondaryColor3ubv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3UIPROC GLH_CORE_NAME(glSecondaryColor3ui) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3UIVPROC GLH_CORE_NAME(glSecondaryColor3uiv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3USPROC GLH_CORE_NAME(glSecondaryColor3us) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLOR3USVPROC GLH_CORE_NAME(glSecondaryColor3usv) GLH_INITIALIZER;
GLH_EXTERN PFNGLSECONDARYCOLORPOINTERPROC GLH_CORE_NAME(glSecondaryColorPointer) GLH_INITIALIZER;
GLH_EXTERN PFNGLBLENDFUNCSEPARATEPROC GLH_CORE_NAME(glBlendFuncSeparate) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2DPROC GLH_CORE_NAME(glWindowPos2d) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2FPROC GLH_CORE_NAME(glWindowPos2f) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2IPROC GLH_CORE_NAME(glWindowPos2i) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2SPROC GLH_CORE_NAME(glWindowPos2s) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2DVPROC GLH_CORE_NAME(glWindowPos2dv) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2FVPROC GLH_CORE_NAME(glWindowPos2fv) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2IVPROC GLH_CORE_NAME(glWindowPos2iv) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS2SVPROC GLH_CORE_NAME(glWindowPos2sv) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3DPROC GLH_CORE_NAME(glWindowPos3d) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3FPROC GLH_CORE_NAME(glWindowPos3f) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3IPROC GLH_CORE_NAME(glWindowPos3i) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3SPROC GLH_CORE_NAME(glWindowPos3s) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3DVPROC GLH_CORE_NAME(glWindowPos3dv) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3FVPROC GLH_CORE_NAME(glWindowPos3fv) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3IVPROC GLH_CORE_NAME(glWindowPos3iv) GLH_INITIALIZER;
GLH_EXTERN PFNGLWINDOWPOS3SVPROC GLH_CORE_NAME(glWindowPos3sv) GLH_INITIALIZER;
#endif
#endif
#ifdef _WIN32
#if defined(GL_VERSION_1_5)
/* These routines are prefixed by the preprocessor constant
GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
GLH_EXTERN PFNGLGENQUERIESPROC GLH_CORE_NAME(glGenQueries) GLH_INITIALIZER;
GLH_EXTERN PFNGLDELETEQUERIESPROC GLH_CORE_NAME(glDeleteQueries) GLH_INITIALIZER;
GLH_EXTERN PFNGLISQUERYPROC GLH_CORE_NAME(glIsQuery) GLH_INITIALIZER;
GLH_EXTERN PFNGLBEGINQUERYPROC GLH_CORE_NAME(glBeginQuery) GLH_INITIALIZER;
GLH_EXTERN PFNGLENDQUERYPROC GLH_CORE_NAME(glEndQuery) GLH_INITIALIZER;
GLH_EXTERN PFNGLGETQUERYIVPROC GLH_CORE_NAME(glGetQueryiv) GLH_INITIALIZER;
GLH_EXTERN PFNGLGETQUERYOBJECTIVPROC GLH_CORE_NAME(glGetQueryObjectiv) GLH_INITIALIZER;
GLH_EXTERN PFNGLGETQUERYOBJECTUIVPROC GLH_CORE_NAME(glGetQueryObjectuiv) GLH_INITIALIZER;
GLH_EXTERN PFNGLBINDBUFFERPROC GLH_CORE_NAME(glBindBuffer) GLH_INITIALIZER;
GLH_EXTERN PFNGLDELETEBUFFERSPROC GLH_CORE_NAME(glDeleteBuffers) GLH_INITIALIZER;
GLH_EXTERN PFNGLGENBUFFERSPROC GLH_CORE_NAME(glGenBuffers) GLH_INITIALIZER;
GLH_EXTERN PFNGLISBUFFERPROC GLH_CORE_NAME(glIsBuffer) GLH_INITIALIZER;
GLH_EXTERN PFNGLBUFFERDATAPROC GLH_CORE_NAME(glBufferData) GLH_INITIALIZER;
GLH_EXTERN PFNGLBUFFERSUBDATAPROC GLH_CORE_NAME(glBufferSubData) GLH_INITIALIZER;
GLH_EXTERN PFNGLGETBUFFERSUBDATAPROC GLH_CORE_NAME(glGetBufferSubData) GLH_INITIALIZER;
GLH_EXTERN PFNGLMAPBUFFERPROC GLH_CORE_NAME(glMapBuffer) GLH_INITIALIZER;
GLH_EXTERN PFNGLUNMAPBUFFERPROC GLH_CORE_NAME(glUnmapBuffer) GLH_INITIALIZER;
GLH_EXTERN PFNGLGETBUFFERPARAMETERIVPROC GLH_CORE_NAME(glGetBufferParameteriv) GLH_INITIALIZER;
GLH_EXTERN PFNGLGETBUFFERPOINTERVPROC GLH_CORE_NAME(glGetBufferPointerv) GLH_INITIALIZER;
#endif
#endif
#ifdef GL_ARB_depth_texture
#endif
#ifdef GL_ARB_fragment_program
#endif
#ifdef GL_ARB_fragment_program_shadow
#endif
#ifdef GL_ARB_fragment_shader
#endif
#ifdef GL_ARB_matrix_palette
#endif
#ifdef GL_ARB_multisample
#endif
#ifdef GL_ARB_multitexture
GLH_EXTERN PFNGLMULTITEXCOORD1DARBPROC GLH_EXT_NAME(glMultiTexCoord1dARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1DVARBPROC GLH_EXT_NAME(glMultiTexCoord1dvARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1FARBPROC GLH_EXT_NAME(glMultiTexCoord1fARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1FVARBPROC GLH_EXT_NAME(glMultiTexCoord1fvARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1IARBPROC GLH_EXT_NAME(glMultiTexCoord1iARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1IVARBPROC GLH_EXT_NAME(glMultiTexCoord1ivARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1SARBPROC GLH_EXT_NAME(glMultiTexCoord1sARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD1SVARBPROC GLH_EXT_NAME(glMultiTexCoord1svARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2DARBPROC GLH_EXT_NAME(glMultiTexCoord2dARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2DVARBPROC GLH_EXT_NAME(glMultiTexCoord2dvARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2FARBPROC GLH_EXT_NAME(glMultiTexCoord2fARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2FVARBPROC GLH_EXT_NAME(glMultiTexCoord2fvARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2IARBPROC GLH_EXT_NAME(glMultiTexCoord2iARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2IVARBPROC GLH_EXT_NAME(glMultiTexCoord2ivARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2SARBPROC GLH_EXT_NAME(glMultiTexCoord2sARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD2SVARBPROC GLH_EXT_NAME(glMultiTexCoord2svARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3DARBPROC GLH_EXT_NAME(glMultiTexCoord3dARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3DVARBPROC GLH_EXT_NAME(glMultiTexCoord3dvARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3FARBPROC GLH_EXT_NAME(glMultiTexCoord3fARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3FVARBPROC GLH_EXT_NAME(glMultiTexCoord3fvARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3IARBPROC GLH_EXT_NAME(glMultiTexCoord3iARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3IVARBPROC GLH_EXT_NAME(glMultiTexCoord3ivARB) GLH_INITIALIZER;
GLH_EXTERN PFNGLMULTITEXCOORD3SARBPROC GLH_EXT_NAME(glMultiTexCoord3sARB) GLH_INITIALIZER;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -