Skip to content

Commit

Permalink
eliminate now-removed 'J' NCI parameter from OpenGL callbacks
Browse files Browse the repository at this point in the history
  • Loading branch information
plobsing committed Mar 8, 2011
1 parent 0560d8d commit 0c3dc4c
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 38 deletions.
66 changes: 33 additions & 33 deletions config/gen/opengl.pm
Expand Up @@ -797,9 +797,9 @@ sub gen_opengl_wrappers {
$autogen_header
# GLUT callbacks
v JP
v JPi
v JPii
v pP
v pPi
v pPii
# Generated signatures
HEADER
Expand All @@ -826,65 +826,65 @@ HEADER
.local pmc glutcb_funcs
glutcb_funcs = new 'ResizableStringArray'
push glutcb_funcs, 'Parrot_glut_nci_loader'
push glutcb_funcs, 'vJ'
push glutcb_funcs, 'vp'
push glutcb_funcs, 'glutcbCloseFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbDisplayFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbIdleFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbMenuDestroyFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbOverlayDisplayFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbWMCloseFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbEntryFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbMenuStateFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbVisibilityFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbWindowStatusFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbButtonBoxFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbDialsFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbMotionFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbPassiveMotionFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbReshapeFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbSpaceballButtonFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbTabletMotionFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbKeyboardFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbKeyboardUpFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbMenuStatusFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbSpaceballMotionFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbSpaceballRotateFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbSpecialFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbSpecialUpFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbMouseFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbMouseWheelFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbTabletButtonFunc'
push glutcb_funcs, 'vJP'
push glutcb_funcs, 'vpP'
push glutcb_funcs, 'glutcbTimerFunc'
push glutcb_funcs, 'vJPii'
push glutcb_funcs, 'vpPii'
push glutcb_funcs, 'glutcbJoystickFunc'
push glutcb_funcs, 'vJPi'
push glutcb_funcs, 'vpPi'
.return (glutcb_funcs)
.end
Expand Down
28 changes: 23 additions & 5 deletions runtime/parrot/library/OpenGL.pir
Expand Up @@ -199,14 +199,14 @@ Create NCI wrappers for all GL, GLU, and GLUT functions
glut_funcs = _glut_func_list()
glutcb_funcs = _glutcb_func_list()

_wrap_nci_list(namespace, libgl, gl_funcs)
_wrap_nci_list(namespace, libglu, glu_funcs)
_wrap_nci_list(namespace, libglut, glut_funcs)
_wrap_nci_list(namespace, libglutcb, glutcb_funcs)
_wrap_nci_list(namespace, libgl, gl_funcs, 0)
_wrap_nci_list(namespace, libglu, glu_funcs, 0)
_wrap_nci_list(namespace, libglut, glut_funcs, 0)
_wrap_nci_list(namespace, libglutcb, glutcb_funcs, 1)
.end


=item _wrap_nci_list(pmc namespace, pmc library, pmc nci_list)
=item _wrap_nci_list(pmc namespace, pmc library, pmc nci_list, int first_arg_interp)

Create NCI wrappers for every C<library> entry point in C<nci_list>,
and store the results in C<namespace> . The list should consist of
Expand All @@ -218,6 +218,7 @@ alternating function names and Parrot NCI signatures.
.param pmc namespace
.param pmc library
.param pmc nci_list
.param int first_arg_interp

.local pmc namespace_key
namespace_key = namespace.'get_name'()
Expand All @@ -232,12 +233,29 @@ alternating function names and Parrot NCI signatures.
func_name = shift list_iter
signature = shift list_iter
function = dlfunc library, func_name, signature
unless first_arg_interp goto done_interp_wrap
.const 'Sub' $P0 = '_call_with_interp'
$P0 = clone $P0
$P0(function)
function = $P0
done_interp_wrap:
set_root_global namespace_key, func_name, function
goto list_loop

done:
.end

.sub _call_with_interp :anon
.param pmc func
$P0 = getinterp
.yield ()
call:
.param pmc args :slurpy
func($P0, args :flat)
.yield ()
goto call
.end


=back

Expand Down

0 comments on commit 0c3dc4c

Please sign in to comment.