[DRE-commits] r5088 - in trunk/libopengl-ruby: . debian debian/patches
Paul van Tilburg
paulvt at alioth.debian.org
Sat Apr 10 10:10:45 UTC 2010
Author: paulvt
Date: 2010-04-10 10:10:44 +0000 (Sat, 10 Apr 2010)
New Revision: 5088
Added:
trunk/libopengl-ruby/debian/patches/
trunk/libopengl-ruby/debian/patches/add_setcurcor_backward_compat
trunk/libopengl-ruby/debian/patches/series
Removed:
trunk/libopengl-ruby/glut.c
Modified:
trunk/libopengl-ruby/debian/changelog
trunk/libopengl-ruby/debian/control
trunk/libopengl-ruby/debian/libopengl-ruby.examples
trunk/libopengl-ruby/debian/rules
Log:
- Added ${misc:Depends} to libopengl-ruby and libopengl-ruby1.8.
- Changed xlibmesa-gl-dev build depend into libgl1-mesa-dev.
- Added build depend on quilt.
Modified: trunk/libopengl-ruby/debian/changelog
===================================================================
--- trunk/libopengl-ruby/debian/changelog 2010-04-10 09:51:07 UTC (rev 5087)
+++ trunk/libopengl-ruby/debian/changelog 2010-04-10 10:10:44 UTC (rev 5088)
@@ -10,12 +10,15 @@
a dummy package.
- Bumped the standards version to 3.8.4.
- Dropped the Ruby 1.9.1 package; upstream is not ready yet.
+ - Added ${misc:Depends} to libopengl-ruby and libopengl-ruby1.8.
+ - Changed xlibmesa-gl-dev build depend into libgl1-mesa-dev.
+ - Added build depend on quilt.
* debian/rules:
- Rewritted to use CDBS and ruby-pkg-tools.
* debian/libopengl-ruby.docs, debian/libopengl.examples: Added!
* debian/source/format: Switched the source format to 3.0 (quilt).
- -- Paul van Tilburg <paulvt at debian.org> Fri, 09 Apr 2010 23:17:59 +0200
+ -- Paul van Tilburg <paulvt at debian.org> Sat, 10 Apr 2010 11:58:10 +0200
libopengl-ruby (0.32f-2.1) unstable; urgency=low
Modified: trunk/libopengl-ruby/debian/control
===================================================================
--- trunk/libopengl-ruby/debian/control 2010-04-10 09:51:07 UTC (rev 5087)
+++ trunk/libopengl-ruby/debian/control 2010-04-10 10:10:44 UTC (rev 5088)
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Paul van Tilburg <paulvt at debian.org>
Uploaders: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>
-Build-Depends: debhelper (>> 5.0.0), cdbs, ruby-pkg-tools, ruby1.8, ruby1.8-dev, ruby1.9.1, ruby1.9.1-dev, xlibmesa-gl-dev | libgl-dev, freeglut3-dev
+Build-Depends: debhelper (>> 5.0.0), cdbs, ruby-pkg-tools, quilt, ruby1.8, ruby1.8-dev, libgl1-mesa-dev, freeglut3-dev
Standards-Version: 3.8.4
Homepage: http://www2.giganet.net/~yoshi/
Vcs-Svn: svn://svn.debian.org/svn/pkg-ruby-extras/trunk/libopengl-ruby/
@@ -11,7 +11,7 @@
Package: libopengl-ruby
Architecture: all
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: OpenGL binding for Ruby
This library allows program written in Ruby to use the OpenGL API for
graphics.
@@ -21,7 +21,7 @@
Package: libopengl-ruby1.8
Architecture: any
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: OpenGL binding for Ruby 1.8
This library allows program written in Ruby to use the OpenGL API for
graphics.
Modified: trunk/libopengl-ruby/debian/libopengl-ruby.examples
===================================================================
--- trunk/libopengl-ruby/debian/libopengl-ruby.examples 2010-04-10 09:51:07 UTC (rev 5087)
+++ trunk/libopengl-ruby/debian/libopengl-ruby.examples 2010-04-10 10:10:44 UTC (rev 5088)
@@ -1 +1 @@
-samples/*
+sample/*
Added: trunk/libopengl-ruby/debian/patches/add_setcurcor_backward_compat
===================================================================
--- trunk/libopengl-ruby/debian/patches/add_setcurcor_backward_compat (rev 0)
+++ trunk/libopengl-ruby/debian/patches/add_setcurcor_backward_compat 2010-04-10 10:10:44 UTC (rev 5088)
@@ -0,0 +1,11 @@
+--- /tmp/opengl-0.32g/glut.c 2005-08-26 18:04:19.000000000 +0200
++++ ../glut.c 2010-04-10 11:58:42.000000000 +0200
+@@ -1297,6 +1297,8 @@
+ rb_define_module_function(mGLUT, "HideWindow", glut_HideWindow, 0);
+ rb_define_module_function(mGLUT, "FullScreen", glut_FullScreen, 0);
+ rb_define_module_function(mGLUT, "SetCursor", glut_SetCursor, 1);
++ /* Misspelled function alias retained for backwards-compatibility. */
++ rb_define_module_function(mGLUT, "SetCurcor", glut_SetCursor, 1);
+ rb_define_module_function(mGLUT, "WarpPointer", glut_WarpPointer, 2);
+ rb_define_module_function(mGLUT, "EstablishOverlay", glut_EstablishOverlay, 0);
+ rb_define_module_function(mGLUT, "RemoveOverlay", glut_RemoveOverlay, 0);
Added: trunk/libopengl-ruby/debian/patches/series
===================================================================
--- trunk/libopengl-ruby/debian/patches/series (rev 0)
+++ trunk/libopengl-ruby/debian/patches/series 2010-04-10 10:10:44 UTC (rev 5088)
@@ -0,0 +1 @@
+add_setcurcor_backward_compat
Modified: trunk/libopengl-ruby/debian/rules
===================================================================
--- trunk/libopengl-ruby/debian/rules 2010-04-10 09:51:07 UTC (rev 5087)
+++ trunk/libopengl-ruby/debian/rules 2010-04-10 10:10:44 UTC (rev 5088)
@@ -4,3 +4,4 @@
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/ruby-pkg-tools/1/class/ruby-extconf-rb.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
Deleted: trunk/libopengl-ruby/glut.c
===================================================================
--- trunk/libopengl-ruby/glut.c 2010-04-10 09:51:07 UTC (rev 5087)
+++ trunk/libopengl-ruby/glut.c 2010-04-10 10:10:44 UTC (rev 5088)
@@ -1,1547 +0,0 @@
-/*
- * $Date: 2004/03/02 01:13:06 $
- * $Author: yoshi $
- */
-#if defined(WIN32)
-# include "windows.h"
-#endif
-#include "GL/glut.h"
-#include "ruby.h"
-
-static int callId; /* 'call' method id */
-
-/* callback define macro */
-#define WINDOW_CALLBACK_SETUP(_funcname) \
-static VALUE _funcname = Qnil; \
-static void glut_ ## _funcname ## Callback(); \
-static VALUE \
-glut_ ## _funcname(obj,arg1) \
-VALUE obj,arg1; \
-{ \
- int win; \
- if (!rb_obj_is_kind_of(arg1,rb_cProc) && !NIL_P(arg1)) \
- rb_raise(rb_eTypeError, "GLUT.%s:%s",#_funcname, rb_class2name(CLASS_OF(arg1))); \
- win = glutGetWindow(); \
- if (win == 0) \
- rb_raise(rb_eRuntimeError, "GLUT.%s needs current window", #_funcname); \
- rb_ary_store(_funcname, win, arg1); \
- glut ## _funcname(glut_ ## _funcname ## Callback); \
- return Qnil; \
-}
-
-#define WINDOW_CALLBACK_DEFINE(_funcname) \
- rb_define_module_function(mGLUT, # _funcname, glut_ ## _funcname , 1); \
- rb_global_variable(&_funcname); \
- _funcname = rb_ary_new()
-
-/*
- * GLUT Implementation
- */
-/* GLUT initialization sub-API. */
-static VALUE g_arg_array;
-
-static VALUE
-glut_Init(argc, argv, obj)
-int argc;
-VALUE* argv;
-VALUE obj;
-{
-#if 0
- int argcp = 1;
- if (TYPE(arg1) != T_STRING)
- rb_raise(rb_eTypeError, "GLUT.Init:%s", rb_class2name(CLASS_OF(arg1)));
- glutInit(&argcp, (char**)&(RSTRING(arg1)->ptr));
-#endif
- int largc;
- char** largv;
- int i, j;
- int find;
- VALUE new_argv;
- VALUE arg1;
- VALUE ptr;
- if (rb_scan_args(argc, argv, "01", &arg1) == 0) {
- arg1 = rb_eval_string("ARGV");
- }
- Check_Type(arg1, T_ARRAY);
- largc = RARRAY(arg1)->len+1;
- largv = ALLOCA_N(char*, largc+2);
- largv[0] = STR2CSTR(rb_eval_string("$0"));
- for (i = 1; i < largc; i++) {
- largv[i] = STR2CSTR(RARRAY(arg1)->ptr[i-1]);
- }
- largv[i] = NULL;
- glutInit(&largc, largv);
- new_argv = rb_ary_new2(largc-1);
- g_arg_array = rb_ary_new();
- for (i = 0; i < RARRAY(arg1)->len; i++) {
- ptr = RARRAY(arg1)->ptr[i];
- find = 0;
- for (j = 1; largv[j]; j++) {
- if (STR2CSTR(ptr) == largv[j]) {
- rb_ary_push(new_argv, ptr);
- find = 1;
- break;
- }
- }
- if (!find) {
- rb_ary_push(g_arg_array, ptr);
- }
- }
- return new_argv;
-}
-
-static VALUE
-glut_InitDisplayMode(obj,arg1)
-VALUE obj,arg1;
-{
- unsigned int mode;
- mode = (unsigned int)NUM2INT(arg1);
- glutInitDisplayMode(mode);
- return Qnil;
-}
-
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-static VALUE
-glut_InitDisplayString(obj,arg1)
-VALUE obj,arg1;
-{
- if (TYPE(arg1) != T_STRING)
- rb_raise(rb_eTypeError, "GLUT.InitDisplay:%s",rb_class2name(CLASS_OF(arg1)));
- glutInitDisplayString(RSTRING(arg1)->ptr);
- return Qnil;
-}
-#endif
-
-static VALUE
-glut_InitWindowPosition(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int x,y;
- x = NUM2INT(arg1);
- y = NUM2INT(arg2);
- glutInitWindowPosition(x,y);
- return Qnil;
-}
-
-static VALUE
-glut_InitWindowSize(obj, arg1, arg2)
-VALUE obj,arg1,arg2;
-{
- int width,height;
- width = NUM2INT(arg1);
- height = NUM2INT(arg2);
- glutInitWindowSize(width,height);
- return Qnil;
-}
-
-static VALUE
-glut_MainLoop(obj)
-VALUE obj;
-{
- glutMainLoop();
- return Qnil;
-}
-
-WINDOW_CALLBACK_SETUP(DisplayFunc);
-WINDOW_CALLBACK_SETUP(ReshapeFunc);
-WINDOW_CALLBACK_SETUP(KeyboardFunc);
-WINDOW_CALLBACK_SETUP(MouseFunc);
-WINDOW_CALLBACK_SETUP(MotionFunc);
-WINDOW_CALLBACK_SETUP(PassiveMotionFunc);
-WINDOW_CALLBACK_SETUP(EntryFunc);
-WINDOW_CALLBACK_SETUP(VisibilityFunc);
-/*
-CALLBACK_DEFINE(IdleFunc);
-CALLBACK_DEFINE(TimerFunc);
-MENU_CALLBACK_DEFINE(MenuStateFunc);
-*/
-WINDOW_CALLBACK_SETUP(SpecialFunc);
-WINDOW_CALLBACK_SETUP(SpaceballMotionFunc);
-WINDOW_CALLBACK_SETUP(SpaceballRotateFunc);
-WINDOW_CALLBACK_SETUP(SpaceballButtonFunc);
-WINDOW_CALLBACK_SETUP(ButtonBoxFunc);
-WINDOW_CALLBACK_SETUP(DialsFunc);
-WINDOW_CALLBACK_SETUP(TabletMotionFunc);
-WINDOW_CALLBACK_SETUP(TabletButtonFunc);
-/*
-MENU_CALLBACK_DEFINE(MenuStatusFunc);
-*/
-WINDOW_CALLBACK_SETUP(OverlayDisplayFunc);
-WINDOW_CALLBACK_SETUP(WindowStatusFunc);
-
-/* GLUT window sub-API. */
-static VALUE
-glut_CreateWindow(argc, argv, obj)
-int argc;
-VALUE* argv;
-VALUE obj;
-{
- int ret;
- VALUE title;
- rb_scan_args(argc, argv, "01", &title);
- if (argc == 0)
- title = rb_eval_string("$0");
- if (TYPE(title) != T_STRING)
- rb_raise(rb_eTypeError, "GLUT.CreateWindow:%s", rb_class2name(CLASS_OF(title)));
- ret = glutCreateWindow(RSTRING(title)->ptr);
-
- /* setup callback */
-/*
- glutDisplayFunc(glut_DisplayFuncCallback);
- glutReshapeFunc(glut_ReshapeFuncCallback);
- glutKeyboardFunc(glut_KeyboardFuncCallback);
- glutMouseFunc(glut_MouseFuncCallback);
- glutMotionFunc(glut_MotionFuncCallback);
- glutPassiveMotionFunc(glut_PassiveMotionFuncCallback);
- glutEntryFunc(glut_EntryFuncCallback);
- glutVisibilityFunc(glut_VisibilityFuncCallback);
- glutSpecialFunc(glut_SpecialFuncCallback);
- glutSpaceballMotionFunc(glut_SpaceballMotionFuncCallback);
- glutSpaceballRotateFunc(glut_SpaceballRotateFuncCallback);
- glutSpaceballButtonFunc(glut_SpaceballButtonFuncCallback);
- glutButtonBoxFunc(glut_ButtonBoxFuncCallback);
- glutDialsFunc(glut_DialsFuncCallback);
- glutTabletMotionFunc(glut_TabletMotionFuncCallback);
- glutTabletButtonFunc(glut_TabletButtonFuncCallback);
- glutOverlayDisplayFunc(glut_OverlayDisplayFuncCallback);
- glutWindowStatusFunc(glut_WindowStatusFuncCallback);
-*/
- return INT2NUM(ret);
-}
-
-static VALUE
-glut_CreateSubWindow(obj,arg1,arg2,arg3,arg4,arg5)
-VALUE obj,arg1,arg2,arg3,arg4,arg5;
-{
- int win, x, y, width, height;
- int ret;
- win = NUM2INT(arg1);
- x = NUM2INT(arg2);
- y = NUM2INT(arg3);
- width = NUM2INT(arg4);
- height = NUM2INT(arg5);
- ret = glutCreateSubWindow(win, x, y, width, height);
- return INT2NUM(ret);
-}
-
-static VALUE
-glut_DestroyWindow(obj,arg1)
-VALUE obj,arg1;
-{
- int win;
- win = NUM2INT(arg1);
- glutDestroyWindow(win);
- return Qnil;
-}
-
-static VALUE
-glut_PostRedisplay(obj)
-VALUE obj;
-{
- glutPostRedisplay();
- return Qnil;
-}
-
-static VALUE
-glut_SwapBuffers(obj)
-VALUE obj;
-{
- glutSwapBuffers();
- return Qnil;
-}
-
-static VALUE
-glut_GetWindow(obj)
-VALUE obj;
-{
- int ret;
- ret = glutGetWindow();
- return INT2NUM(ret);
-}
-
-static VALUE
-glut_SetWindow(obj,arg1)
-VALUE obj,arg1;
-{
- int win;
- win = NUM2INT(arg1);
- glutSetWindow(win);
- return Qnil;
-}
-
-static VALUE
-glut_SetWindowTitle(obj,arg1)
-VALUE obj,arg1;
-{
- if (TYPE(arg1) != T_STRING)
- rb_raise(rb_eTypeError, "GLUT.SetWindowTitle:%s", rb_class2name(CLASS_OF(arg1)));
- glutSetWindowTitle(RSTRING(arg1)->ptr);
- return Qnil;
-}
-
-static VALUE
-glut_SetIconTitle(obj, arg1)
-VALUE obj,arg1;
-{
- if (TYPE(arg1) != T_STRING)
- rb_raise(rb_eTypeError, "GLUT.IconTitle:%s", rb_class2name(CLASS_OF(arg1)));
- glutSetIconTitle(RSTRING(arg1)->ptr);
- return Qnil;
-}
-
-static VALUE
-glut_PositionWindow(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int x,y;
- x = NUM2INT(arg1);
- y = NUM2INT(arg2);
- glutPositionWindow(x,y);
- return Qnil;
-}
-
-static VALUE
-glut_ReshapeWindow(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int width,height;
- width = NUM2INT(arg1);
- height = NUM2INT(arg2);
- glutReshapeWindow(width, height);
- return Qnil;
-}
-
-static VALUE
-glut_PopWindow(obj)
-VALUE obj;
-{
- glutPopWindow();
- return Qnil;
-}
-
-static VALUE
-glut_PushWidow(obj)
-VALUE obj;
-{
- glutPushWindow();
- return Qnil;
-}
-
-static VALUE
-glut_IconifyWindow(obj)
-VALUE obj;
-{
- glutIconifyWindow();
- return Qnil;
-}
-
-static VALUE
-glut_ShowWindow(obj)
-VALUE obj;
-{
- glutShowWindow();
- return Qnil;
-}
-
-static VALUE
-glut_HideWindow(obj)
-VALUE obj;
-{
- glutHideWindow();
- return Qnil;
-}
-
-#if (GLUT_API_VERSION >= 3)
-static VALUE
-glut_FullScreen(obj)
-VALUE obj;
-{
- glutFullScreen();
- return Qnil;
-}
-
-static VALUE
-glut_SetCursor(obj,arg1)
-VALUE obj,arg1;
-{
- int cursor;
- cursor = NUM2INT(arg1);
- glutSetCursor(cursor);
- return Qnil;
-}
-
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-static VALUE
-glut_WarpPointer(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int x,y;
- x = NUM2INT(arg1);
- y = NUM2INT(arg2);
- glutWarpPointer(x,y);
- return Qnil;
-}
-#endif
-
-/* GLUT overlay sub-API. */
-static VALUE
-glut_EstablishOverlay(obj)
-VALUE obj;
-{
- glutEstablishOverlay();
- return Qnil;
-}
-
-static VALUE
-glut_RemoveOverlay(obj)
-VALUE obj;
-{
- glutRemoveOverlay();
- return Qnil;
-}
-
-static VALUE
-glut_UseLayer(obj,arg1)
-{
- GLenum layer;
- layer = (GLenum)NUM2INT(arg1);
- glutUseLayer(layer);
- return Qnil;
-}
-
-static VALUE
-glut_PostOverlayRedisplay(obj)
-VALUE obj;
-{
- glutPostOverlayRedisplay();
- return Qnil;
-}
-
-static VALUE
-glut_ShowOverlay(obj)
-VALUE obj;
-{
- glutShowOverlay();
- return Qnil;
-}
-
-static VALUE
-glut_HideOverlay(obj)
-VALUE obj;
-{
- glutHideOverlay();
- return Qnil;
-}
-#endif
-
-/* GLUT menu sub-API. */
-static VALUE g_menucallback = Qnil;
-static VALUE g_menuargs = Qnil;
-static void
-glut_CreateMenuCallback(value)
-int value;
-{
- VALUE arg_pair;
- VALUE func;
- arg_pair = (VALUE)value;
- func = rb_hash_aref(g_menucallback, rb_ary_entry(arg_pair, 0));
- rb_funcall(func, callId, 1, rb_ary_entry(arg_pair, 1));
-}
-
-static VALUE
-glut_CreateMenu(obj,arg1)
-VALUE obj,arg1;
-{
- int menu;
- VALUE ret;
- if (!rb_obj_is_kind_of(arg1,rb_cProc) && !NIL_P(arg1))
- rb_raise(rb_eTypeError, "GLUT.CreateMenu:%s", rb_class2name(CLASS_OF(arg1)));
- menu = glutCreateMenu(glut_CreateMenuCallback);
- ret = INT2FIX(menu);
- rb_hash_aset(g_menucallback, ret, arg1);
- rb_hash_aset(g_menuargs, ret, rb_ary_new());
- return ret;
-}
-
-static VALUE
-glut_DestroyMenu(obj,arg1)
-VALUE obj,arg1;
-{
- int menu;
- menu = INT2FIX(arg1);
- glutDestroyMenu(menu);
- rb_hash_aset(g_menucallback, menu, Qnil);
- rb_hash_aset(g_menuargs, menu, Qnil);
- return Qnil;
-}
-
-static VALUE
-glut_GetMenu(obj)
-VALUE obj;
-{
- int ret;
- ret = glutGetMenu();
- return INT2NUM(ret);
-}
-
-static VALUE
-glut_SetMenu(obj,arg1)
-VALUE obj,arg1;
-{
- int menu;
- menu = NUM2INT(arg1);
- glutSetMenu(menu);
- return Qnil;
-}
-
-static VALUE
-glut_AddMenuEntry(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int value;
- int curmenuid;
- VALUE arg_ary;
- VALUE arg_pair;
- if (TYPE(arg1) != T_STRING) rb_raise(rb_eTypeError, "GLUT.AddMenuEntry:%s",
- rb_class2name(CLASS_OF(arg1)));
- curmenuid = glutGetMenu();
- if (curmenuid == 0) {
- rb_raise(rb_eRuntimeError, "GLUT.AddMenuEntry needs current menu");
- }
- arg_ary = rb_hash_aref(g_menuargs, INT2FIX(curmenuid));
- arg_pair = rb_ary_new2(2);
- rb_ary_store(arg_pair, 0, INT2FIX(curmenuid));
- rb_ary_store(arg_pair, 1, arg2);
- rb_ary_push(arg_ary, arg_pair);
- glutAddMenuEntry(RSTRING(arg1)->ptr, arg_pair);
- return Qnil;
-}
-
-static VALUE
-glut_AddSubMenu(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int value;
- if (TYPE(arg1) != T_STRING) rb_raise(rb_eTypeError, "GLUT.AddSubMenu:%s",
- rb_class2name(CLASS_OF(arg1)));
- value = NUM2INT(arg2);
- glutAddSubMenu(RSTRING(arg1)->ptr, value);
- return Qnil;
-}
-
-static VALUE
-glut_ChangeToMenuEntry(obj,arg1,arg2,arg3)
-VALUE obj,arg1,arg2,arg3;
-{
- VALUE arg_ary;
- VALUE arg_pair;
- int item,value;
- int curmenuid;
- item = NUM2INT(arg1);
- if (TYPE(arg2) != T_STRING) rb_raise(rb_eTypeError, "GLUT.ChangeToMenuEntry:%s",
- rb_class2name(CLASS_OF(arg1)));
- curmenuid = glutGetMenu();
- if (curmenuid == 0) {
- rb_raise(rb_eRuntimeError, "GLUT.ChangeToMenuEntry needs current menu");
- }
- arg_ary = rb_hash_aref(g_menuargs, INT2FIX(curmenuid));
- arg_pair = rb_ary_new2(2);
- rb_ary_store(arg_pair, 0, INT2FIX(curmenuid));
- rb_ary_store(arg_pair, 1, arg2);
- rb_ary_store(arg_ary, item, arg_pair);
- glutChangeToMenuEntry(item, RSTRING(arg2)->ptr, arg_pair);
- return Qnil;
-}
-
-static VALUE
-glut_ChangeToSubMenu(obj,arg1,arg2,arg3)
-VALUE obj,arg1,arg2,arg3;
-{
- int item,submenu;
- item = NUM2INT(arg1);
- submenu = NUM2INT(arg3);
- if (TYPE(arg2) != T_STRING) rb_raise(rb_eTypeError, "GLUT.ChangeToSubMenu:%s",
- rb_class2name(CLASS_OF(arg1)));
- glutChangeToSubMenu(item, RSTRING(arg2)->ptr, submenu);
- return Qnil;
-}
-
-static VALUE
-glut_RemoveMenuItem(obj,arg1)
-VALUE obj,arg1;
-{
- int item;
- int curmenuid;
- VALUE arg_ary;
- item = NUM2INT(arg1);
- glutRemoveMenuItem(item);
- curmenuid = glutGetMenu();
- if (curmenuid == 0) {
- rb_raise(rb_eRuntimeError, "GLUT.RemoveMenuItem needs current menu");
- }
- arg_ary = rb_hash_aref(g_menuargs, INT2FIX(curmenuid));
- rb_ary_delete(arg_ary, item);
- return Qnil;
-}
-
-static VALUE
-glut_AttachMenu(obj,arg1)
-VALUE obj, arg1;
-{
- int button;
- button = NUM2INT(arg1);
- glutAttachMenu(button);
- return Qnil;
-}
-
-static VALUE
-glut_DetachMenu(obj,arg1)
-VALUE obj, arg1;
-{
- int button;
- button = NUM2INT(arg1);
- glutDetachMenu(button);
- return Qnil;
-}
-
-/* GLUT sub-API. */
-static void
-glut_DisplayFuncCallback(void)
-{
- VALUE func;
- func = rb_ary_entry(DisplayFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 0);
-}
-
-static void
-glut_ReshapeFuncCallback(width, height)
-int width, height;
-{
- VALUE func;
- func = rb_ary_entry(ReshapeFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 2, INT2FIX(width), INT2FIX(height));
-}
-
-static void
-glut_KeyboardFuncCallback(key, x, y)
-unsigned char key;
-int x,y;
-{
- VALUE func;
- func = rb_ary_entry(KeyboardFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 3, INT2FIX(key), INT2FIX(x), INT2FIX(y));
-}
-
-static void
-glut_MouseFuncCallback(button, state, x, y)
-int button, state, x, y;
-{
- VALUE func;
- func = rb_ary_entry(MouseFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 4, INT2FIX(button), INT2FIX(state), INT2FIX(x), INT2FIX(y));
-}
-
-static void
-glut_MotionFuncCallback(x, y)
-int x, y;
-{
- VALUE func;
- func = rb_ary_entry(MotionFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 2,INT2FIX(x), INT2FIX(y));
-}
-
-static void
-glut_PassiveMotionFuncCallback(x, y)
-int x, y;
-{
- VALUE func;
- func = rb_ary_entry(PassiveMotionFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 2,INT2FIX(x), INT2FIX(y));
-}
-
-static void
-glut_EntryFuncCallback(state)
-int state;
-{
- VALUE func;
- func = rb_ary_entry(EntryFunc,glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 1, INT2NUM(state));
-}
-
-static void
-glut_VisibilityFuncCallback(state)
-int state;
-{
- VALUE func;
- func = rb_ary_entry(VisibilityFunc,glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 1, INT2NUM(state));
-}
-
-static VALUE idle_func = Qnil;
-static void
-glut_IdleFuncCallback()
-{
- if (!NIL_P(idle_func))
- rb_funcall(idle_func, callId, 0);
-}
-static VALUE
-glut_IdleFunc(obj, arg1)
-VALUE obj,arg1;
-{
- if (!rb_obj_is_kind_of(arg1,rb_cProc) && !NIL_P(arg1))
- rb_raise(rb_eTypeError, "glutIdleFunc:%s", rb_class2name(CLASS_OF(arg1)));
- idle_func = arg1;
- glutIdleFunc(glut_IdleFuncCallback);
- return Qnil;
-}
-
-static VALUE timer_func = Qnil;
-static void
-glut_TimerFuncCallback(value)
-int value;
-{
- if (!NIL_P(timer_func))
- rb_funcall(timer_func, callId, 1, INT2NUM(value));
-}
-
-static VALUE
-glut_TimerFunc(obj, arg1, arg2, arg3)
-VALUE obj,arg1,arg2,arg3;
-{
- unsigned int millis;
- int value;
- millis = (unsigned int)NUM2INT(arg1);
- value = NUM2INT(arg3);
- if (!rb_obj_is_kind_of(arg2,rb_cProc))
- rb_raise(rb_eTypeError, "glutTimerFunc:%s", rb_class2name(CLASS_OF(arg2)));
- timer_func = arg2;
- glutTimerFunc(millis, glut_TimerFuncCallback, value);
- return Qnil;
-}
-
-static VALUE menustate_func = Qnil;
-static void
-glut_MenuStateFuncCallback(state)
-int state;
-{
- if (!NIL_P(menustate_func))
- rb_funcall(menustate_func, callId, 1, INT2NUM(state));
-}
-
-static VALUE
-glut_MenuStateFunc(obj, arg1)
-VALUE obj,arg1;
-{
- if (!rb_obj_is_kind_of(arg1,rb_cProc))
- rb_raise(rb_eTypeError, "glutMenuStateFunc:%s",
- rb_class2name(CLASS_OF(arg1)));
- menustate_func = arg1;
- glutMenuStateFunc(glut_MenuStateFuncCallback);
- return Qnil;
-}
-
-#if (GLUT_API_VERSION >= 2)
-static void
-glut_SpecialFuncCallback(key, x, y)
-int key, x, y;
-{
- VALUE func;
- func = rb_ary_entry(SpecialFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 3,INT2NUM(key), INT2FIX(x), INT2FIX(y));
-}
-static void
-glut_SpaceballMotionFuncCallback(x, y, z)
-int x,y,z;
-{
- VALUE func;
- func = rb_ary_entry(SpaceballMotionFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 3,INT2NUM(x), INT2FIX(y), INT2FIX(z));
-}
-static void
-glut_SpaceballRotateFuncCallback(x, y, z)
-int x,y,z;
-{
- VALUE func;
- func = rb_ary_entry(SpaceballRotateFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 3,INT2NUM(x), INT2FIX(y), INT2FIX(z));
-}
-static void
-glut_SpaceballButtonFuncCallback(button, state)
-int button, state;
-{
- VALUE func;
- func = rb_ary_entry(SpaceballButtonFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 2,INT2NUM(button), INT2NUM(state));
-}
-static void
-glut_ButtonBoxFuncCallback(button, state)
-int button, state;
-{
- VALUE func;
- func = rb_ary_entry(ButtonBoxFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 2,INT2NUM(button), INT2NUM(state));
-}
-static void
-glut_DialsFuncCallback(dial, value)
-int dial, value;
-{
- VALUE func;
- func = rb_ary_entry(DialsFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 2,INT2NUM(dial), INT2NUM(value));
-}
-static void
-glut_TabletMotionFuncCallback(x, y)
-int x, y;
-{
- VALUE func;
- func = rb_ary_entry(TabletMotionFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 2,INT2NUM(x), INT2NUM(y));
-}
-static void
-glut_TabletButtonFuncCallback(button, state, x, y)
-int button, state, x, y;
-{
- VALUE func;
- func = rb_ary_entry(TabletButtonFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, 4, INT2NUM(button), INT2NUM(state), INT2NUM(x), INT2NUM(y));
-}
-#if (GLUT_API_VERSION >= 3)
-/*
-extern void APIENTRY glutMenuStatusFunc(void (*)(int status, int x, int y));
-*/
-static void
-glut_OverlayDisplayFuncCallback()
-{
- VALUE func;
- func = rb_ary_entry(OverlayDisplayFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 0);
-}
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-static void
-glut_WindowStatusFuncCallback(state)
-int state;
-{
- VALUE func;
- func = rb_ary_entry(OverlayDisplayFunc, glutGetWindow());
- if (!NIL_P(func))
- rb_funcall(func, callId, 1, INT2NUM(state));
-}
-#endif
-#endif
-#endif
-
-/* GLUT color index sub-API. */
-static VALUE
-glut_SetColor(obj,arg1,arg2,arg3,arg4)
-VALUE obj,arg1,arg2,arg3,arg4;
-{
- int set;
- GLfloat red;
- GLfloat green;
- GLfloat blue;
- set = NUM2INT(arg1);
- red = (GLfloat)NUM2DBL(arg2);
- green = (GLfloat)NUM2DBL(arg3);
- blue = (GLfloat)NUM2DBL(arg4);
- glutSetColor(set, red, green, blue);
- return Qnil;
-}
-static VALUE
-glut_GetColor(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int ndx;
- int component;
- GLfloat ret;
- ndx = NUM2INT(arg1);
- component = NUM2INT(arg2);
- ret = (GLfloat)glutGetColor(ndx, component);
- return rb_float_new(ret);
-}
-static VALUE
-glut_CopyColormap(obj,arg1)
-VALUE obj,arg1;
-{
- int win;
- win = NUM2INT(arg1);
- glutCopyColormap(win);
- return Qnil;
-}
-
-/* GLUT state retrieval sub-API. */
-static VALUE
-glut_Get(obj,arg1)
-VALUE obj,arg1;
-{
- GLenum type;
- int ret;
- type = (GLenum)NUM2INT(arg1);
- ret = glutGet(type);
- return INT2NUM(ret);
-}
-static VALUE
-glut_DeviceGet(obj,arg1)
-VALUE obj,arg1;
-{
- GLenum type;
- int ret;
- type = (GLenum)NUM2INT(arg1);
- ret = glutDeviceGet(type);
- return INT2NUM(ret);
-}
-#if (GLUT_API_VERSION >= 2)
-/* GLUT extension support sub-API */
-static VALUE
-glut_ExtensionSupported(obj,arg1)
-VALUE obj,arg1;
-{
- int ret;
- if (TYPE(arg1) != T_STRING) rb_raise(rb_eTypeError, "glutExtensionSupported:%s",
- rb_class2name(CLASS_OF(arg1)));
- ret = glutExtensionSupported(RSTRING(arg1)->ptr);
- return INT2NUM(ret);
-}
-#endif
-#if (GLUT_API_VERSION >= 3)
-static VALUE
-glut_GetModifiers(obj)
-VALUE obj;
-{
- int ret;
- ret = glutGetModifiers();
- return INT2NUM(ret);
-}
-static VALUE
-glut_LayerGet(obj,arg1)
-VALUE obj,arg1;
-{
- GLenum type;
- int ret;
- type = (GLenum)NUM2INT(arg1);
- ret = glutLayerGet(type);
- return INT2NUM(ret);
-}
-#endif
-
-/* GLUT font sub-API */
-static VALUE
-glut_BitmapCharacter(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int font;
- int character;
- font = NUM2INT(arg1);
- character = NUM2INT(arg2);
- glutBitmapCharacter((void*)font, character);
- return Qnil;
-}
-static VALUE
-glut_BitmapWidth(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int font;
- int character;
- int ret;
- font = NUM2INT(arg1);
- character = NUM2INT(arg2);
- ret = glutBitmapWidth((void*)font, character);
- return INT2NUM(ret);
-}
-static VALUE
-glut_StrokeCharacter(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int font;
- int character;
- font = NUM2INT(arg1);
- character = NUM2INT(arg2);
- glutStrokeCharacter((void*)font, character);
- return Qnil;
-}
-static VALUE
-glut_StrokeWidth(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int font;
- int character;
- int ret;
- font = NUM2INT(arg1);
- character = NUM2INT(arg2);
- ret = glutStrokeWidth((void*)font, character);
- return INT2NUM(ret);
-}
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-static VALUE
-glut_BitmapLength(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int font;
- int ret;
- if (TYPE(arg2) != T_STRING) rb_raise(rb_eTypeError, "glutBitmapLength:%s",
- rb_class2name(CLASS_OF(arg2)));
- font = NUM2INT(arg1);
- ret = glutBitmapLength((void *)font, (const unsigned char*)RSTRING(arg2)->ptr);
- return INT2NUM(ret);
-}
-static VALUE
-glut_StrokeLength(obj,arg1,arg2)
-VALUE obj,arg1,arg2;
-{
- int font;
- int ret;
- if (TYPE(arg2) != T_STRING) rb_raise(rb_eTypeError, "glutStrokeLength:%s",
- rb_class2name(CLASS_OF(arg2)));
- font = NUM2INT(arg1);
- ret = glutStrokeLength((void *)font, (const unsigned char*)RSTRING(arg2)->ptr);
- return INT2NUM(ret);
-}
-#endif
-
-/* GLUT pre-built models sub-API */
-static VALUE
-glut_WireSphere(obj,arg1,arg2,arg3)
-VALUE obj,arg1,arg2,arg3;
-{
- GLdouble radius;
- GLint slices;
- GLint stacks;
- radius = (GLdouble)NUM2DBL(arg1);
- slices = (GLint)NUM2INT(arg2);
- stacks = (GLint)NUM2INT(arg3);
- glutWireSphere(radius, slices, stacks);
- return Qnil;
-}
-static VALUE
-glut_SolidSphere(obj,arg1,arg2,arg3)
-VALUE obj,arg1,arg2,arg3;
-{
- GLdouble radius;
- GLint slices;
- GLint stacks;
- radius = (GLdouble)NUM2DBL(arg1);
- slices = (GLint)NUM2INT(arg2);
- stacks = (GLint)NUM2INT(arg3);
- glutSolidSphere(radius, slices, stacks);
- return Qnil;
-}
-static VALUE
-glut_WireCone(obj,arg1,arg2,arg3,arg4)
-VALUE obj,arg1,arg2,arg3,arg4;
-{
- GLdouble base;
- GLdouble height;
- GLint slices;
- GLint stacks;
- base = (GLdouble)NUM2DBL(arg1);
- height = (GLdouble)NUM2DBL(arg2);
- slices = (GLint)NUM2INT(arg3);
- stacks = (GLint)NUM2INT(arg4);
- glutWireCone(base, height, slices, stacks);
- return Qnil;
-}
-static VALUE
-glut_SolidCone(obj,arg1,arg2,arg3,arg4)
-VALUE obj,arg1,arg2,arg3,arg4;
-{
- GLdouble base;
- GLdouble height;
- GLint slices;
- GLint stacks;
- base = (GLdouble)NUM2DBL(arg1);
- height = (GLdouble)NUM2DBL(arg2);
- slices = (GLint)NUM2INT(arg3);
- stacks = (GLint)NUM2INT(arg4);
- glutSolidCone(base, height, slices, stacks);
- return Qnil;
-}
-static VALUE
-glut_WireCube(obj,arg1)
-VALUE obj,arg1;
-{
- GLdouble size;
- size = (GLdouble)NUM2DBL(arg1);
- glutWireCube(size);
- return Qnil;
-}
-static VALUE
-glut_SolidCube(obj,arg1)
-VALUE obj,arg1;
-{
- GLdouble size;
- size = (GLdouble)NUM2DBL(arg1);
- glutSolidCube(size);
- return Qnil;
-}
-static VALUE
-glut_WireTorus(obj,arg1,arg2,arg3,arg4)
-VALUE obj,arg1,arg2,arg3,arg4;
-{
- GLdouble innerRadius;
- GLdouble outerRadius;
- GLint sides;
- GLint rings;
- innerRadius = (GLdouble)NUM2DBL(arg1);
- outerRadius = (GLdouble)NUM2DBL(arg2);
- sides = (GLint)NUM2INT(arg3);
- rings = (GLint)NUM2INT(arg4);
- glutWireTorus(innerRadius, outerRadius, sides, rings);
- return Qnil;
-}
-static VALUE
-glut_SolidTorus(obj,arg1,arg2,arg3,arg4)
-VALUE obj,arg1,arg2,arg3,arg4;
-{
- GLdouble innerRadius;
- GLdouble outerRadius;
- GLint sides;
- GLint rings;
- innerRadius = (GLdouble)NUM2DBL(arg1);
- outerRadius = (GLdouble)NUM2DBL(arg2);
- sides = (GLint)NUM2INT(arg3);
- rings = (GLint)NUM2INT(arg4);
- glutSolidTorus(innerRadius, outerRadius, sides, rings);
- return Qnil;
-}
-static VALUE
-glut_WireDodecahedron(obj)
-VALUE obj;
-{
- glutWireDodecahedron();
- return Qnil;
-}
-static VALUE
-glut_SolidDodecahedron(obj)
-VALUE obj;
-{
- glutSolidDodecahedron();
- return Qnil;
-}
-static VALUE
-glut_WireTeapot(obj,arg1)
-VALUE obj,arg1;
-{
- GLdouble size;
- size = (GLdouble)NUM2DBL(arg1);
- glutWireTeapot(size);
- return Qnil;
-}
-static VALUE
-glut_SolidTeapot(obj,arg1)
-VALUE obj,arg1;
-{
- GLdouble size;
- size = (GLdouble)NUM2DBL(arg1);
- glutSolidTeapot(size);
- return Qnil;
-}
-static VALUE
-glut_WireOctahedron(obj)
-VALUE obj;
-{
- glutWireOctahedron();
- return Qnil;
-}
-static VALUE
-glut_SolidOctahedron(obj)
-VALUE obj;
-{
- glutSolidOctahedron();
- return Qnil;
-}
-static VALUE
-glut_WireTetrahedron(obj)
-VALUE obj;
-{
- glutWireTetrahedron();
- return Qnil;
-}
-static VALUE
-glut_SolidTetrahedron(obj)
-VALUE obj;
-{
- glutSolidTetrahedron();
- return Qnil;
-}
-static VALUE
-glut_WireIcosahedron(obj)
-VALUE obj;
-{
- glutWireIcosahedron();
- return Qnil;
-}
-static VALUE
-glut_SolidIcosahedron(obj)
-VALUE obj;
-{
- glutSolidIcosahedron();
- return Qnil;
-}
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-/* GLUT video resize sub-API. */
-static VALUE
-glut_VideoResizeGet(obj,arg1)
-VALUE obj,arg1;
-{
- GLenum param;
- int ret;
- param = (GLenum)NUM2INT(arg1);
- ret = glutVideoResizeGet(param);
- return INT2NUM(ret);
-}
-static VALUE
-glut_SetupVideoResizing(obj)
-VALUE obj;
-{
- glutSetupVideoResizing();
- return Qnil;
-}
-static VALUE
-glut_StopVideoResizing(obj)
-VALUE obj;
-{
- glutStopVideoResizing();
- return Qnil;
-}
-static VALUE
-glut_VideoResize(obj,arg1,arg2,arg3,arg4)
-VALUE obj,arg1,arg2,arg3,arg4;
-{
- int x;
- int y;
- int width;
- int height;
- x = NUM2INT(arg1);
- y = NUM2INT(arg2);
- width = NUM2INT(arg3);
- height = NUM2INT(arg4);
- glutVideoResize(x,y, width, height);
- return Qnil;
-}
-static VALUE
-glut_VideoPan(obj,arg1,arg2,arg3,arg4)
-VALUE obj,arg1,arg2,arg3,arg4;
-{
- int x;
- int y;
- int width;
- int height;
- x = NUM2INT(arg1);
- y = NUM2INT(arg2);
- width = NUM2INT(arg3);
- height = NUM2INT(arg4);
- glutVideoPan(x,y, width, height);
- return Qnil;
-}
-
-/* GLUT debugging sub-API. */
-static VALUE
-glut_ReportErrors(obj)
-VALUE obj;
-{
- glutReportErrors();
- return Qnil;
-}
-#endif
-
-static VALUE mGLUT;
-
-void
-Init_glut()
-{
- mGLUT = rb_define_module("GLUT");
-
- rb_global_variable(&g_arg_array);
- rb_global_variable(&g_menucallback);
- rb_global_variable(&g_menuargs);
- g_menucallback = rb_hash_new();
- g_menuargs = rb_hash_new();
-
- rb_define_module_function(mGLUT, "Init", glut_Init, -1);
- rb_define_module_function(mGLUT, "InitDisplayMode", glut_InitDisplayMode, 1);
- rb_define_module_function(mGLUT, "InitDisplayString", glut_InitDisplayString, 1);
- rb_define_module_function(mGLUT, "InitWindowPosition", glut_InitWindowPosition, 2);
- rb_define_module_function(mGLUT, "InitWindowSize", glut_InitWindowSize, 2);
- rb_define_module_function(mGLUT, "MainLoop", glut_MainLoop, 0);
- rb_define_module_function(mGLUT, "CreateWindow", glut_CreateWindow, -1);
- rb_define_module_function(mGLUT, "CreateSubWindow", glut_CreateSubWindow, 5);
- rb_define_module_function(mGLUT, "DestroyWindow", glut_DestroyWindow, 1);
- rb_define_module_function(mGLUT, "PostRedisplay", glut_PostRedisplay, 0);
- rb_define_module_function(mGLUT, "SwapBuffers", glut_SwapBuffers, 0);
- rb_define_module_function(mGLUT, "GetWindow", glut_GetWindow, 0);
- rb_define_module_function(mGLUT, "SetWindow", glut_SetWindow, 1);
- rb_define_module_function(mGLUT, "SetWindowTitle", glut_SetWindowTitle, 1);
- rb_define_module_function(mGLUT, "SetIconTitle", glut_SetIconTitle, 1);
- rb_define_module_function(mGLUT, "PositionWindow", glut_PositionWindow, 2);
- rb_define_module_function(mGLUT, "ReshapeWindow", glut_ReshapeWindow, 2);
- rb_define_module_function(mGLUT, "PopWindow", glut_PopWindow, 0);
- rb_define_module_function(mGLUT, "PushWidow", glut_PushWidow, 0);
- rb_define_module_function(mGLUT, "IconifyWindow", glut_IconifyWindow, 0);
- rb_define_module_function(mGLUT, "ShowWindow", glut_ShowWindow, 0);
- rb_define_module_function(mGLUT, "HideWindow", glut_HideWindow, 0);
- rb_define_module_function(mGLUT, "FullScreen", glut_FullScreen, 0);
- rb_define_module_function(mGLUT, "SetCursor", glut_SetCursor, 1);
- /* Misspelled function alias retained for backwards-compatibility. */
- rb_define_module_function(mGLUT, "SetCurcor", glut_SetCursor, 1);
- rb_define_module_function(mGLUT, "WarpPointer", glut_WarpPointer, 2);
- rb_define_module_function(mGLUT, "EstablishOverlay", glut_EstablishOverlay, 0);
- rb_define_module_function(mGLUT, "RemoveOverlay", glut_RemoveOverlay, 0);
- rb_define_module_function(mGLUT, "UseLayer", glut_UseLayer, 1);
- rb_define_module_function(mGLUT, "PostOverlayRedisplay", glut_PostOverlayRedisplay, 0);
- rb_define_module_function(mGLUT, "ShowOverlay", glut_ShowOverlay, 0);
- rb_define_module_function(mGLUT, "HideOverlay", glut_HideOverlay, 0);
- rb_define_module_function(mGLUT, "CreateMenu", glut_CreateMenu, 1);
- rb_define_module_function(mGLUT, "DestroyMenu", glut_DestroyMenu, 1);
- rb_define_module_function(mGLUT, "GetMenu", glut_GetMenu, 0);
- rb_define_module_function(mGLUT, "SetMenu", glut_SetMenu, 1);
- rb_define_module_function(mGLUT, "AddMenuEntry", glut_AddMenuEntry, 2);
- rb_define_module_function(mGLUT, "AddSubMenu", glut_AddSubMenu, 2);
- rb_define_module_function(mGLUT, "ChangeToMenuEntry", glut_ChangeToMenuEntry, 3);
- rb_define_module_function(mGLUT, "ChangeToSubMenu", glut_ChangeToSubMenu, 3);
- rb_define_module_function(mGLUT, "RemoveMenuItem", glut_RemoveMenuItem, 1);
- rb_define_module_function(mGLUT, "AttachMenu", glut_AttachMenu, 1);
- rb_define_module_function(mGLUT, "DetachMenu", glut_DetachMenu, 1);
-
- rb_define_module_function(mGLUT, "SetColor", glut_SetColor, 4);
- rb_define_module_function(mGLUT, "GetColor", glut_GetColor, 2);
- rb_define_module_function(mGLUT, "CopyColormap", glut_CopyColormap, 1);
- rb_define_module_function(mGLUT, "Get", glut_Get, 1);
- rb_define_module_function(mGLUT, "DeviceGet", glut_DeviceGet, 1);
- rb_define_module_function(mGLUT, "ExtensionSupported", glut_ExtensionSupported, 1);
- rb_define_module_function(mGLUT, "GetModifiers", glut_GetModifiers, 0);
- rb_define_module_function(mGLUT, "LayerGet", glut_LayerGet, 1);
- rb_define_module_function(mGLUT, "BitmapCharacter", glut_BitmapCharacter, 2);
- rb_define_module_function(mGLUT, "BitmapWidth", glut_BitmapWidth, 2);
- rb_define_module_function(mGLUT, "StrokeCharacter", glut_StrokeCharacter, 2);
- rb_define_module_function(mGLUT, "StrokeWidth", glut_StrokeWidth, 2);
- rb_define_module_function(mGLUT, "BitmapLength", glut_BitmapLength, 2);
- rb_define_module_function(mGLUT, "StrokeLength", glut_StrokeLength, 2);
- rb_define_module_function(mGLUT, "WireSphere", glut_WireSphere, 3);
- rb_define_module_function(mGLUT, "SolidSphere", glut_SolidSphere, 3);
- rb_define_module_function(mGLUT, "WireCone", glut_WireCone, 4);
- rb_define_module_function(mGLUT, "SolidCone", glut_SolidCone, 4);
- rb_define_module_function(mGLUT, "WireCube", glut_WireCube, 1);
- rb_define_module_function(mGLUT, "SolidCube", glut_SolidCube, 1);
- rb_define_module_function(mGLUT, "WireTorus", glut_WireTorus, 4);
- rb_define_module_function(mGLUT, "SolidTorus", glut_SolidTorus, 4);
- rb_define_module_function(mGLUT, "WireDodecahedron", glut_WireDodecahedron, 0);
- rb_define_module_function(mGLUT, "SolidDodecahedron", glut_SolidDodecahedron, 0);
- rb_define_module_function(mGLUT, "WireTeapot", glut_WireTeapot, 1);
- rb_define_module_function(mGLUT, "SolidTeapot", glut_SolidTeapot, 1);
- rb_define_module_function(mGLUT, "WireOctahedron", glut_WireOctahedron, 0);
- rb_define_module_function(mGLUT, "SolidOctahedron", glut_SolidOctahedron, 0);
- rb_define_module_function(mGLUT, "WireTetrahedron", glut_WireTetrahedron, 0);
- rb_define_module_function(mGLUT, "SolidTetrahedron", glut_SolidTetrahedron, 0);
- rb_define_module_function(mGLUT, "WireIcosahedron", glut_WireIcosahedron, 0);
- rb_define_module_function(mGLUT, "SolidIcosahedron", glut_SolidIcosahedron, 0);
- rb_define_module_function(mGLUT, "VideoResizeGet", glut_VideoResizeGet, 1);
- rb_define_module_function(mGLUT, "SetupVideoResizing", glut_SetupVideoResizing, 0);
- rb_define_module_function(mGLUT, "StopVideoResizing", glut_StopVideoResizing, 0);
- rb_define_module_function(mGLUT, "VideoResize", glut_VideoResize, 4);
- rb_define_module_function(mGLUT, "VideoPan", glut_VideoPan, 4);
- rb_define_module_function(mGLUT, "ReportErrors", glut_ReportErrors, 0);
- rb_define_module_function(mGLUT, "IdleFunc", glut_IdleFunc, 1);
- rb_define_module_function(mGLUT, "TimerFunc", glut_TimerFunc, 3);
-
- rb_define_const(mGLUT, "API_VERSION", INT2NUM(GLUT_API_VERSION));
- rb_define_const(mGLUT, "XLIB_IMPLEMENTATION", INT2NUM(GLUT_XLIB_IMPLEMENTATION));
- rb_define_const(mGLUT, "RGB", INT2NUM(GLUT_RGB));
- rb_define_const(mGLUT, "RGBA", INT2NUM(GLUT_RGBA));
- rb_define_const(mGLUT, "INDEX", INT2NUM(GLUT_INDEX));
- rb_define_const(mGLUT, "SINGLE", INT2NUM(GLUT_SINGLE));
- rb_define_const(mGLUT, "DOUBLE", INT2NUM(GLUT_DOUBLE));
- rb_define_const(mGLUT, "ACCUM", INT2NUM(GLUT_ACCUM));
- rb_define_const(mGLUT, "ALPHA", INT2NUM(GLUT_ALPHA));
- rb_define_const(mGLUT, "DEPTH", INT2NUM(GLUT_DEPTH));
- rb_define_const(mGLUT, "STENCIL", INT2NUM(GLUT_STENCIL));
- rb_define_const(mGLUT, "MULTISAMPLE", INT2NUM(GLUT_MULTISAMPLE));
- rb_define_const(mGLUT, "STEREO", INT2NUM(GLUT_STEREO));
- rb_define_const(mGLUT, "LUMINANCE", INT2NUM(GLUT_LUMINANCE));
- rb_define_const(mGLUT, "LEFT_BUTTON", INT2NUM(GLUT_LEFT_BUTTON));
- rb_define_const(mGLUT, "MIDDLE_BUTTON", INT2NUM(GLUT_MIDDLE_BUTTON));
- rb_define_const(mGLUT, "RIGHT_BUTTON", INT2NUM(GLUT_RIGHT_BUTTON));
- rb_define_const(mGLUT, "DOWN", INT2NUM(GLUT_DOWN));
- rb_define_const(mGLUT, "UP", INT2NUM(GLUT_UP));
- rb_define_const(mGLUT, "KEY_F1", INT2NUM(GLUT_KEY_F1));
- rb_define_const(mGLUT, "KEY_F2", INT2NUM(GLUT_KEY_F2));
- rb_define_const(mGLUT, "KEY_F3", INT2NUM(GLUT_KEY_F3));
- rb_define_const(mGLUT, "KEY_F4", INT2NUM(GLUT_KEY_F4));
- rb_define_const(mGLUT, "KEY_F5", INT2NUM(GLUT_KEY_F5));
- rb_define_const(mGLUT, "KEY_F6", INT2NUM(GLUT_KEY_F6));
- rb_define_const(mGLUT, "KEY_F7", INT2NUM(GLUT_KEY_F7));
- rb_define_const(mGLUT, "KEY_F8", INT2NUM(GLUT_KEY_F8));
- rb_define_const(mGLUT, "KEY_F9", INT2NUM(GLUT_KEY_F9));
- rb_define_const(mGLUT, "KEY_F10", INT2NUM(GLUT_KEY_F10));
- rb_define_const(mGLUT, "KEY_F11", INT2NUM(GLUT_KEY_F11));
- rb_define_const(mGLUT, "KEY_F12", INT2NUM(GLUT_KEY_F12));
- rb_define_const(mGLUT, "KEY_LEFT", INT2NUM(GLUT_KEY_LEFT));
- rb_define_const(mGLUT, "KEY_UP", INT2NUM(GLUT_KEY_UP));
- rb_define_const(mGLUT, "KEY_RIGHT", INT2NUM(GLUT_KEY_RIGHT));
- rb_define_const(mGLUT, "KEY_DOWN", INT2NUM(GLUT_KEY_DOWN));
- rb_define_const(mGLUT, "KEY_PAGE_UP", INT2NUM(GLUT_KEY_PAGE_UP));
- rb_define_const(mGLUT, "KEY_PAGE_DOWN", INT2NUM(GLUT_KEY_PAGE_DOWN));
- rb_define_const(mGLUT, "KEY_HOME", INT2NUM(GLUT_KEY_HOME));
- rb_define_const(mGLUT, "KEY_END", INT2NUM(GLUT_KEY_END));
- rb_define_const(mGLUT, "KEY_INSERT", INT2NUM(GLUT_KEY_INSERT));
- rb_define_const(mGLUT, "LEFT", INT2NUM(GLUT_LEFT));
- rb_define_const(mGLUT, "ENTERED", INT2NUM(GLUT_ENTERED));
- rb_define_const(mGLUT, "MENU_NOT_IN_USE", INT2NUM(GLUT_MENU_NOT_IN_USE));
- rb_define_const(mGLUT, "MENU_IN_USE", INT2NUM(GLUT_MENU_IN_USE));
- rb_define_const(mGLUT, "NOT_VISIBLE", INT2NUM(GLUT_NOT_VISIBLE));
- rb_define_const(mGLUT, "VISIBLE", INT2NUM(GLUT_VISIBLE));
- rb_define_const(mGLUT, "HIDDEN", INT2NUM(GLUT_HIDDEN));
- rb_define_const(mGLUT, "FULLY_RETAINED", INT2NUM(GLUT_FULLY_RETAINED));
- rb_define_const(mGLUT, "PARTIALLY_RETAINED", INT2NUM(GLUT_PARTIALLY_RETAINED));
- rb_define_const(mGLUT, "FULLY_COVERED", INT2NUM(GLUT_FULLY_COVERED));
- rb_define_const(mGLUT, "RED", INT2NUM(GLUT_RED));
- rb_define_const(mGLUT, "GREEN", INT2NUM(GLUT_GREEN));
- rb_define_const(mGLUT, "BLUE", INT2NUM(GLUT_BLUE));
- rb_define_const(mGLUT, "WINDOW_X", INT2NUM(GLUT_WINDOW_X));
- rb_define_const(mGLUT, "WINDOW_Y", INT2NUM(GLUT_WINDOW_Y));
- rb_define_const(mGLUT, "WINDOW_WIDTH", INT2NUM(GLUT_WINDOW_WIDTH));
- rb_define_const(mGLUT, "WINDOW_HEIGHT", INT2NUM(GLUT_WINDOW_HEIGHT));
- rb_define_const(mGLUT, "WINDOW_BUFFER_SIZE", INT2NUM(GLUT_WINDOW_BUFFER_SIZE));
- rb_define_const(mGLUT, "WINDOW_STENCIL_SIZE", INT2NUM(GLUT_WINDOW_STENCIL_SIZE));
- rb_define_const(mGLUT, "WINDOW_DEPTH_SIZE", INT2NUM(GLUT_WINDOW_DEPTH_SIZE));
- rb_define_const(mGLUT, "WINDOW_RED_SIZE", INT2NUM(GLUT_WINDOW_RED_SIZE));
- rb_define_const(mGLUT, "WINDOW_GREEN_SIZE", INT2NUM(GLUT_WINDOW_GREEN_SIZE));
- rb_define_const(mGLUT, "WINDOW_BLUE_SIZE", INT2NUM(GLUT_WINDOW_BLUE_SIZE));
- rb_define_const(mGLUT, "WINDOW_ALPHA_SIZE", INT2NUM(GLUT_WINDOW_ALPHA_SIZE));
- rb_define_const(mGLUT, "WINDOW_ACCUM_RED_SIZE", INT2NUM(GLUT_WINDOW_ACCUM_RED_SIZE));
- rb_define_const(mGLUT, "WINDOW_ACCUM_GREEN_SIZE", INT2NUM(GLUT_WINDOW_ACCUM_GREEN_SIZE));
- rb_define_const(mGLUT, "WINDOW_ACCUM_BLUE_SIZE", INT2NUM(GLUT_WINDOW_ACCUM_BLUE_SIZE));
- rb_define_const(mGLUT, "WINDOW_ACCUM_ALPHA_SIZE", INT2NUM(GLUT_WINDOW_ACCUM_ALPHA_SIZE));
- rb_define_const(mGLUT, "WINDOW_DOUBLEBUFFER", INT2NUM(GLUT_WINDOW_DOUBLEBUFFER));
- rb_define_const(mGLUT, "WINDOW_RGBA", INT2NUM(GLUT_WINDOW_RGBA));
- rb_define_const(mGLUT, "WINDOW_PARENT", INT2NUM(GLUT_WINDOW_PARENT));
- rb_define_const(mGLUT, "WINDOW_NUM_CHILDREN", INT2NUM(GLUT_WINDOW_NUM_CHILDREN));
- rb_define_const(mGLUT, "WINDOW_COLORMAP_SIZE", INT2NUM(GLUT_WINDOW_COLORMAP_SIZE));
- rb_define_const(mGLUT, "WINDOW_NUM_SAMPLES", INT2NUM(GLUT_WINDOW_NUM_SAMPLES));
- rb_define_const(mGLUT, "WINDOW_STEREO", INT2NUM(GLUT_WINDOW_STEREO));
- rb_define_const(mGLUT, "WINDOW_CURSOR", INT2NUM(GLUT_WINDOW_CURSOR));
- rb_define_const(mGLUT, "SCREEN_WIDTH", INT2NUM(GLUT_SCREEN_WIDTH));
- rb_define_const(mGLUT, "SCREEN_HEIGHT", INT2NUM(GLUT_SCREEN_HEIGHT));
- rb_define_const(mGLUT, "SCREEN_WIDTH_MM", INT2NUM(GLUT_SCREEN_WIDTH_MM));
- rb_define_const(mGLUT, "SCREEN_HEIGHT_MM", INT2NUM(GLUT_SCREEN_HEIGHT_MM));
- rb_define_const(mGLUT, "MENU_NUM_ITEMS", INT2NUM(GLUT_MENU_NUM_ITEMS));
- rb_define_const(mGLUT, "DISPLAY_MODE_POSSIBLE", INT2NUM(GLUT_DISPLAY_MODE_POSSIBLE));
- rb_define_const(mGLUT, "INIT_WINDOW_X", INT2NUM(GLUT_INIT_WINDOW_X));
- rb_define_const(mGLUT, "INIT_WINDOW_Y", INT2NUM(GLUT_INIT_WINDOW_Y));
- rb_define_const(mGLUT, "INIT_WINDOW_WIDTH", INT2NUM(GLUT_INIT_WINDOW_WIDTH));
- rb_define_const(mGLUT, "INIT_WINDOW_HEIGHT", INT2NUM(GLUT_INIT_WINDOW_HEIGHT));
- rb_define_const(mGLUT, "INIT_DISPLAY_MODE", INT2NUM(GLUT_INIT_DISPLAY_MODE));
- rb_define_const(mGLUT, "ELAPSED_TIME", INT2NUM(GLUT_ELAPSED_TIME));
- rb_define_const(mGLUT, "HAS_KEYBOARD", INT2NUM(GLUT_HAS_KEYBOARD));
- rb_define_const(mGLUT, "HAS_MOUSE", INT2NUM(GLUT_HAS_MOUSE));
- rb_define_const(mGLUT, "HAS_SPACEBALL", INT2NUM(GLUT_HAS_SPACEBALL));
- rb_define_const(mGLUT, "HAS_DIAL_AND_BUTTON_BOX", INT2NUM(GLUT_HAS_DIAL_AND_BUTTON_BOX));
- rb_define_const(mGLUT, "HAS_TABLET", INT2NUM(GLUT_HAS_TABLET));
- rb_define_const(mGLUT, "NUM_MOUSE_BUTTONS", INT2NUM(GLUT_NUM_MOUSE_BUTTONS));
- rb_define_const(mGLUT, "NUM_SPACEBALL_BUTTONS", INT2NUM(GLUT_NUM_SPACEBALL_BUTTONS));
- rb_define_const(mGLUT, "NUM_BUTTON_BOX_BUTTONS", INT2NUM(GLUT_NUM_BUTTON_BOX_BUTTONS));
- rb_define_const(mGLUT, "NUM_DIALS", INT2NUM(GLUT_NUM_DIALS));
- rb_define_const(mGLUT, "NUM_TABLET_BUTTONS", INT2NUM(GLUT_NUM_TABLET_BUTTONS));
- rb_define_const(mGLUT, "OVERLAY_POSSIBLE", INT2NUM(GLUT_OVERLAY_POSSIBLE));
- rb_define_const(mGLUT, "LAYER_IN_USE", INT2NUM(GLUT_LAYER_IN_USE));
- rb_define_const(mGLUT, "HAS_OVERLAY", INT2NUM(GLUT_HAS_OVERLAY));
- rb_define_const(mGLUT, "TRANSPARENT_INDEX", INT2NUM(GLUT_TRANSPARENT_INDEX));
- rb_define_const(mGLUT, "NORMAL_DAMAGED", INT2NUM(GLUT_NORMAL_DAMAGED));
- rb_define_const(mGLUT, "OVERLAY_DAMAGED", INT2NUM(GLUT_OVERLAY_DAMAGED));
- rb_define_const(mGLUT, "VIDEO_RESIZE_POSSIBLE", INT2NUM(GLUT_VIDEO_RESIZE_POSSIBLE));
- rb_define_const(mGLUT, "VIDEO_RESIZE_IN_USE", INT2NUM(GLUT_VIDEO_RESIZE_IN_USE));
- rb_define_const(mGLUT, "VIDEO_RESIZE_X_DELTA", INT2NUM(GLUT_VIDEO_RESIZE_X_DELTA));
- rb_define_const(mGLUT, "VIDEO_RESIZE_Y_DELTA", INT2NUM(GLUT_VIDEO_RESIZE_Y_DELTA));
- rb_define_const(mGLUT, "VIDEO_RESIZE_WIDTH_DELTA", INT2NUM(GLUT_VIDEO_RESIZE_WIDTH_DELTA));
- rb_define_const(mGLUT, "VIDEO_RESIZE_HEIGHT_DELTA", INT2NUM(GLUT_VIDEO_RESIZE_HEIGHT_DELTA));
- rb_define_const(mGLUT, "VIDEO_RESIZE_X", INT2NUM(GLUT_VIDEO_RESIZE_X));
- rb_define_const(mGLUT, "VIDEO_RESIZE_Y", INT2NUM(GLUT_VIDEO_RESIZE_Y));
- rb_define_const(mGLUT, "VIDEO_RESIZE_WIDTH", INT2NUM(GLUT_VIDEO_RESIZE_WIDTH));
- rb_define_const(mGLUT, "VIDEO_RESIZE_HEIGHT", INT2NUM(GLUT_VIDEO_RESIZE_HEIGHT));
- rb_define_const(mGLUT, "NORMAL", INT2NUM(GLUT_NORMAL));
- rb_define_const(mGLUT, "OVERLAY", INT2NUM(GLUT_OVERLAY));
- rb_define_const(mGLUT, "ACTIVE_SHIFT", INT2NUM(GLUT_ACTIVE_SHIFT));
- rb_define_const(mGLUT, "ACTIVE_CTRL", INT2NUM(GLUT_ACTIVE_CTRL));
- rb_define_const(mGLUT, "ACTIVE_ALT", INT2NUM(GLUT_ACTIVE_ALT));
- rb_define_const(mGLUT, "CURSOR_RIGHT_ARROW", INT2NUM(GLUT_CURSOR_RIGHT_ARROW));
- rb_define_const(mGLUT, "CURSOR_LEFT_ARROW", INT2NUM(GLUT_CURSOR_LEFT_ARROW));
- rb_define_const(mGLUT, "CURSOR_INFO", INT2NUM(GLUT_CURSOR_INFO));
- rb_define_const(mGLUT, "CURSOR_DESTROY", INT2NUM(GLUT_CURSOR_DESTROY));
- rb_define_const(mGLUT, "CURSOR_HELP", INT2NUM(GLUT_CURSOR_HELP));
- rb_define_const(mGLUT, "CURSOR_CYCLE", INT2NUM(GLUT_CURSOR_CYCLE));
- rb_define_const(mGLUT, "CURSOR_SPRAY", INT2NUM(GLUT_CURSOR_SPRAY));
- rb_define_const(mGLUT, "CURSOR_WAIT", INT2NUM(GLUT_CURSOR_WAIT));
- rb_define_const(mGLUT, "CURSOR_TEXT", INT2NUM(GLUT_CURSOR_TEXT));
- rb_define_const(mGLUT, "CURSOR_CROSSHAIR", INT2NUM(GLUT_CURSOR_CROSSHAIR));
- rb_define_const(mGLUT, "CURSOR_UP_DOWN", INT2NUM(GLUT_CURSOR_UP_DOWN));
- rb_define_const(mGLUT, "CURSOR_LEFT_RIGHT", INT2NUM(GLUT_CURSOR_LEFT_RIGHT));
- rb_define_const(mGLUT, "CURSOR_TOP_SIDE", INT2NUM(GLUT_CURSOR_TOP_SIDE));
- rb_define_const(mGLUT, "CURSOR_BOTTOM_SIDE", INT2NUM(GLUT_CURSOR_BOTTOM_SIDE));
- rb_define_const(mGLUT, "CURSOR_LEFT_SIDE", INT2NUM(GLUT_CURSOR_LEFT_SIDE));
- rb_define_const(mGLUT, "CURSOR_RIGHT_SIDE", INT2NUM(GLUT_CURSOR_RIGHT_SIDE));
- rb_define_const(mGLUT, "CURSOR_TOP_LEFT_CORNER", INT2NUM(GLUT_CURSOR_TOP_LEFT_CORNER));
- rb_define_const(mGLUT, "CURSOR_TOP_RIGHT_CORNER", INT2NUM(GLUT_CURSOR_TOP_RIGHT_CORNER));
- rb_define_const(mGLUT, "CURSOR_BOTTOM_RIGHT_CORNER", INT2NUM(GLUT_CURSOR_BOTTOM_RIGHT_CORNER));
- rb_define_const(mGLUT, "CURSOR_BOTTOM_LEFT_CORNER", INT2NUM(GLUT_CURSOR_BOTTOM_LEFT_CORNER));
- rb_define_const(mGLUT, "CURSOR_INHERIT", INT2NUM(GLUT_CURSOR_INHERIT));
- rb_define_const(mGLUT, "CURSOR_NONE", INT2NUM(GLUT_CURSOR_NONE));
- rb_define_const(mGLUT, "CURSOR_FULL_CROSSHAIR", INT2NUM(GLUT_CURSOR_FULL_CROSSHAIR));
- rb_define_const(mGLUT, "BITMAP_9_BY_15", INT2NUM((VALUE)GLUT_BITMAP_9_BY_15));
- rb_define_const(mGLUT, "BITMAP_8_BY_13", INT2NUM((VALUE)GLUT_BITMAP_8_BY_13));
- rb_define_const(mGLUT, "BITMAP_TIMES_ROMAN_10", INT2NUM((VALUE)GLUT_BITMAP_TIMES_ROMAN_10));
- rb_define_const(mGLUT, "BITMAP_TIMES_ROMAN_24", INT2NUM((VALUE)GLUT_BITMAP_TIMES_ROMAN_24));
- rb_define_const(mGLUT, "BITMAP_HELVETICA_10", INT2NUM((VALUE)GLUT_BITMAP_HELVETICA_10));
- rb_define_const(mGLUT, "BITMAP_HELVETICA_12", INT2NUM((VALUE)GLUT_BITMAP_HELVETICA_12));
- rb_define_const(mGLUT, "BITMAP_HELVETICA_18", INT2NUM((VALUE)GLUT_BITMAP_HELVETICA_18));
- rb_define_const(mGLUT, "STROKE_ROMAN", INT2NUM((VALUE)GLUT_STROKE_ROMAN));
- rb_define_const(mGLUT, "STROKE_MONO_ROMAN", INT2NUM((VALUE)GLUT_STROKE_MONO_ROMAN));
-
- callId = rb_intern("call");
-
- WINDOW_CALLBACK_DEFINE(DisplayFunc);
- WINDOW_CALLBACK_DEFINE(ReshapeFunc);
- WINDOW_CALLBACK_DEFINE(KeyboardFunc);
- WINDOW_CALLBACK_DEFINE(MouseFunc);
- WINDOW_CALLBACK_DEFINE(MotionFunc);
- WINDOW_CALLBACK_DEFINE(PassiveMotionFunc);
- WINDOW_CALLBACK_DEFINE(EntryFunc);
- WINDOW_CALLBACK_DEFINE(VisibilityFunc);
-/*
- GENERAL_CALLBACK_DEFINE(IdleFunc);
- GENERAL_CALLBACK_DEFINE(TimerFunc);
- MENU_CALLBACK_DEFINE(MenuStateFunc);
-*/
- WINDOW_CALLBACK_DEFINE(SpecialFunc);
- WINDOW_CALLBACK_DEFINE(SpaceballMotionFunc);
- WINDOW_CALLBACK_DEFINE(SpaceballRotateFunc);
- WINDOW_CALLBACK_DEFINE(SpaceballButtonFunc);
- WINDOW_CALLBACK_DEFINE(ButtonBoxFunc);
- WINDOW_CALLBACK_DEFINE(DialsFunc);
- WINDOW_CALLBACK_DEFINE(TabletMotionFunc);
- WINDOW_CALLBACK_DEFINE(TabletButtonFunc);
-/*
- WINDOW_GLOBAL_VAR_DEFINE(MenuStatusFunc);
-*/
- WINDOW_CALLBACK_DEFINE(OverlayDisplayFunc);
- WINDOW_CALLBACK_DEFINE(WindowStatusFunc);
-
- rb_gc_register_address(&idle_func);
- rb_gc_register_address(&timer_func);
- rb_gc_register_address(&menustate_func);
-}
-
More information about the Pkg-ruby-extras-commits
mailing list