aboutsummaryrefslogtreecommitdiffstats
path: root/src/glut/glx/glut_modifier.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut/glx/glut_modifier.c')
-rw-r--r--src/glut/glx/glut_modifier.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/glut/glx/glut_modifier.c b/src/glut/glx/glut_modifier.c
new file mode 100644
index 00000000000..d2919fa89b9
--- /dev/null
+++ b/src/glut/glx/glut_modifier.c
@@ -0,0 +1,31 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* This program is freely distributable without licensing fees
+ and is provided without guarantee or warrantee expressed or
+ implied. This program is -not- in the public domain. */
+
+#include "glutint.h"
+
+/* CENTRY */
+int APIENTRY
+glutGetModifiers(void)
+{
+ int modifiers;
+
+ if(__glutModifierMask == (unsigned int) ~0) {
+ __glutWarning(
+ "glutCurrentModifiers: do not call outside core input callback.");
+ return 0;
+ }
+ modifiers = 0;
+ if(__glutModifierMask & (ShiftMask|LockMask))
+ modifiers |= GLUT_ACTIVE_SHIFT;
+ if(__glutModifierMask & ControlMask)
+ modifiers |= GLUT_ACTIVE_CTRL;
+ if(__glutModifierMask & Mod1Mask)
+ modifiers |= GLUT_ACTIVE_ALT;
+ return modifiers;
+}
+
+/* ENDCENTRY */