Fix Makefiles for OpenGL examples on macOS.
extras/graphics/samples/maze.m:
extras/graphics/samples/globals.m:
Update programming style.
Replace tabs with spaces.
extras/graphics/samples/gears/Mmakefile.MacOSX:
extras/graphics/samples/maze/Mmakefile.MacOSX:
Set header includes for the C compiler.
Add a "run" target that sets DYLD_LIBRARY_PATH appropriately
for running the examples in situ.
Remove old .cvsignore files, moving their contents to .gitignore files.
There are now no .cvsignore files in the repository.
I've also sorted some .gitignore files and avoided repeating a pattern in a
subdirectory's .gitignore file when it is already mentioned in the parent
.gitignore file.
This file-specific setting will override a default setting of expandtabs
in $HOME/.vimrc.
*/Makefile:
*/Mmakefile:
As above.
tests/hard_coded/.gitignore:
Don't ignore the purity subdir. This ignore must have been left over
from when purity.m was a test in hard_coded, not hard_coded/purity,
and it ignored an executable, not a directory.
Estimated hours taken: 0.1
Branches: main
Update the OpenGL samples to conform with recent standard library
changes.
extras/graphics/samples/gears/gears.m:
extras/graphics/samples/maze/maze.m:
extras/graphics/samples/maze/globals.m:
Conform to recent library changes.
extras/graphics/mercury_glut/Mmakefile:
extras/graphics/mercury_opengl/Mmakefile:
extras/graphics/samples/gears/Mmakefile:
extras/graphics/samples/maze/Mmakefile:
Update the list of X libraries required by Mesa.
Estimated hours taken: 0.5
Branches: main
Provide an example of a how mutables can be used with the OpenGL/GLUT
bindings.
extras/graphics/samples/gears/gears.m:
Use the mutables in place of the globals module we previously used.
Don't pass the limit argument down to gears.init/2. We can set its
value directly after option processing now.
extras/graphics/samples/gears/globals.m:
Delete this module.
Estimated hours taken: 0.1
Branches: main
Provide an example of how to use an initialise declaration in a library
binding.
extras/graphics/mercury_glut/glut.m:
Use an initialise declaration to automatically initialise the GLUT
binding.
extras/graphics/samples/gears/gears.m:
extras/graphics/samples/maze/maze.m:
Conform to the above change.
Estimated hours taken: 3
Branches: main, release
Make the OpenGL/GLUT bindings compatible with OS X.
extras/graphics/mercury_opengl/mogl.m:
extras/graphics/mercury_opengl/mglu.m:
extras/graphics/mercury_glut/glut*.m:
Make sure the appropriate header files are included on OS X
systems.
Remove some unecessary imports and change the imports so that
they are one-per-line.
Workaround a problem with Apple's OpenGL implementation.
extras/graphics/mercury_glut/README:
extras/graphics/mercury_opengl/README:
Refer users to Mmakefile.MacOSX for instructions on how to build
the binding on OS X.
extras/graphics/mercury_opengl/Mmakefile.MacOSX:
extras/graphics/mercury_glut/Mmakefile.MacOSX:
New file. OS X specific Mmakefile for the GLUT binding.
extras/graphics/samples/gears/*.m:
Remove unecessary module imports. Import modules
one-per-line.
extras/graphics/*/.cvsignore:
Add .cvsignore files.
Estimates hours taken: 1.5
Branches main.
extras/graphics/mercury_opengl/mogl.m:
Provide a binding for glGetString().
Fix the foreign proc attributes on mogl.is_list/4. It doesn't make
calls back to Mercury.
Fix some typos.
extras/graphics/samples/gears/gears.m:
Use mogl.get_string/4 to print out various details of the GL
implementation at the beginning of this demo.
Estimated hours taken: 1.5
Branches: main
Add a sample program that demonstrates the use of the
GLUT binding.
extras/graphics/samples/gears/Mmakefile:
extras/graphics/samples/gears/gears.m:
extras/graphics/samples/gears/globals.m:
Add a sample program for the GLUT binding.