X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=miniglut.h;h=9eebee04293ff964fe8e3fe10e775efbc587c444;hb=HEAD;hp=56d7a975f678741efc6edfc99435f9ccc2796538;hpb=1dcaa0cf790ced9f2245ae33d175de5f7bb9a0c9;p=miniglut diff --git a/miniglut.h b/miniglut.h index 56d7a97..9eebee0 100644 --- a/miniglut.h +++ b/miniglut.h @@ -1,6 +1,6 @@ /* MiniGLUT - minimal GLUT subset without dependencies -Copyright (C) 2020 John Tsiombikas +Copyright (C) 2020-2022 John Tsiombikas This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,7 +24,9 @@ along with this program. If not, see . #ifdef _MSC_VER #pragma comment (lib, "opengl32") +#ifndef MINIGLUT_NO_WINMM #pragma comment (lib, "winmm") +#endif #endif /* MSVC */ #endif @@ -82,7 +84,38 @@ enum { GLUT_INIT_WINDOW_Y, GLUT_INIT_WINDOW_WIDTH, GLUT_INIT_WINDOW_HEIGHT, - GLUT_ELAPSED_TIME + GLUT_ELAPSED_TIME, + GLUT_WINDOW_COLORMAP_SIZE +}; + +enum { + GLUT_RED, + GLUT_GREEN, + GLUT_BLUE +}; + +enum { + GLUT_KEY_HOME = 0xff50, + GLUT_KEY_LEFT = 0xff51, + GLUT_KEY_UP, + GLUT_KEY_RIGHT, + GLUT_KEY_DOWN, + GLUT_KEY_PAGE_UP, + GLUT_KEY_PAGE_DOWN, + GLUT_KEY_END = 0xff57, + GLUT_KEY_INSERT = 0xff63, + GLUT_KEY_F1 = 0xffbe, + GLUT_KEY_F2, + GLUT_KEY_F3, + GLUT_KEY_F4, + GLUT_KEY_F5, + GLUT_KEY_F6, + GLUT_KEY_F7, + GLUT_KEY_F8, + GLUT_KEY_F9, + GLUT_KEY_F10, + GLUT_KEY_F11, + GLUT_KEY_F12 }; /* returned by glutGetModifiers */ @@ -90,6 +123,12 @@ enum { #define GLUT_ACTIVE_CTRL 4 #define GLUT_ACTIVE_ALT 8 +enum { + GLUT_KEY_REPEAT_OFF, + GLUT_KEY_REPEAT_ON +}; +#define GLUT_KEY_REPEAT_DEFAULT GLUT_KEY_REPEAT_ON + typedef void (*glut_cb)(void); typedef void (*glut_cb_reshape)(int x, int y); typedef void (*glut_cb_state)(int state); @@ -100,6 +139,9 @@ typedef void (*glut_cb_motion)(int x, int y); typedef void (*glut_cb_sbmotion)(int x, int y, int z); typedef void (*glut_cb_sbbutton)(int bn, int state); +#ifdef __cplusplus +extern "C" { +#endif void glutInit(int *argc, char **argv); void glutInitWindowPosition(int x, int y); @@ -119,6 +161,12 @@ void glutFullScreen(void); void glutSetWindowTitle(const char *title); void glutSetIconTitle(const char *title); void glutSetCursor(int cursor); +void glutSetColor(int idx, float r, float g, float b); +void glutWarpPointer(int x, int y); +float glutGetColor(int idx, int comp); + +void glutIgnoreKeyRepeat(int ignore); +void glutSetKeyRepeat(int repmode); void glutIdleFunc(glut_cb func); void glutDisplayFunc(glut_cb func); @@ -134,7 +182,7 @@ void glutMotionFunc(glut_cb_motion func); void glutPassiveMotionFunc(glut_cb_motion func); void glutSpaceballMotionFunc(glut_cb_sbmotion func); void glutSpaceballRotateFunc(glut_cb_sbmotion func); -void glutSpaceballBittonFunc(glut_cb_sbbutton func); +void glutSpaceballButtonFunc(glut_cb_sbbutton func); int glutGet(unsigned int s); int glutGetModifiers(void); @@ -152,4 +200,8 @@ void glutWireTorus(float inner_rad, float outer_rad, int sides, int rings); void glutSolidTeapot(float size); void glutWireTeapot(float size); +#ifdef __cplusplus +} /* extern "C" */ +#endif + #endif /* MINIGLUT_H_ */