├── BLAS_LAPACK_bindings.txt ├── SuperLU_bindings.txt ├── TAUCS_bindings.txt ├── X11 ├── CHANGES ├── COPYING ├── README ├── TODO ├── X.d ├── Xlib.d ├── example.d └── xcb │ ├── README │ ├── example.d │ ├── xcb.d │ ├── xcbbuild.sh │ └── xslt │ ├── bigreq.xml │ ├── composite.xml │ ├── d-client.xsl │ ├── damage.xml │ ├── dpms.xml │ ├── glx.xml │ ├── randr.xml │ ├── record.xml │ ├── render.xml │ ├── res.xml │ ├── screensaver.xml │ ├── shape.xml │ ├── shm.xml │ ├── sync.xml │ ├── xc_misc.xml │ ├── xcb.xsd │ ├── xevie.xml │ ├── xf86dri.xml │ ├── xfixes.xml │ ├── xinerama.xml │ ├── xprint.xml │ ├── xproto.xml │ ├── xtest.xml │ ├── xv.xml │ └── xvmc.xml ├── al ├── al.d ├── alc.d ├── alctypes.d ├── altypes.d └── alut.d ├── cairo ├── README.html ├── README.rst ├── build_docs_cairooo.brf ├── cairo-build.d ├── cairo │ ├── cairo.d │ ├── cairofuncs.d │ ├── cairotypes.d │ ├── glitz │ │ ├── cairo_glitz.d │ │ ├── cairofuncs_glitz.d │ │ └── cairotypes_glitz.d │ ├── loader.d │ ├── pdf │ │ ├── cairo_pdf.d │ │ ├── cairofuncs_pdf.d │ │ └── cairotypes_pdf.d │ ├── png │ │ ├── cairo_png.d │ │ ├── cairofuncs_png.d │ │ └── cairotypes_png.d │ ├── ps │ │ ├── cairo_ps.d │ │ ├── cairofuncs_ps.d │ │ └── cairotypes_ps.d │ ├── svg │ │ ├── cairo_svg.d │ │ ├── cairofuncs_svg.d │ │ └── cairotypes_svg.d │ ├── win32 │ │ ├── cairo_win32.d │ │ ├── cairofuncs_win32.d │ │ └── cairotypes_win32.d │ └── xlib │ │ ├── cairo_xlib.d │ │ ├── cairofuncs_xlib.d │ │ └── cairotypes_xlib.d ├── cairo_snippets │ ├── README.rst │ ├── cairo_snippets_png.d │ ├── cairo_snippets_png_run.bat │ ├── cairo_snippets_png_run.sh │ ├── data │ │ ├── README.rst │ │ └── romedalen.png │ └── snippets │ │ ├── all.d │ │ ├── arc.d │ │ ├── arc_negative.d │ │ ├── clip.d │ │ ├── clip_image.d │ │ ├── common.d │ │ ├── curve_rectangle.d │ │ ├── curve_to.d │ │ ├── fill_and_stroke.d │ │ ├── fill_and_stroke2.d │ │ ├── gradient.d │ │ ├── image.d │ │ ├── imagepattern.d │ │ ├── path.d │ │ ├── pattern_fill.d │ │ ├── set_line_cap.d │ │ ├── set_line_join.d │ │ ├── text.d │ │ ├── text_align_center.d │ │ └── text_extents.d ├── cairooo-build.d ├── cairooo │ ├── all.d │ ├── cairo.d │ ├── callbacks.d │ ├── context.d │ ├── enums.d │ ├── exceptions.d │ ├── extra │ │ ├── all.d │ │ ├── shapetemplate.d │ │ └── types.d │ ├── fontextents.d │ ├── fontface.d │ ├── fontoptions.d │ ├── glitz │ │ ├── all.d │ │ ├── glitz.d │ │ └── glitzsurface.d │ ├── glyph.d │ ├── gradient.d │ ├── imagebuffersurface.d │ ├── imagesurface.d │ ├── lineargradient.d │ ├── matrix.d │ ├── path.d │ ├── pattern.d │ ├── png │ │ ├── all.d │ │ ├── png.d │ │ └── pngsurface.d │ ├── radialgradient.d │ ├── scaledfont.d │ ├── solidpattern.d │ ├── surface.d │ ├── surfacepattern.d │ ├── techdoc │ │ └── reference-counting.rst │ ├── textextents.d │ ├── win32 │ │ ├── all.d │ │ ├── win32.d │ │ ├── win32fontface.d │ │ ├── win32scaledfont.d │ │ └── win32surface.d │ └── xlib │ │ ├── all.d │ │ ├── drawablesurface.d │ │ ├── pixmapsurface.d │ │ └── xlib.d ├── cairooo_snippets │ ├── cairooo_snippets_png.d │ ├── cairooo_snippets_png_run.bat │ ├── cairooo_snippets_png_run.sh │ ├── data │ │ ├── README.rst │ │ └── romedalen.png │ └── snippets │ │ ├── all.d │ │ ├── arc.d │ │ ├── arc_negative.d │ │ ├── clip.d │ │ ├── clip_image.d │ │ ├── common.d │ │ ├── curve_rectangle.d │ │ ├── curve_to.d │ │ ├── fill_and_stroke.d │ │ ├── fill_and_stroke2.d │ │ ├── gradient.d │ │ ├── image.d │ │ ├── imagepattern.d │ │ ├── path.d │ │ ├── set_line_cap.d │ │ ├── set_line_join.d │ │ ├── text.d │ │ ├── text_align_center.d │ │ └── text_extents.d ├── cairooo_tutorial │ ├── lesson01 │ │ ├── lesson01.d │ │ ├── lesson01.linux.brf │ │ └── lesson01.win32.brf │ ├── lesson02 │ │ ├── lesson02.d │ │ ├── lesson02.linux.brf │ │ └── lesson02.win32.brf │ └── lesson03 │ │ ├── lesson03.d │ │ ├── lesson03.linux.brf │ │ └── lesson03.win32.brf ├── demos │ └── dlogo │ │ ├── README.rst │ │ ├── dlogo.d │ │ ├── dlogo.linux.brf │ │ └── dlogo.win32.brf └── util │ └── script.d ├── def ├── glu32.def ├── odbc32.def ├── opengl32.def ├── readme.txt ├── rpcrt4.def ├── shell32.def ├── version.def ├── wininet.def └── winspool.def ├── demangle.d ├── dfilter.d ├── directx ├── d │ ├── d2d1.d │ ├── d3d11.d │ ├── d3d11shader.d │ ├── d3dcompiler.d │ ├── dwrite.d │ ├── dxgi.d │ ├── dxinternal.d │ ├── dxpublic.d │ ├── x3daudio.d │ ├── xaudio2.d │ └── xinput.d └── readme.txt ├── dlexer.d ├── dparse.d ├── dsymextract.d ├── dtypes.d ├── freeimage └── freeimage.d ├── freetype ├── DerelictFT.zip ├── doc │ ├── CHANGES.txt │ ├── DI-Freetype2.pdf │ ├── FTL.TXT │ ├── PATENTS.txt │ ├── TRUETYPE.txt │ ├── formats.txt │ ├── modules.txt │ └── raster.txt ├── examples │ ├── AirCut.ttf │ ├── Tahoma.ttf │ ├── Trebuchet.ttf │ ├── example1.d │ ├── ftest.d │ └── testname.d ├── freetype │ ├── def.d │ ├── ft.d │ └── loader.d ├── lib │ └── freetype.dll └── scripts │ ├── parse.py │ └── parseall.py ├── gl ├── _glextern.d ├── _types.d ├── agl.d ├── gl.d ├── glext.d ├── glu.d ├── glut.d ├── glx.d ├── glxext.d ├── wgl.d └── wglext.d ├── glade.d ├── gmp ├── dsss.conf ├── gmp.d ├── gmp.h ├── gmpp.d ├── gmptest.d ├── libgmp.lib ├── readme.txt └── squareroot.d ├── graphicsmagick ├── example1 │ ├── dsss.conf │ └── main.d ├── magick │ ├── api.d │ ├── colorspace.d │ ├── constitute.d │ ├── error.d │ ├── globals.d │ ├── image.d │ ├── log.d │ ├── magick.d │ ├── magick_config.d │ ├── magick_types.d │ ├── pixel_cache.d │ ├── resize.d │ └── timer.d └── readme.txt ├── gsl ├── CHANGELOG ├── LICENSE ├── README ├── dsss.conf ├── gsl │ ├── gsl_blas.d │ ├── gsl_blas_types.d │ ├── gsl_block.d │ ├── gsl_block_char.d │ ├── gsl_block_complex_double.d │ ├── gsl_block_complex_float.d │ ├── gsl_block_complex_long_double.d │ ├── gsl_block_double.d │ ├── gsl_block_float.d │ ├── gsl_block_int.d │ ├── gsl_block_long.d │ ├── gsl_block_long_double.d │ ├── gsl_block_short.d │ ├── gsl_block_uchar.d │ ├── gsl_block_uint.d │ ├── gsl_block_ulong.d │ ├── gsl_block_ushort.d │ ├── gsl_cblas.d │ ├── gsl_cdf.d │ ├── gsl_chebyshev.d │ ├── gsl_check_range.d │ ├── gsl_combination.d │ ├── gsl_complex.d │ ├── gsl_complex_math.d │ ├── gsl_const.d │ ├── gsl_const_cgs.d │ ├── gsl_const_cgsm.d │ ├── gsl_const_mks.d │ ├── gsl_const_mksa.d │ ├── gsl_const_num.d │ ├── gsl_deriv.d │ ├── gsl_dft_complex.d │ ├── gsl_dft_complex_float.d │ ├── gsl_dht.d │ ├── gsl_diff.d │ ├── gsl_eigen.d │ ├── gsl_errno.d │ ├── gsl_fft.d │ ├── gsl_fft_complex.d │ ├── gsl_fft_complex_float.d │ ├── gsl_fft_halfcomplex.d │ ├── gsl_fft_halfcomplex_float.d │ ├── gsl_fft_real.d │ ├── gsl_fft_real_float.d │ ├── gsl_fit.d │ ├── gsl_heapsort.d │ ├── gsl_histogram.d │ ├── gsl_histogram2d.d │ ├── gsl_ieee_utils.d │ ├── gsl_integration.d │ ├── gsl_interp.d │ ├── gsl_linalg.d │ ├── gsl_machine.d │ ├── gsl_math.d │ ├── gsl_matrix.d │ ├── gsl_matrix_char.d │ ├── gsl_matrix_complex_double.d │ ├── gsl_matrix_complex_float.d │ ├── gsl_matrix_complex_long_double.d │ ├── gsl_matrix_double.d │ ├── gsl_matrix_float.d │ ├── gsl_matrix_int.d │ ├── gsl_matrix_long.d │ ├── gsl_matrix_long_double.d │ ├── gsl_matrix_short.d │ ├── gsl_matrix_uchar.d │ ├── gsl_matrix_uint.d │ ├── gsl_matrix_ulong.d │ ├── gsl_matrix_ushort.d │ ├── gsl_message.d │ ├── gsl_min.d │ ├── gsl_mode.d │ ├── gsl_monte.d │ ├── gsl_monte_miser.d │ ├── gsl_monte_plain.d │ ├── gsl_monte_vegas.d │ ├── gsl_multifit.d │ ├── gsl_multifit_nlin.d │ ├── gsl_multimin.d │ ├── gsl_multiroots.d │ ├── gsl_nan.d │ ├── gsl_ntuple.d │ ├── gsl_odeiv.d │ ├── gsl_permutation.d │ ├── gsl_permute.d │ ├── gsl_permute_char.d │ ├── gsl_permute_complex_double.d │ ├── gsl_permute_complex_float.d │ ├── gsl_permute_complex_long_double.d │ ├── gsl_permute_double.d │ ├── gsl_permute_float.d │ ├── gsl_permute_int.d │ ├── gsl_permute_long.d │ ├── gsl_permute_long_double.d │ ├── gsl_permute_short.d │ ├── gsl_permute_uchar.d │ ├── gsl_permute_uint.d │ ├── gsl_permute_ulong.d │ ├── gsl_permute_ushort.d │ ├── gsl_permute_vector.d │ ├── gsl_permute_vector_char.d │ ├── gsl_permute_vector_complex_double.d │ ├── gsl_permute_vector_complex_float.d │ ├── gsl_permute_vector_complex_long_double.d │ ├── gsl_permute_vector_double.d │ ├── gsl_permute_vector_float.d │ ├── gsl_permute_vector_int.d │ ├── gsl_permute_vector_long.d │ ├── gsl_permute_vector_long_double.d │ ├── gsl_permute_vector_short.d │ ├── gsl_permute_vector_uchar.d │ ├── gsl_permute_vector_uint.d │ ├── gsl_permute_vector_ulong.d │ ├── gsl_permute_vector_ushort.d │ ├── gsl_poly.d │ ├── gsl_pow_int.d │ ├── gsl_precision.d │ ├── gsl_qrng.d │ ├── gsl_randist.d │ ├── gsl_rng.d │ ├── gsl_roots.d │ ├── gsl_sf.d │ ├── gsl_sf_airy.d │ ├── gsl_sf_bessel.d │ ├── gsl_sf_clausen.d │ ├── gsl_sf_coulomb.d │ ├── gsl_sf_coupling.d │ ├── gsl_sf_dawson.d │ ├── gsl_sf_debye.d │ ├── gsl_sf_dilog.d │ ├── gsl_sf_elementary.d │ ├── gsl_sf_ellint.d │ ├── gsl_sf_elljac.d │ ├── gsl_sf_erf.d │ ├── gsl_sf_exp.d │ ├── gsl_sf_expint.d │ ├── gsl_sf_fermi_dirac.d │ ├── gsl_sf_gamma.d │ ├── gsl_sf_gegenbauer.d │ ├── gsl_sf_hyperg.d │ ├── gsl_sf_laguerre.d │ ├── gsl_sf_lambert.d │ ├── gsl_sf_legendre.d │ ├── gsl_sf_log.d │ ├── gsl_sf_pow_int.d │ ├── gsl_sf_psi.d │ ├── gsl_sf_result.d │ ├── gsl_sf_synchrotron.d │ ├── gsl_sf_transport.d │ ├── gsl_sf_trig.d │ ├── gsl_sf_zeta.d │ ├── gsl_siman.d │ ├── gsl_sort.d │ ├── gsl_sort_char.d │ ├── gsl_sort_double.d │ ├── gsl_sort_float.d │ ├── gsl_sort_int.d │ ├── gsl_sort_long.d │ ├── gsl_sort_long_double.d │ ├── gsl_sort_short.d │ ├── gsl_sort_uchar.d │ ├── gsl_sort_uint.d │ ├── gsl_sort_ulong.d │ ├── gsl_sort_ushort.d │ ├── gsl_sort_vector.d │ ├── gsl_sort_vector_char.d │ ├── gsl_sort_vector_double.d │ ├── gsl_sort_vector_float.d │ ├── gsl_sort_vector_int.d │ ├── gsl_sort_vector_long.d │ ├── gsl_sort_vector_long_double.d │ ├── gsl_sort_vector_short.d │ ├── gsl_sort_vector_uchar.d │ ├── gsl_sort_vector_uint.d │ ├── gsl_sort_vector_ulong.d │ ├── gsl_sort_vector_ushort.d │ ├── gsl_specfunc.d │ ├── gsl_spline.d │ ├── gsl_statistics.d │ ├── gsl_statistics_char.d │ ├── gsl_statistics_double.d │ ├── gsl_statistics_float.d │ ├── gsl_statistics_int.d │ ├── gsl_statistics_long.d │ ├── gsl_statistics_long_double.d │ ├── gsl_statistics_short.d │ ├── gsl_statistics_uchar.d │ ├── gsl_statistics_uint.d │ ├── gsl_statistics_ulong.d │ ├── gsl_statistics_ushort.d │ ├── gsl_sum.d │ ├── gsl_sys.d │ ├── gsl_test.d │ ├── gsl_types.d │ ├── gsl_vector.d │ ├── gsl_vector_char.d │ ├── gsl_vector_complex.d │ ├── gsl_vector_complex_double.d │ ├── gsl_vector_complex_float.d │ ├── gsl_vector_complex_long_double.d │ ├── gsl_vector_double.d │ ├── gsl_vector_float.d │ ├── gsl_vector_int.d │ ├── gsl_vector_long.d │ ├── gsl_vector_long_double.d │ ├── gsl_vector_short.d │ ├── gsl_vector_uchar.d │ ├── gsl_vector_uint.d │ ├── gsl_vector_ulong.d │ ├── gsl_vector_ushort.d │ ├── gsl_version.d │ ├── gsl_wavelet.d │ └── gsl_wavelet2d.d └── test │ ├── dsss.conf │ └── test │ ├── linalg.d │ ├── main.d │ ├── matrix.d │ └── vector.d ├── gtk.d ├── id3tag.d ├── jack ├── dsss.conf ├── jack │ ├── intclient.d │ ├── jack.d │ ├── jslist.d │ ├── midiport.d │ ├── ringbuffer.d │ ├── statistics.d │ ├── systemdeps.d │ ├── thread.d │ ├── transport.d │ └── types.d ├── memory.d ├── metro.d └── readme.txt ├── jpeglib.d ├── lib ├── glu32.lib ├── odbc32.lib ├── opengl32.lib ├── rpcrt4.lib ├── shell32.lib ├── uuid.lib ├── version.lib ├── wininet.lib └── winspool.lib ├── libarchive-d ├── dsss.conf └── libarchive │ ├── all.d │ ├── entry.d │ ├── libarchive.d │ └── types.d ├── libquicktime ├── example │ ├── IVideoFile.d │ ├── IVideoReader.d │ ├── VideoFileQT.d │ ├── aspecthelper.d │ ├── dsss.conf │ ├── frame_struct.d │ ├── gdkkeysyms.d │ ├── globals.d │ └── main.d ├── lqt │ ├── colormodels.d │ ├── lqt.d │ ├── lqt_atoms.d │ ├── lqt_codecinfo.d │ ├── lqt_qtvr.d │ ├── lqt_qvtr.d │ └── quicktime.d └── readme.txt ├── llvm-2.6 ├── LICENSE.TXT ├── dsss.conf ├── llvm-ext.cpp ├── llvm-opt.cpp ├── llvm-typemonitor.cpp ├── llvm │ ├── builder.d │ ├── c │ │ ├── Analysis.d │ │ ├── BitReader.d │ │ ├── BitWriter.d │ │ ├── Core.d │ │ ├── ExecutionEngine.d │ │ ├── Ext.d │ │ ├── Target.d │ │ └── transforms │ │ │ ├── IPO.d │ │ │ └── Scalar.d │ ├── executionengine.d │ ├── llvm.d │ ├── type.d │ └── util.d ├── llvmsample1.d ├── llvmsample2.d ├── llvmsample3.d └── prebuild.sh ├── llvm-2.7 ├── README ├── llvm │ ├── Ext.cpp │ ├── Ext.d │ ├── LICENSE.TXT │ ├── Target.cpp │ └── c │ │ ├── Analysis.d │ │ ├── BitReader.d │ │ ├── BitWriter.d │ │ ├── Core.d │ │ ├── EnhancedDisassembly.d │ │ ├── ExecutionEngine.d │ │ ├── LinkTimeOptimizer.d │ │ ├── Target.d │ │ ├── lto.d │ │ └── transforms │ │ ├── IPO.d │ │ └── Scalar.d └── prebuild.sh ├── llvm-2.8 ├── README ├── llvm │ ├── Ext.cpp │ ├── Ext.d │ ├── LICENSE.TXT │ ├── Target.cpp │ └── c │ │ ├── Analysis.d │ │ ├── BitReader.d │ │ ├── BitWriter.d │ │ ├── Core.d │ │ ├── EnhancedDisassembly.d │ │ ├── ExecutionEngine.d │ │ ├── LinkTimeOptimizer.d │ │ ├── Target.d │ │ ├── lto.d │ │ └── transforms │ │ ├── IPO.d │ │ └── Scalar.d └── prebuild.sh ├── llvm-2.9 ├── README ├── llvm │ ├── Ext.cpp │ ├── Ext.d │ ├── LICENSE.TXT │ ├── Target.cpp │ └── c │ │ ├── Analysis.d │ │ ├── BitReader.d │ │ ├── BitWriter.d │ │ ├── Core.d │ │ ├── EnhancedDisassembly.d │ │ ├── ExecutionEngine.d │ │ ├── Initialization.d │ │ ├── LinkTimeOptimizer.d │ │ ├── Target.d │ │ ├── lto.d │ │ └── transforms │ │ ├── IPO.d │ │ └── Scalar.d └── prebuild.sh ├── llvm-3.0 ├── Makefile ├── Readme ├── llvm │ ├── Ext.cpp │ ├── Ext.d │ ├── LICENSE.TXT │ ├── Target.cpp │ └── c │ │ ├── Analysis.d │ │ ├── BitReader.d │ │ ├── BitWriter.d │ │ ├── Core.d │ │ ├── Disassembler.d │ │ ├── EnhancedDisassembly.d │ │ ├── ExecutionEngine.d │ │ ├── Initialization.d │ │ ├── LinkTimeOptimizer.d │ │ ├── Object.d │ │ ├── Target.d │ │ ├── lto.d │ │ └── transforms │ │ ├── IPO.d │ │ ├── PassManagerBuilder.d │ │ └── Scalar.d └── main.d ├── lua-5.0.2.zip ├── lua-5.1.3.zip ├── lua ├── README.txt ├── all.d ├── buffer.d ├── common.d ├── data.d ├── error.d ├── lauxlib.d ├── lua.d ├── lua.lib ├── luaconf.d ├── lualib.d ├── mixins.d ├── state.d └── utils.d ├── macfuse ├── dsss.conf └── fuse │ ├── common.d │ ├── fuse.d │ └── opt.d ├── opengl.d ├── openglu.d ├── phobos-0.110-nogc-binaries.zip ├── phobos-0.110-nogc-src.zip ├── phobos-0.110-nogc.patch.bz2 ├── portaudio ├── example │ ├── dsss.conf │ └── patest_sine_hello.d ├── portaudio │ └── portaudio.d └── readme.txt ├── pthreads.d ├── raknet ├── Makefile.linux ├── Makefile.win ├── README.txt ├── chat.bat ├── chat.d ├── compile.sh ├── cppSource │ └── README.txt ├── lib │ ├── rakglue.lib │ └── raknet.lib ├── line.bat ├── line.d ├── lineserver.bat ├── lineserver.d ├── otherfiles ├── rakglue │ ├── rakbitstream.h │ ├── rakbitstreamglue.cpp │ ├── rakclient.h │ ├── rakclientglue.cpp │ ├── rakserver.h │ └── rakserverglue.cpp ├── raknet │ ├── bitstream.d │ ├── client.d │ ├── networktypes.d │ ├── packetenumerations.d │ ├── packetpriority.d │ ├── raknet.d │ └── server.d └── window.lua ├── sdl_rotozoom ├── README ├── rotozoom.d ├── sample24.bmp ├── sample8.bmp └── testrotozoom.d ├── sqlite3-d ├── dsss.conf └── sqlite3.d ├── squirrel ├── c │ ├── include │ │ ├── sqstdaux.h │ │ ├── sqstdblob.h │ │ ├── sqstdio.h │ │ ├── sqstdmath.h │ │ ├── sqstdstring.h │ │ ├── sqstdsystem.h │ │ └── squirrel.h │ ├── sqstdlib │ │ ├── sqstdaux.cpp │ │ ├── sqstdblob.cpp │ │ ├── sqstdblobimpl.h │ │ ├── sqstdio.cpp │ │ ├── sqstdmath.cpp │ │ ├── sqstdrex.cpp │ │ ├── sqstdstream.cpp │ │ ├── sqstdstream.h │ │ ├── sqstdstring.cpp │ │ └── sqstdsystem.cpp │ └── squirrel │ │ ├── sqapi.cpp │ │ ├── sqarray.h │ │ ├── sqbaselib.cpp │ │ ├── sqclass.cpp │ │ ├── sqclass.h │ │ ├── sqclosure.h │ │ ├── sqcompiler.cpp │ │ ├── sqcompiler.h │ │ ├── sqdebug.cpp │ │ ├── sqfuncproto.h │ │ ├── sqfuncstate.cpp │ │ ├── sqfuncstate.h │ │ ├── sqlexer.cpp │ │ ├── sqlexer.h │ │ ├── sqmem.cpp │ │ ├── sqobject.cpp │ │ ├── sqobject.h │ │ ├── sqopcodes.h │ │ ├── sqpcheader.h │ │ ├── sqstate.cpp │ │ ├── sqstate.h │ │ ├── sqstring.h │ │ ├── sqtable.cpp │ │ ├── sqtable.h │ │ ├── squserdata.h │ │ ├── squtils.h │ │ ├── sqvm.cpp │ │ └── sqvm.h ├── clean.bat ├── examples │ ├── example.d │ └── test.nut ├── import │ ├── sqstdlib.d │ ├── squirrel.d │ └── squirreld.d ├── make.bat ├── make_ex.bat ├── make_lib.bat └── make_std.bat ├── swisseph └── swisseph.d ├── uuid_obj.d ├── videodev2.d └── win32 ├── accctrl.d ├── aclapi.d ├── aclui.d ├── basetsd.d ├── basetyps.d ├── cderr.d ├── cguid.d ├── comcat.d ├── commctrl.d ├── commdlg.d ├── core.d ├── cpl.d ├── cplext.d ├── custcntl.d ├── dbt.d ├── dde.d ├── ddeml.d ├── dhcpcsdk.d ├── directx ├── d3d10.d ├── d3d10effect.d ├── d3d10misc.d ├── d3d10shader.d ├── d3d9.d ├── d3d9.def ├── d3d9caps.d ├── d3d9types.d ├── d3dx10.d ├── d3dx10async.d ├── d3dx10core.d ├── d3dx10math.d ├── d3dx10mesh.d ├── d3dx10tex.d ├── d3dx9.d ├── d3dx9.def ├── dinput8.d ├── dinput8.def ├── dsound8.d ├── dsound8.def ├── dxerr.d ├── dxerr8.d ├── dxerr9.d ├── dxgi.d └── dxgitype.d ├── dlgs.d ├── docobj.d ├── errorrep.d ├── exdisp.d ├── exdispid.d ├── httpext.d ├── idispids.d ├── imagehlp.d ├── imm.d ├── intshcut.d ├── ipexport.d ├── iphlpapi.d ├── ipifcons.d ├── iprtrmib.d ├── iptypes.d ├── isguids.d ├── lm.d ├── lmaccess.d ├── lmalert.d ├── lmapibuf.d ├── lmat.d ├── lmaudit.d ├── lmbrowsr.d ├── lmchdev.d ├── lmconfig.d ├── lmcons.d ├── lmerr.d ├── lmerrlog.d ├── lmmsg.d ├── lmremutl.d ├── lmrepl.d ├── lmserver.d ├── lmshare.d ├── lmsname.d ├── lmstats.d ├── lmsvc.d ├── lmuse.d ├── lmuseflg.d ├── lmwksta.d ├── lzexpand.d ├── makefile ├── mapi.d ├── mciavi.d ├── mcx.d ├── mgmtapi.d ├── mmsystem.d ├── msacm.d ├── mshtml.d ├── mswsock.d ├── nb30.d ├── nddeapi.d ├── nspapi.d ├── ntdef.d ├── ntdll.d ├── ntldap.d ├── ntsecapi.d ├── ntsecpkg.d ├── oaidl.d ├── objbase.d ├── objfwd.d ├── objidl.d ├── objsafe.d ├── ocidl.d ├── odbcinst.d ├── ole.d ├── ole2.d ├── ole2ver.d ├── oleacc.d ├── oleauto.d ├── olectl.d ├── olectlid.d ├── oledlg.d ├── oleidl.d ├── pbt.d ├── powrprof.d ├── prsht.d ├── psapi.d ├── rapi.d ├── ras.d ├── rasdlg.d ├── raserror.d ├── rassapi.d ├── readme.txt ├── reason.d ├── regstr.d ├── richedit.d ├── richole.d ├── rpc.d ├── rpcdce.d ├── rpcdce2.d ├── rpcdcep.d ├── rpcndr.d ├── rpcnsi.d ├── rpcnsip.d ├── rpcnterr.d ├── schannel.d ├── secext.d ├── security.d ├── servprov.d ├── setupapi.d ├── shellapi.d ├── shldisp.d ├── shlguid.d ├── shlobj.d ├── shlwapi.d ├── snmp.d ├── sql.d ├── sqlext.d ├── sqltypes.d ├── sqlucode.d ├── sspi.d ├── subauth.d ├── testall.d ├── testcompile.bat ├── tlhelp32.d ├── tmschema.d ├── unknwn.d ├── usp10.d ├── uuid.d ├── vfw.d ├── w32api.d ├── winbase.d ├── winber.d ├── wincon.d ├── wincrypt.d ├── windef.d ├── windows.d ├── winerror.d ├── wingdi.d ├── winhttp.d ├── wininet.d ├── winioctl.d ├── winldap.d ├── winnetwk.d ├── winnls.d ├── winnt.d ├── winperf.d ├── winreg.d ├── winsock.d ├── winsock2.d ├── winspool.d ├── winsvc.d ├── winuser.d ├── winver.d ├── ws2tcpip.d ├── wtsapi32.d └── wtypes.d /BLAS_LAPACK_bindings.txt: -------------------------------------------------------------------------------- 1 | There are BLAS and LAPACK bindings maintained as part of the "murray" 2 | project. They do not depend on murray, and can be checked out 3 | separately from Murray using the URL: 4 | 5 | http://svn.dsource.org/projects/multiarray/trunk/multiarray/BLASLAPACK/ 6 | 7 | 8 | -------------------------------------------------------------------------------- /SuperLU_bindings.txt: -------------------------------------------------------------------------------- 1 | There are bindings for the SuperLU library maintained as part of the "murray" 2 | project. They do not depend on murray, and can be checked out 3 | separately from Murray using the URL: 4 | 5 | http://svn.dsource.org/projects/multiarray/trunk/multiarray/SuperLU/ 6 | -------------------------------------------------------------------------------- /TAUCS_bindings.txt: -------------------------------------------------------------------------------- 1 | There are bindings for the TAUCS sparse matrix library maintained as part of the "murray" project. They do not depend on murray, and can be checked out 2 | separately from Murray using the URL: 3 | 4 | http://svn.dsource.org/projects/multiarray/trunk/multiarray/TAUCS/ 5 | -------------------------------------------------------------------------------- /X11/CHANGES: -------------------------------------------------------------------------------- 1 | Release 0.11 ALPHA: 2 | ================== 3 | added: Full xcb bindings 4 | 5 | Release 0.1 ALPHA: 6 | ================== 7 | First release of binding 8 | Full bindings of X11/Xlib.h and X11/X.h 9 | 10 | -Todo: 11 | More tests 12 | Other X11 bindings 13 | 14 | -------------------------------------------------------------------------------- /X11/COPYING: -------------------------------------------------------------------------------- 1 | *************************************************************************** 2 | Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 3 | 4 | Permission to use, copy, modify, distribute, and sell this software and its 5 | documentation for any purpose is hereby granted without fee, provided that 6 | the above copyright notice appear in all copies and that both that 7 | copyright notice and this permission notice appear in supporting 8 | documentation. 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 17 | AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | 20 | Except as contained in this notice, the name of The Open Group shall not be 21 | used in advertising or otherwise to promote the sale, use or other dealings 22 | in this Software without prior written authorization from The Open Group. 23 | **************************************************************************** 24 | 25 | -------------------------------------------------------------------------------- /X11/TODO: -------------------------------------------------------------------------------- 1 | TODO list: 2 | ---------- 3 | 4 | -Test test and retest ! You can share your code for a Test Suite 5 | -Bind other X11 library extensions 6 | -Write other example code 7 | -------------------------------------------------------------------------------- /X11/xcb/README: -------------------------------------------------------------------------------- 1 | -run "sh xcbbuild.sh" to automaticaly generate headers from xcb xml description 2 | -you can read example.d to understand how to use this binding and how to compile the file 3 | -------------------------------------------------------------------------------- /X11/xcb/xcbbuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Build D headers binding for XCB 3 | # command line: dbuild.sh 4 | cd xslt 5 | for i in $( ls *.xml ); 6 | do 7 | 8 | dest=$(echo $i | sed -e "s/xml/d/") 9 | echo Building $dest from $i 10 | xsltproc --stringparam mode header d-client.xsl $i > ../$dest 11 | done 12 | -------------------------------------------------------------------------------- /X11/xcb/xslt/xc_misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | ids_len 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /cairo/build_docs_cairooo.brf: -------------------------------------------------------------------------------- 1 | # Builds the documentation for cairooo 2 | -cleanup 3 | -D 4 | -Dddocs 5 | -o- 6 | -nolib 7 | -nolink 8 | -Xcairo 9 | -Xwin32 10 | cairooo/all.d 11 | cairooo/cairo.d 12 | cairooo/extra/all.d 13 | cairooo/glitz/all.d 14 | cairooo/png/all.d 15 | cairooo/win32/all.d 16 | cairooo/xlib/all.d 17 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/README.rst: -------------------------------------------------------------------------------- 1 | 2 | cairo snippets 3 | ============== 4 | 5 | This folder contains a translated copy of the cairo snippet samples as found 6 | at http://cairographics.org/samples/. 7 | 8 | Currently, only the png "front end" has been ported, since this is the only 9 | one supported by the binding at this time. Also, almost all cairo library 10 | binaries will have png support, so it's a fairly safe bet. 11 | 12 | Finally, not all samples were ported. The "libsvg" sample was not ported since 13 | the binding does not yet support cairo's SVG functions. Also, samples 14 | starting with "xxx_" were not ported, since these are used to demonstrate 15 | bugs in the current version of cairo. 16 | 17 | Windows users can compile and run the samples using the 18 | "cairo_snippets_png_run.bat" file, whilst Linux users can use the 19 | "cairo_snippets_png_run.sh" file (note that this has NOT been tested yet). 20 | 21 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/cairo_snippets_png_run.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | mkdir output 2>NUL 3 | bud -cleanup -release -I.. cairo_snippets_png && cairo_snippets_png 4 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/cairo_snippets_png_run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -d output ]; then 4 | mkdir output 5 | fi 6 | 7 | build -cleanup -release -I.. cairo_snippets_png && ./cairo_snippets_png 8 | 9 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/data/README.rst: -------------------------------------------------------------------------------- 1 | 2 | The following files were obtained from the cairo project's CVS directory: 3 | 4 | * romedalen.png 5 | 6 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/data/romedalen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/cairo/cairo_snippets/data/romedalen.png -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/all.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.all; 3 | 4 | import snippets.common; 5 | 6 | import snippets.arc; 7 | import snippets.arc_negative; 8 | import snippets.clip; 9 | import snippets.clip_image; 10 | import snippets.curve_rectangle; 11 | import snippets.curve_to; 12 | import snippets.fill_and_stroke2; 13 | import snippets.fill_and_stroke; 14 | import snippets.gradient; 15 | import snippets.image; 16 | import snippets.imagepattern; 17 | import snippets.path; 18 | //import snippets.pattern_fill; 19 | import snippets.set_line_cap; 20 | import snippets.set_line_join; 21 | import snippets.text; 22 | import snippets.text_align_center; 23 | import snippets.text_extents; 24 | 25 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/arc.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.arc; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_arc(cairo_t* cr, int width, int height) 12 | { 13 | double xc = 0.5; 14 | double yc = 0.5; 15 | double radius = 0.4; 16 | double angle1 = 45.0 * (PI/180.0); 17 | double angle2 = 180.0 * (PI/180.0); 18 | 19 | cairo_arc(cr, xc, yc, radius, angle1, angle2); 20 | cairo_stroke(cr); 21 | 22 | // draw helping lines 23 | cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.6); 24 | cairo_arc(cr, xc, yc, 0.05, 0, 2*PI); 25 | cairo_fill(cr); 26 | cairo_set_line_width(cr, 0.03); 27 | cairo_arc(cr, xc, yc, radius, angle1, angle1); 28 | cairo_line_to(cr, xc, yc); 29 | cairo_arc(cr, xc, yc, radius, angle2, angle2); 30 | cairo_line_to(cr, xc, yc); 31 | cairo_stroke(cr); 32 | } 33 | 34 | static this() 35 | { 36 | snippets_hash["arc"] = &snippet_arc; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/arc_negative.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.arc_negative; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_arc_negative(cairo_t* cr, int width, int height) 12 | { 13 | double xc = 0.5; 14 | double yc = 0.5; 15 | double radius = 0.4; 16 | double angle1 = 45.0 * (PI/180.0); 17 | double angle2 = 180.0 * (PI/180.0); 18 | 19 | cairo_arc_negative(cr, xc, yc, radius, angle1, angle2); 20 | cairo_stroke(cr); 21 | 22 | // draw helping lines 23 | cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.6); 24 | cairo_arc(cr, xc, yc, 0.05, 0, 2*PI); 25 | cairo_fill(cr); 26 | cairo_set_line_width(cr, 0.03); 27 | cairo_arc(cr, xc, yc, radius, angle1, angle1); 28 | cairo_line_to(cr, xc, yc); 29 | cairo_arc(cr, xc, yc, radius, angle2, angle2); 30 | cairo_line_to(cr, xc, yc); 31 | cairo_stroke(cr); 32 | } 33 | 34 | static this() 35 | { 36 | snippets_hash["arc_negative"] = &snippet_arc_negative; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/clip.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.clip; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_clip(cairo_t* cr, int width, int height) 12 | { 13 | cairo_arc (cr, 0.5, 0.5, 0.3, 0, 2 * PI); 14 | cairo_clip (cr); 15 | 16 | cairo_new_path (cr); /* current path is not 17 | consumed by cairo_clip() */ 18 | cairo_rectangle (cr, 0, 0, 1, 1); 19 | cairo_fill (cr); 20 | cairo_set_source_rgb (cr, 0, 1, 0); 21 | cairo_move_to (cr, 0, 0); 22 | cairo_line_to (cr, 1, 1); 23 | cairo_move_to (cr, 1, 0); 24 | cairo_line_to (cr, 0, 1); 25 | cairo_stroke (cr); 26 | } 27 | 28 | static this() 29 | { 30 | snippets_hash["clip"] = &snippet_clip; 31 | } 32 | 33 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/clip_image.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.clip_image; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import cairo.png.cairo_png; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_clip_image(cairo_t* cr, int width, int height) 13 | { 14 | int w, h; 15 | cairo_surface_t *image; 16 | 17 | cairo_arc (cr, 0.5, 0.5, 0.3, 0, 2*PI); 18 | cairo_clip (cr); 19 | cairo_new_path (cr); /* path not consumed by clip()*/ 20 | 21 | image = cairo_image_surface_create_from_png ("data/romedalen.png"); 22 | scope(exit) cairo_surface_destroy(image); 23 | 24 | w = cairo_image_surface_get_width (image); 25 | h = cairo_image_surface_get_height (image); 26 | 27 | cairo_scale (cr, 1.0/w, 1.0/h); 28 | 29 | cairo_set_source_surface (cr, image, 0, 0); 30 | cairo_paint (cr); 31 | } 32 | 33 | static this() 34 | { 35 | snippets_hash["clip_image"] = &snippet_clip_image; 36 | } 37 | 38 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/common.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.common; 3 | 4 | private import cairo.cairo; 5 | 6 | // Type for our callbacks 7 | alias void function(cairo_t* cr, int width, int height) snippet_fn; 8 | 9 | // Registry of snippets 10 | snippet_fn[char[]] snippets_hash; 11 | 12 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/curve_to.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.curve_to; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_curve_to(cairo_t* cr, int width, int height) 12 | { 13 | double x=0.1, y=0.5; 14 | double x1=0.4, y1=0.9, 15 | x2=0.6, y2=0.1, 16 | x3=0.9, y3=0.5; 17 | 18 | cairo_move_to (cr, x, y); 19 | cairo_curve_to (cr, x1, y1, x2, y2, x3, y3); 20 | 21 | cairo_stroke (cr); 22 | 23 | cairo_set_source_rgba (cr, 1,0.2,0.2,0.6); 24 | cairo_set_line_width (cr, 0.03); 25 | cairo_move_to (cr,x,y); cairo_line_to (cr,x1,y1); 26 | cairo_move_to (cr,x2,y2); cairo_line_to (cr,x3,y3); 27 | cairo_stroke (cr); 28 | } 29 | 30 | static this() 31 | { 32 | snippets_hash["curve_to"] = &snippet_curve_to; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/fill_and_stroke.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.fill_and_stroke; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_fill_and_stroke(cairo_t* cr, int width, int height) 12 | { 13 | cairo_move_to (cr, 0.5, 0.1); 14 | cairo_line_to (cr, 0.9, 0.9); 15 | cairo_rel_line_to (cr, -0.4, 0.0); 16 | cairo_curve_to (cr, 0.2, 0.9, 0.2, 0.5, 0.5, 0.5); 17 | cairo_close_path (cr); 18 | 19 | cairo_set_source_rgb (cr, 0, 0, 1); 20 | cairo_fill_preserve (cr); 21 | cairo_set_source_rgb (cr, 0, 0, 0); 22 | cairo_stroke (cr); 23 | } 24 | 25 | static this() 26 | { 27 | snippets_hash["fill_and_stroke"] = &snippet_fill_and_stroke; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/fill_and_stroke2.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.fill_and_stroke2; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_fill_and_stroke2(cairo_t* cr, int width, int height) 12 | { 13 | cairo_move_to (cr, 0.5, 0.1); 14 | cairo_line_to (cr, 0.9, 0.9); 15 | cairo_rel_line_to (cr, -0.4, 0.0); 16 | cairo_curve_to (cr, 0.2, 0.9, 0.2, 0.5, 0.5, 0.5); 17 | cairo_close_path (cr); 18 | 19 | cairo_move_to (cr, 0.25, 0.1); 20 | cairo_rel_line_to (cr, 0.2, 0.2); 21 | cairo_rel_line_to (cr, -0.2, 0.2); 22 | cairo_rel_line_to (cr, -0.2, -0.2); 23 | cairo_close_path (cr); 24 | 25 | cairo_set_source_rgb (cr, 0, 0, 1); 26 | cairo_fill_preserve (cr); 27 | cairo_set_source_rgb (cr, 0, 0, 0); 28 | cairo_stroke (cr); 29 | } 30 | 31 | static this() 32 | { 33 | snippets_hash["fill_and_stroke2"] = &snippet_fill_and_stroke2; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/gradient.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.gradient; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_gradient(cairo_t* cr, int width, int height) 12 | { 13 | cairo_pattern_t *pat; 14 | 15 | pat = cairo_pattern_create_linear (0.0, 0.0, 0.0, 1.0); 16 | { 17 | scope(exit) cairo_pattern_destroy(pat); 18 | cairo_pattern_add_color_stop_rgba (pat, 1, 0, 0, 0, 1); 19 | cairo_pattern_add_color_stop_rgba (pat, 0, 1, 1, 1, 1); 20 | cairo_rectangle (cr, 0, 0, 1, 1); 21 | cairo_set_source (cr, pat); 22 | cairo_fill (cr); 23 | } 24 | 25 | pat = cairo_pattern_create_radial (0.45, 0.4, 0.1, 26 | 0.4, 0.4, 0.5); 27 | { 28 | scope(exit) cairo_pattern_destroy(pat); 29 | cairo_pattern_add_color_stop_rgba (pat, 0, 1, 1, 1, 1); 30 | cairo_pattern_add_color_stop_rgba (pat, 1, 0, 0, 0, 1); 31 | cairo_set_source (cr, pat); 32 | cairo_arc (cr, 0.5, 0.5, 0.3, 0, 2 * PI); 33 | cairo_fill (cr); 34 | } 35 | } 36 | 37 | static this() 38 | { 39 | snippets_hash["gradient"] = &snippet_gradient; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/image.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.image; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import cairo.png.cairo_png; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_image(cairo_t* cr, int width, int height) 13 | { 14 | int w, h; 15 | cairo_surface_t *image; 16 | 17 | image = cairo_image_surface_create_from_png ("data/romedalen.png"); 18 | scope(exit) cairo_surface_destroy(image); 19 | 20 | w = cairo_image_surface_get_width (image); 21 | h = cairo_image_surface_get_height (image); 22 | 23 | cairo_translate (cr, 0.5, 0.5); 24 | cairo_rotate (cr, 45* PI/180); 25 | cairo_scale (cr, 1.0/w, 1.0/h); 26 | cairo_translate (cr, -0.5*w, -0.5*h); 27 | 28 | cairo_set_source_surface (cr, image, 0, 0); 29 | cairo_paint (cr); 30 | } 31 | 32 | static this() 33 | { 34 | snippets_hash["image"] = &snippet_image; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/imagepattern.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.imagepattern; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import cairo.png.cairo_png; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_imagepattern(cairo_t* cr, int width, int height) 13 | { 14 | int w, h; 15 | cairo_surface_t *image; 16 | cairo_pattern_t *pattern; 17 | cairo_matrix_t matrix; 18 | 19 | image = cairo_image_surface_create_from_png ("data/romedalen.png"); 20 | scope(exit) cairo_surface_destroy(image); 21 | 22 | w = cairo_image_surface_get_width (image); 23 | h = cairo_image_surface_get_height (image); 24 | 25 | pattern = cairo_pattern_create_for_surface (image); 26 | scope(exit) cairo_pattern_destroy(pattern); 27 | 28 | cairo_pattern_set_extend (pattern, cairo_extend_t.CAIRO_EXTEND_REPEAT); 29 | 30 | cairo_translate (cr, 0.5, 0.5); 31 | cairo_rotate (cr, PI / 4); 32 | cairo_scale (cr, 1 / sqrt (2.), 1 / sqrt (2.)); 33 | cairo_translate (cr, - 0.5, - 0.5); 34 | 35 | cairo_matrix_init_scale (&matrix, w * 5., h * 5.); 36 | cairo_pattern_set_matrix (pattern, &matrix); 37 | 38 | cairo_set_source (cr, pattern); 39 | 40 | cairo_rectangle (cr, 0, 0, 1.0, 1.0); 41 | cairo_fill (cr); 42 | } 43 | 44 | static this() 45 | { 46 | snippets_hash["imagepattern"] = &snippet_imagepattern; 47 | } 48 | 49 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/path.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.path; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_path(cairo_t* cr, int width, int height) 12 | { 13 | cairo_move_to(cr, 0.5, 0.1); 14 | cairo_line_to(cr, 0.9, 0.9); 15 | cairo_rel_line_to(cr, -0.4, 0.0); 16 | cairo_curve_to(cr, 0.2, 0.9, 0.2, 0.5, 0.5, 0.5); 17 | 18 | cairo_stroke(cr); 19 | } 20 | 21 | static this() 22 | { 23 | snippets_hash["path"] = &snippet_path; 24 | } 25 | 26 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/set_line_cap.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.set_line_cap; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_set_line_cap(cairo_t* cr, int width, int height) 12 | { 13 | cairo_set_line_width (cr, 0.12); 14 | cairo_set_line_cap (cr, cairo_line_cap_t.CAIRO_LINE_CAP_BUTT); /* default */ 15 | cairo_move_to (cr, 0.25, 0.2); cairo_line_to (cr, 0.25, 0.8); 16 | cairo_stroke (cr); 17 | cairo_set_line_cap (cr, cairo_line_cap_t.CAIRO_LINE_CAP_ROUND); 18 | cairo_move_to (cr, 0.5, 0.2); cairo_line_to (cr, 0.5, 0.8); 19 | cairo_stroke (cr); 20 | cairo_set_line_cap (cr, cairo_line_cap_t.CAIRO_LINE_CAP_SQUARE); 21 | cairo_move_to (cr, 0.75, 0.2); cairo_line_to (cr, 0.75, 0.8); 22 | cairo_stroke (cr); 23 | 24 | /* draw helping lines */ 25 | cairo_set_source_rgb (cr, 1,0.2,0.2); 26 | cairo_set_line_width (cr, 0.01); 27 | cairo_move_to (cr, 0.25, 0.2); cairo_line_to (cr, 0.25, 0.8); 28 | cairo_move_to (cr, 0.5, 0.2); cairo_line_to (cr, 0.5, 0.8); 29 | cairo_move_to (cr, 0.75, 0.2); cairo_line_to (cr, 0.75, 0.8); 30 | cairo_stroke (cr); 31 | } 32 | 33 | static this() 34 | { 35 | snippets_hash["set_line_cap"] = &snippet_set_line_cap; 36 | } 37 | 38 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/set_line_join.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.set_line_join; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_set_line_join(cairo_t* cr, int width, int height) 12 | { 13 | cairo_set_line_width (cr, 0.16); 14 | cairo_move_to (cr, 0.3, 0.33); 15 | cairo_rel_line_to (cr, 0.2, -0.2); 16 | cairo_rel_line_to (cr, 0.2, 0.2); 17 | cairo_set_line_join (cr, cairo_line_join_t.CAIRO_LINE_JOIN_MITER); /* default */ 18 | cairo_stroke (cr); 19 | 20 | cairo_move_to (cr, 0.3, 0.63); 21 | cairo_rel_line_to (cr, 0.2, -0.2); 22 | cairo_rel_line_to (cr, 0.2, 0.2); 23 | cairo_set_line_join (cr, cairo_line_join_t.CAIRO_LINE_JOIN_BEVEL); 24 | cairo_stroke (cr); 25 | 26 | cairo_move_to (cr, 0.3, 0.93); 27 | cairo_rel_line_to (cr, 0.2, -0.2); 28 | cairo_rel_line_to (cr, 0.2, 0.2); 29 | cairo_set_line_join (cr, cairo_line_join_t.CAIRO_LINE_JOIN_ROUND); 30 | cairo_stroke (cr); 31 | } 32 | 33 | static this() 34 | { 35 | snippets_hash["set_line_join"] = &snippet_set_line_join; 36 | } 37 | 38 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/text.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.text; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairo.cairo; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_text(cairo_t* cr, int width, int height) 12 | { 13 | cairo_select_font_face (cr, "Sans", 14 | cairo_font_slant_t.CAIRO_FONT_SLANT_NORMAL, 15 | cairo_font_weight_t.CAIRO_FONT_WEIGHT_BOLD); 16 | cairo_set_font_size (cr, 0.35); 17 | 18 | cairo_move_to (cr, 0.04, 0.53); 19 | cairo_show_text (cr, "Hello"); 20 | 21 | cairo_move_to (cr, 0.27, 0.65); 22 | cairo_text_path (cr, "void"); 23 | cairo_set_source_rgb (cr, 0.5, 0.5, 1); 24 | cairo_fill_preserve (cr); 25 | cairo_set_source_rgb (cr, 0, 0, 0); 26 | cairo_set_line_width (cr, 0.01); 27 | cairo_stroke (cr); 28 | 29 | /* draw helping lines */ 30 | cairo_set_source_rgba (cr, 1,0.2,0.2, 0.6); 31 | cairo_arc (cr, 0.04, 0.53, 0.02, 0, 2*PI); 32 | cairo_arc (cr, 0.27, 0.65, 0.02, 0, 2*PI); 33 | cairo_fill (cr); 34 | } 35 | 36 | static this() 37 | { 38 | snippets_hash["text"] = &snippet_text; 39 | } 40 | 41 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/text_align_center.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.text_align_center; 3 | 4 | private 5 | { 6 | import std.math; 7 | import std.string; 8 | import cairo.cairo; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_text_align_center(cairo_t* cr, int width, int height) 13 | { 14 | cairo_text_extents_t extents; 15 | 16 | char[] utf8 = "cairo"; 17 | double x,y; 18 | 19 | cairo_select_font_face (cr, "Sans", 20 | cairo_font_slant_t.CAIRO_FONT_SLANT_NORMAL, 21 | cairo_font_weight_t.CAIRO_FONT_WEIGHT_NORMAL); 22 | 23 | cairo_set_font_size (cr, 0.2); 24 | cairo_text_extents (cr, toStringz(utf8), &extents); 25 | x = 0.5-(extents.width/2 + extents.x_bearing); 26 | y = 0.5-(extents.height/2 + extents.y_bearing); 27 | 28 | cairo_move_to (cr, x, y); 29 | cairo_show_text (cr, toStringz(utf8)); 30 | 31 | /* draw helping lines */ 32 | cairo_set_source_rgba (cr, 1,0.2,0.2, 0.6); 33 | cairo_arc (cr, x, y, 0.05, 0, 2*PI); 34 | cairo_fill (cr); 35 | cairo_move_to (cr, 0.5, 0); 36 | cairo_rel_line_to (cr, 0, 1); 37 | cairo_move_to (cr, 0, 0.5); 38 | cairo_rel_line_to (cr, 1, 0); 39 | cairo_stroke (cr); 40 | } 41 | 42 | static this() 43 | { 44 | snippets_hash["text_align_center"] = &snippet_text_align_center; 45 | } 46 | 47 | -------------------------------------------------------------------------------- /cairo/cairo_snippets/snippets/text_extents.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.text_extents; 3 | 4 | private 5 | { 6 | import std.math; 7 | import std.string; 8 | import cairo.cairo; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_text_extents(cairo_t* cr, int width, int height) 13 | { 14 | cairo_text_extents_t extents; 15 | 16 | char[] utf8 = "cairo"; 17 | double x,y; 18 | 19 | cairo_select_font_face (cr, "Sans", 20 | cairo_font_slant_t.CAIRO_FONT_SLANT_NORMAL, 21 | cairo_font_weight_t.CAIRO_FONT_WEIGHT_NORMAL); 22 | 23 | cairo_set_font_size (cr, 0.4); 24 | cairo_text_extents (cr, toStringz(utf8), &extents); 25 | 26 | x=0.1; 27 | y=0.6; 28 | 29 | cairo_move_to (cr, x,y); 30 | cairo_show_text (cr, toStringz(utf8)); 31 | 32 | /* draw helping lines */ 33 | cairo_set_source_rgba (cr, 1,0.2,0.2, 0.6); 34 | cairo_arc (cr, x, y, 0.05, 0, 2*PI); 35 | cairo_fill (cr); 36 | cairo_move_to (cr, x,y); 37 | cairo_rel_line_to (cr, 0, -extents.height); 38 | cairo_rel_line_to (cr, extents.width, 0); 39 | cairo_rel_line_to (cr, extents.x_bearing, -extents.y_bearing); 40 | cairo_stroke (cr); 41 | } 42 | 43 | static this() 44 | { 45 | snippets_hash["text_extents"] = &snippet_text_extents; 46 | } 47 | 48 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/cairooo_snippets_png_run.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | mkdir output 2>NUL 3 | build -cleanup -release -I.. cairooo_snippets_png && cairooo_snippets_png 4 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/cairooo_snippets_png_run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -d output ]; then 4 | mkdir output 5 | fi 6 | 7 | build -cleanup -release -I.. cairooo_snippets_png && ./cairooo_snippets_png 8 | 9 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/data/README.rst: -------------------------------------------------------------------------------- 1 | 2 | The following files were obtained from the cairo project's CVS directory: 3 | 4 | * romedalen.png 5 | 6 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/data/romedalen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/cairo/cairooo_snippets/data/romedalen.png -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/all.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.all; 3 | 4 | import snippets.common; 5 | 6 | import snippets.arc; 7 | import snippets.arc_negative; 8 | import snippets.clip; 9 | import snippets.clip_image; 10 | import snippets.curve_rectangle; 11 | import snippets.curve_to; 12 | import snippets.fill_and_stroke2; 13 | import snippets.fill_and_stroke; 14 | import snippets.gradient; 15 | import snippets.image; 16 | import snippets.imagepattern; 17 | import snippets.path; 18 | //import snippets.pattern_fill; 19 | import snippets.set_line_cap; 20 | import snippets.set_line_join; 21 | import snippets.text; 22 | import snippets.text_align_center; 23 | import snippets.text_extents; 24 | 25 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/arc.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.arc; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_arc(Context cr, int width, int height) 12 | { 13 | double xc = 0.5; 14 | double yc = 0.5; 15 | double radius = 0.4; 16 | double angle1 = 45.0 * (PI/180.0); 17 | double angle2 = 180.0 * (PI/180.0); 18 | 19 | cr.arc(xc, yc, radius, angle1, angle2); 20 | cr.stroke(); 21 | 22 | // draw helping lines 23 | cr.setSourceRGBA(1, 0.2, 0.2, 0.6); 24 | cr.arc(xc, yc, 0.05, 0, 2*PI); 25 | cr.fill(); 26 | cr.lineWidth = 0.03; 27 | cr.arc(xc, yc, radius, angle1, angle1); 28 | cr.lineTo(xc, yc); 29 | cr.arc(xc, yc, radius, angle2, angle2); 30 | cr.lineTo(xc, yc); 31 | cr.stroke(); 32 | } 33 | 34 | static this() 35 | { 36 | snippets_hash["arc"] = &snippet_arc; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/arc_negative.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.arc_negative; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_arc_negative(Context cr, int width, int height) 12 | { 13 | double xc = 0.5; 14 | double yc = 0.5; 15 | double radius = 0.4; 16 | double angle1 = 45.0 * (PI/180.0); 17 | double angle2 = 180.0 * (PI/180.0); 18 | 19 | cr.arcNegative(xc, yc, radius, angle1, angle2); 20 | cr.stroke(); 21 | 22 | // draw helping lines 23 | cr.setSourceRGBA(1, 0.2, 0.2, 0.6); 24 | cr.arc(xc, yc, 0.05, 0, 2*PI); 25 | cr.fill(); 26 | cr.lineWidth = 0.03; 27 | cr.arc(xc, yc, radius, angle1, angle1); 28 | cr.lineTo(xc, yc); 29 | cr.arc(xc, yc, radius, angle2, angle2); 30 | cr.lineTo(xc, yc); 31 | cr.stroke(); 32 | } 33 | 34 | static this() 35 | { 36 | snippets_hash["arc_negative"] = &snippet_arc_negative; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/clip.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.clip; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_clip(Context cr, int width, int height) 12 | { 13 | cr.arc(0.5, 0.5, 0.3, 0, 2*PI); 14 | cr.clip(); 15 | 16 | cr.newPath(); // current path is not consumed by Context.clip() 17 | cr.rectangle(0, 0, 1, 1); 18 | cr.fill(); 19 | cr.setSourceRGB(0, 1, 0); 20 | cr.moveTo(0, 0); 21 | cr.lineTo(1, 1); 22 | cr.moveTo(1, 0); 23 | cr.lineTo(0, 1); 24 | cr.stroke(); 25 | } 26 | 27 | static this() 28 | { 29 | snippets_hash["clip"] = &snippet_clip; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/clip_image.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.clip_image; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import cairooo.png.all; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_clip_image(Context cr, int width, int height) 13 | { 14 | cr.arc(0.5, 0.5, 0.3, 0, 2*PI); 15 | cr.clip(); 16 | cr.newPath(); // path not consumed by Context.clip() 17 | 18 | // We use 'auto' to ensure that the surface is destroyed when we leave 19 | // this scope. 20 | auto PNGSurface image = new PNGSurface("data/romedalen.png"); 21 | 22 | cr.scale(1.0/image.width, 1.0/image.height); 23 | 24 | cr.setSource(image, 0, 0); 25 | cr.paint(); 26 | } 27 | 28 | static this() 29 | { 30 | snippets_hash["clip_image"] = &snippet_clip_image; 31 | } 32 | 33 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/common.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.common; 3 | 4 | private import cairooo.all; 5 | 6 | // Type for our callbacks 7 | alias void function(Context cr, int width, int height) snippet_fn; 8 | 9 | // Registry of snippets 10 | snippet_fn[char[]] snippets_hash; 11 | 12 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/curve_to.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.curve_to; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_curve_to(Context cr, int width, int height) 12 | { 13 | double x=0.1, y=0.5; 14 | double x1=0.4, y1=0.9, 15 | x2=0.6, y2=0.1, 16 | x3=0.9, y3=0.5; 17 | 18 | cr.moveTo(x, y); 19 | cr.curveTo(x1, y1, x2, y2, x3, y3); 20 | cr.stroke(); 21 | 22 | cr.setSourceRGBA(1, 0.2, 0.2, 0.6); 23 | cr.lineWidth = 0.03; 24 | cr.moveTo(x, y); cr.lineTo(x1, y1); 25 | cr.moveTo(x2, y2); cr.lineTo(x3, y3); 26 | cr.stroke(); 27 | } 28 | 29 | static this() 30 | { 31 | snippets_hash["curve_to"] = &snippet_curve_to; 32 | } 33 | 34 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/fill_and_stroke.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.fill_and_stroke; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_fill_and_stroke(Context cr, int width, int height) 12 | { 13 | cr.moveTo(0.5, 0.1); 14 | cr.lineTo(0.9, 0.9); 15 | cr.relLineTo(-0.4, 0.0); 16 | cr.curveTo(0.2, 0.9, 0.2, 0.5, 0.5, 0.5); 17 | cr.closePath(); 18 | 19 | cr.setSourceRGB(0, 0, 1); 20 | cr.fillPreserve(); 21 | cr.setSourceRGB(0, 0, 0); 22 | cr.stroke(); 23 | } 24 | 25 | static this() 26 | { 27 | snippets_hash["fill_and_stroke"] = &snippet_fill_and_stroke; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/fill_and_stroke2.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.fill_and_stroke2; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_fill_and_stroke2(Context cr, int width, int height) 12 | { 13 | cr.moveTo(0.5, 0.1); 14 | cr.lineTo(0.9, 0.9); 15 | cr.relLineTo(-0.4, 0.0); 16 | cr.curveTo(0.2, 0.9, 0.2, 0.5, 0.5, 0.5); 17 | cr.closePath(); 18 | 19 | cr.moveTo(0.25, 0.1); 20 | cr.relLineTo(0.2, 0.2); 21 | cr.relLineTo(-0.2, 0.2); 22 | cr.relLineTo(-0.2, -0.2); 23 | cr.closePath(); 24 | 25 | cr.setSourceRGB(0, 0, 1); 26 | cr.fillPreserve(); 27 | cr.setSourceRGB(0, 0, 0); 28 | cr.stroke(); 29 | } 30 | 31 | static this() 32 | { 33 | snippets_hash["fill_and_stroke2"] = &snippet_fill_and_stroke2; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/gradient.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.gradient; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_gradient(Context cr, int width, int height) 12 | { 13 | { 14 | auto Gradient pat = LinearGradient.create(0.0, 0.0, 0.0, 1.0); 15 | pat.addColorStopRGBA(1, 0, 0, 0, 1); 16 | pat.addColorStopRGBA(0, 1, 1, 1, 1); 17 | cr.rectangle(0, 0, 1, 1); 18 | cr.setSource(pat); 19 | cr.fill(); 20 | } 21 | { 22 | auto Gradient pat = RadialGradient.create(0.45, 0.4, 0.1, 23 | 0.4, 0.4, 0.5); 24 | pat.addColorStopRGBA(0, 1, 1, 1, 1); 25 | pat.addColorStopRGBA(1, 0, 0, 0, 1); 26 | cr.setSource(pat); 27 | cr.arc(0.5, 0.5, 0.3, 0, 2*PI); 28 | cr.fill(); 29 | } 30 | } 31 | 32 | static this() 33 | { 34 | snippets_hash["gradient"] = &snippet_gradient; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/image.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.image; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import cairooo.png.all; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_image(Context cr, int width, int height) 13 | { 14 | auto PNGSurface image = new PNGSurface("data/romedalen.png"); 15 | 16 | int w = image.width; 17 | int h = image.height; 18 | 19 | cr.translate(0.5, 0.5); 20 | cr.rotate(45*PI/180); 21 | cr.scale(1.0/w, 1.0/h); 22 | cr.translate(-0.5*w, -0.5*h); 23 | 24 | cr.setSource(image, 0, 0); 25 | cr.paint(); 26 | } 27 | 28 | static this() 29 | { 30 | snippets_hash["image"] = &snippet_image; 31 | } 32 | 33 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/imagepattern.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.imagepattern; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import cairooo.png.all; 9 | import snippets.common; 10 | } 11 | 12 | void snippet_imagepattern(Context cr, int width, int height) 13 | { 14 | auto PNGSurface image = new PNGSurface("data/romedalen.png"); 15 | int w = image.width; 16 | int h = image.height; 17 | 18 | auto SurfacePattern pattern = SurfacePattern.create(image); 19 | pattern.extend = Extend.Repeat; 20 | pattern.matrix = Matrix.initScale(w*5, h*5); 21 | 22 | cr.translate(0.5, 0.5); 23 | cr.rotate(PI/4); 24 | cr.scale(1/sqrt(2.), 1/sqrt(2.)); 25 | cr.translate(-0.5, -0.5); 26 | 27 | cr.setSource(pattern); 28 | 29 | cr.rectangle(0, 0, 1.0, 1.0); 30 | cr.fill(); 31 | } 32 | 33 | static this() 34 | { 35 | snippets_hash["imagepattern"] = &snippet_imagepattern; 36 | } 37 | 38 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/path.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.path; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_path(Context cr, int width, int height) 12 | { 13 | cr.moveTo(0.5, 0.1); 14 | cr.lineTo(0.9, 0.9); 15 | cr.relLineTo(-0.4, 0.0); 16 | cr.curveTo(0.2, 0.9, 0.2, 0.5, 0.5, 0.5); 17 | 18 | cr.stroke(); 19 | } 20 | 21 | static this() 22 | { 23 | snippets_hash["path"] = &snippet_path; 24 | } 25 | 26 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/set_line_cap.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.set_line_cap; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_set_line_cap(Context cr, int width, int height) 12 | { 13 | cr.lineWidth = 0.12; 14 | cr.lineCap = LineCap.Butt; 15 | cr.moveTo(0.25, 0.2); cr.lineTo(0.25, 0.8); 16 | cr.stroke(); 17 | cr.lineCap = LineCap.Round; 18 | cr.moveTo(0.5, 0.2); cr.lineTo(0.5, 0.8); 19 | cr.stroke(); 20 | cr.lineCap = LineCap.Square; 21 | cr.moveTo(0.75, 0.2); cr.lineTo(0.75, 0.8); 22 | cr.stroke(); 23 | 24 | // draw helping lines 25 | cr.setSourceRGB(1, 0.2, 0.2); 26 | cr.lineWidth = 0.01; 27 | cr.moveTo(0.25, 0.2); cr.lineTo(0.25, 0.8); 28 | cr.moveTo(0.5, 0.2); cr.lineTo(0.5, 0.8); 29 | cr.moveTo(0.75, 0.2); cr.lineTo(0.75, 0.8); 30 | cr.stroke(); 31 | } 32 | 33 | static this() 34 | { 35 | snippets_hash["set_line_cap"] = &snippet_set_line_cap; 36 | } 37 | 38 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/set_line_join.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.set_line_join; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_set_line_join(Context cr, int width, int height) 12 | { 13 | void drawShape(double y) 14 | { 15 | cr.moveTo(0.3, y); 16 | cr.relLineTo(0.2, -0.2); 17 | cr.relLineTo(0.2, 0.2); 18 | } 19 | 20 | cr.lineWidth = 0.16; 21 | drawShape(0.33); 22 | cr.lineJoin = LineJoin.Miter; 23 | cr.stroke(); 24 | 25 | drawShape(0.63); 26 | cr.lineJoin = LineJoin.Bevel; 27 | cr.stroke(); 28 | 29 | drawShape(0.93); 30 | cr.lineJoin = LineJoin.Round; 31 | cr.stroke(); 32 | } 33 | 34 | static this() 35 | { 36 | snippets_hash["set_line_join"] = &snippet_set_line_join; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/text.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.text; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_text(Context cr, int width, int height) 12 | { 13 | cr.selectFontFace("Sans", FontSlant.Normal, FontWeight.Bold); 14 | cr.setFontSize(0.35); 15 | 16 | cr.moveTo(0.04, 0.53); 17 | cr.showText("Hello"); 18 | 19 | cr.moveTo(0.27, 0.65); 20 | cr.textPath("void"); 21 | cr.setSourceRGB(0.5, 0.5, 1); 22 | cr.fillPreserve(); 23 | cr.setSourceRGB(0, 0, 0); 24 | cr.lineWidth = 0.01; 25 | cr.stroke(); 26 | 27 | // draw helping lines 28 | cr.setSourceRGBA(1, 0.2, 0.2, 0.6); 29 | cr.arc(0.04, 0.53, 0.02, 0, 2*PI); 30 | cr.arc(0.27, 0.65, 0.02, 0, 2*PI); 31 | cr.fill(); 32 | } 33 | 34 | static this() 35 | { 36 | snippets_hash["text"] = &snippet_text; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/text_align_center.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.text_align_center; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_text_align_center(Context cr, int width, int height) 12 | { 13 | TextExtents extents; 14 | auto utf8 = "cairo"c; 15 | double x, y; 16 | 17 | cr.selectFontFace("Sans", FontSlant.Normal, FontWeight.Normal); 18 | cr.setFontSize(0.2); 19 | extents = cr.textExtents(utf8); 20 | x = 0.5 - (extents.width/2 + extents.xBearing); 21 | y = 0.5 - (extents.height/2 + extents.yBearing); 22 | 23 | cr.moveTo(x, y); 24 | cr.showText(utf8); 25 | 26 | // draw helping lines 27 | cr.setSourceRGBA(1, 0.2, 0.2, 0.6); 28 | cr.arc(x, y, 0.05, 0, 2*PI); 29 | cr.fill(); 30 | cr.moveTo(0.5, 0); 31 | cr.relLineTo(0, 1); 32 | cr.moveTo(0, 0.5); 33 | cr.relLineTo(1, 0); 34 | cr.stroke(); 35 | } 36 | 37 | static this() 38 | { 39 | snippets_hash["text_align_center"] = &snippet_text_align_center; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /cairo/cairooo_snippets/snippets/text_extents.d: -------------------------------------------------------------------------------- 1 | 2 | module snippets.text_extents; 3 | 4 | private 5 | { 6 | import std.math; 7 | import cairooo.all; 8 | import snippets.common; 9 | } 10 | 11 | void snippet_text_extents(Context cr, int width, int height) 12 | { 13 | TextExtents extents; 14 | char[] utf8 = "cairo"; 15 | double x, y; 16 | 17 | cr.selectFontFace("Sans", FontSlant.Normal, FontWeight.Normal); 18 | cr.setFontSize(0.4); 19 | extents = cr.textExtents(utf8); 20 | 21 | x = 0.1; y = 0.6; 22 | 23 | cr.moveTo(x, y); 24 | cr.showText(utf8); 25 | 26 | // draw helping lines 27 | cr.setSourceRGBA(1, 0.2, 0.2, 0.6); 28 | cr.arc(x, y, 0.05, 0, 2*PI); 29 | cr.fill(); 30 | cr.moveTo(x, y); 31 | cr.relLineTo(0, -extents.height); 32 | cr.relLineTo(extents.width, 0); 33 | cr.relLineTo(extents.xBearing, -extents.yBearing); 34 | cr.stroke(); 35 | } 36 | 37 | static this() 38 | { 39 | snippets_hash["text_extents"] = &snippet_text_extents; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /cairo/cairooo_tutorial/lesson01/lesson01.linux.brf: -------------------------------------------------------------------------------- 1 | # Builds lesson 01 using Derek Parnell's build tool. 2 | 3 | # Set the include path so we can find the cairooo binding. 4 | -I../.. 5 | 6 | # Build in release mode 7 | -release 8 | 9 | # Get rid of intermediate files (cuts down on clutter) 10 | -clean 11 | 12 | # Set the executable name 13 | -oflesson01 14 | 15 | lesson01.d 16 | -------------------------------------------------------------------------------- /cairo/cairooo_tutorial/lesson01/lesson01.win32.brf: -------------------------------------------------------------------------------- 1 | # Builds lesson 01 using Derek Parnell's build tool. 2 | 3 | # Set the include path so we can find the cairooo binding. 4 | -I..\.. 5 | 6 | # Build in release mode 7 | -release 8 | 9 | # Get rid of intermediate files (cuts down on clutter) 10 | -clean 11 | 12 | # Set the executable name 13 | -oflesson01 14 | 15 | lesson01.d 16 | -------------------------------------------------------------------------------- /cairo/cairooo_tutorial/lesson02/lesson02.linux.brf: -------------------------------------------------------------------------------- 1 | # Builds lesson 02 using Derek Parnell's build tool. 2 | 3 | # Set the include path so we can find the cairooo binding. 4 | -I../.. 5 | 6 | # Build in release mode 7 | -release 8 | 9 | # Get rid of intermediate files (cuts down on clutter) 10 | -clean 11 | 12 | # Set the executable name 13 | -oflesson02 14 | 15 | lesson02.d 16 | -------------------------------------------------------------------------------- /cairo/cairooo_tutorial/lesson02/lesson02.win32.brf: -------------------------------------------------------------------------------- 1 | # Builds lesson 02 using Derek Parnell's build tool. 2 | 3 | # Set the include path so we can find the cairooo binding. 4 | -I..\.. 5 | 6 | # Build in release mode 7 | -release 8 | 9 | # Get rid of intermediate files (cuts down on clutter) 10 | -clean 11 | 12 | # Set the executable name 13 | -oflesson02 14 | 15 | lesson02.d 16 | -------------------------------------------------------------------------------- /cairo/cairooo_tutorial/lesson03/lesson03.linux.brf: -------------------------------------------------------------------------------- 1 | # Builds lesson 03 using Derek Parnell's build tool. 2 | 3 | # Set the include path so we can find the cairooo binding. 4 | -I../.. 5 | 6 | # Build in release mode 7 | -release 8 | 9 | # Get rid of intermediate files (cuts down on clutter) 10 | -clean 11 | 12 | # Set the executable name 13 | -oflesson03 14 | 15 | lesson03.d 16 | -------------------------------------------------------------------------------- /cairo/cairooo_tutorial/lesson03/lesson03.win32.brf: -------------------------------------------------------------------------------- 1 | # Builds lesson 03 using Derek Parnell's build tool. 2 | 3 | # Set the include path so we can find the cairooo binding. 4 | -I..\.. 5 | 6 | # Build in release mode 7 | -release 8 | 9 | # Get rid of intermediate files (cuts down on clutter) 10 | -clean 11 | 12 | # Set the executable name 13 | -oflesson03 14 | 15 | lesson03.d 16 | -------------------------------------------------------------------------------- /cairo/demos/dlogo/README.rst: -------------------------------------------------------------------------------- 1 | 2 | D Logo Demo 3 | =========== 4 | 5 | This demo outputs the D logo designed by FunkyM in your choice of red, blue, 6 | greyscale and monochrome. At time of writing, this is in *no way* the 7 | offficial logo: just a proposed one that I happened to rather like. 8 | 9 | To compile the program, use the provided build .brf file for your operating 10 | system. You can also specify the colour you would like to have the logo 11 | rendered in. 12 | 13 | Examples: 14 | 15 | * `build @dlogo.win32.brf` — outputs a red logo 16 | * `build @dlogo.linux.brf` — as above, but for Linux users 17 | * `build -version=Blue @logo.win32.brf` — renders logo in blue 18 | * `build -version=Grey @logo.win32.brf` — renders logo in greyscale 19 | * `build -version=Mono @logo.win32.brf` — renders logo in monochrome 20 | 21 | -------------------------------------------------------------------------------- /cairo/demos/dlogo/dlogo.linux.brf: -------------------------------------------------------------------------------- 1 | # Builds lesson 06 using Derek Parnell's build tool. 2 | 3 | # Set the include path so we can find the cairooo binding. 4 | -I../.. 5 | 6 | # Build in release mode 7 | -release 8 | -inline 9 | -O 10 | 11 | # Get rid of intermediate files (cuts down on clutter) 12 | -clean 13 | 14 | # Set the executable name 15 | -ofdlogo 16 | 17 | dlogo.d 18 | -------------------------------------------------------------------------------- /cairo/demos/dlogo/dlogo.win32.brf: -------------------------------------------------------------------------------- 1 | 2 | -I..\.. 3 | 4 | -release 5 | -inline 6 | -O 7 | 8 | -clean 9 | 10 | -ofdlogo 11 | 12 | dlogo.d 13 | -------------------------------------------------------------------------------- /def/odbc32.def: -------------------------------------------------------------------------------- 1 | LIBRARY odbc32 2 | EXETYPE NT 3 | SUBSYSTEM WINDOWS 4 | EXPORTS 5 | _SQLAllocEnv@4 = SQLAllocEnv 6 | _SQLAllocConnect@8 = SQLAllocConnect 7 | _SQLAllocHandle@12 = SQLAllocHandle 8 | _SQLColAttribute@28 = SQLColAttribute 9 | _SQLConnect@28 = SQLConnect 10 | _SQLDisconnect@4 = SQLDisconnect 11 | _SQLDriverConnect@32 = SQLDriverConnect 12 | _SQLExecDirect@16 = SQLExecDirect 13 | _SQLFetch@4 = SQLFetch 14 | _SQLFreeConnect@4 = SQLFreeConnect 15 | _SQLFreeEnv@4 = SQLFreeEnv 16 | _SQLFreeStmt@8 = SQLFreeStmt 17 | _SQLGetData@28 = SQLGetData 18 | _SQLGetInfo@20 = SQLGetInfo 19 | _SQLNumResultCols@8 = SQLNumResultCols 20 | _SQLSetConnectOption@12 = SQLSetConnectOption 21 | _SQLSetStmtOption@12 = SQLSetStmtOption 22 | -------------------------------------------------------------------------------- /def/readme.txt: -------------------------------------------------------------------------------- 1 | Export definiton files for win32 dll -> dmd interfacing: 2 | 3 | Use in the same way you would use an implib for linking into your application: 4 | 5 | dmd -ofmyprogram.exe myprog.obj win32lib.def 6 | 7 | 8 | 9 | You can use a .def to create a .lib (using DM's implib): 10 | 11 | implib shell32.lib shell32.def 12 | 13 | 14 | -------------------------------------------------------------------------------- /def/version.def: -------------------------------------------------------------------------------- 1 | LIBRARY version 2 | EXETYPE NT 3 | SUBSYSTEM WINDOWS 4 | EXPORTS 5 | _VerFindFileA@32 = VerFindFileA 6 | _VerQueryValueA@16 = VerQueryValueA 7 | _VerInstallFileA@32 = VerInstallFileA 8 | _GetFileVersionInfoSizeA@8 = GetFileVersionInfoSizeA 9 | _GetFileVersionInfoA@16 = GetFileVersionInfoA 10 | _VerLanguageNameA@12 = VerLanguageNameA 11 | _VerFindFileW@32 = VerFindFileW 12 | _VerQueryValueW@16 = VerQueryValueW 13 | _VerInstallFileW@32 = VerInstallFileW 14 | _GetFileVersionInfoSizeW@8 = GetFileVersionInfoSizeW 15 | _GetFileVersionInfoW@16 = GetFileVersionInfoW 16 | _VerLanguageNameW@12 = VerLanguageNameW 17 | -------------------------------------------------------------------------------- /freetype/DerelictFT.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/DerelictFT.zip -------------------------------------------------------------------------------- /freetype/doc/CHANGES.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/doc/CHANGES.txt -------------------------------------------------------------------------------- /freetype/doc/DI-Freetype2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/doc/DI-Freetype2.pdf -------------------------------------------------------------------------------- /freetype/doc/FTL.TXT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/doc/FTL.TXT -------------------------------------------------------------------------------- /freetype/doc/PATENTS.txt: -------------------------------------------------------------------------------- 1 | 2 | FreeType Patents Disclaimer 3 | August 1999 4 | 5 | 6 | 7 | WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE 8 | RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF 9 | FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER 10 | COUNTRIES, BE IT IN PROPRIETARY OR FREE SOFTWARE PRODUCTS. 11 | 12 | FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE 13 | PATENTS PAGE AT THE FOLLOWING WEB ADDRESS: 14 | 15 | http://www.freetype.org/patents.html 16 | 17 | WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL 18 | UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE 19 | CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR 20 | ANSWER ON THE SUBJECT. 21 | 22 | PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S 23 | BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE 24 | COST OF RENDERING QUALITY. 25 | 26 | 27 | --- end of PATENTS --- 28 | -------------------------------------------------------------------------------- /freetype/doc/modules.txt: -------------------------------------------------------------------------------- 1 | This file shows the interdependencies of various FreeType modules. 2 | 3 | Note that the use of `psnames' can be controlled in ftconfig.h 4 | (FT_CONFIG_OPTION_POSTSCRIPT_NAMES). 5 | 6 | module dependency 7 | --------------------------------------- 8 | cff sfnt, pshinter, psnames 9 | cid psaux, pshinter, psnames 10 | truetype sfnt 11 | type1 psaux, pshinter, psnames 12 | type42 truetype 13 | psaux psnames 14 | sfnt psnames 15 | 16 | ------------------------------------------------------------------------ 17 | 18 | Copyright 2001, 2002 by 19 | David Turner, Robert Wilhelm, and Werner Lemberg. 20 | 21 | This file is part of the FreeType project, and may only be used, 22 | modified, and distributed under the terms of the FreeType project 23 | license, LICENSE.TXT. By continuing to use, modify, or distribute this 24 | file you indicate that you have read the license and understand and 25 | accept it fully. 26 | 27 | 28 | --- end of modules.txt --- 29 | -------------------------------------------------------------------------------- /freetype/doc/raster.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/doc/raster.txt -------------------------------------------------------------------------------- /freetype/examples/AirCut.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/examples/AirCut.ttf -------------------------------------------------------------------------------- /freetype/examples/Tahoma.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/examples/Tahoma.ttf -------------------------------------------------------------------------------- /freetype/examples/Trebuchet.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/examples/Trebuchet.ttf -------------------------------------------------------------------------------- /freetype/examples/ftest.d: -------------------------------------------------------------------------------- 1 | module ftest; 2 | 3 | import freetype.ft; 4 | import std.stdio; 5 | 6 | void main() 7 | { 8 | writefln("done"); 9 | } -------------------------------------------------------------------------------- /freetype/lib/freetype.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/freetype/lib/freetype.dll -------------------------------------------------------------------------------- /gl/_glextern.d: -------------------------------------------------------------------------------- 1 | module c.gl._glextern; 2 | 3 | /* 4 | * Semi-necessary hack. Don't directly import this file. 5 | */ 6 | 7 | version (Windows) { 8 | } else { 9 | // I don't really know if it's a good idea... But here it goes: 10 | extern (C) GLvoid* glutStrokeRoman; 11 | extern (C) GLvoid* glutStrokeMonoRoman; 12 | extern (C) GLvoid* glutBitmap9By15; 13 | extern (C) GLvoid* glutBitmap8By13; 14 | extern (C) GLvoid* glutBitmapTimesRoman10; 15 | extern (C) GLvoid* glutBitmapTimesRoman24; 16 | extern (C) GLvoid* glutBitmapHelvetica10; 17 | extern (C) GLvoid* glutBitmapHelvetica12; 18 | extern (C) GLvoid* glutBitmapHelvetica18; 19 | } -------------------------------------------------------------------------------- /gl/_types.d: -------------------------------------------------------------------------------- 1 | module c.gl._types; 2 | /* 3 | * Types 4 | */ 5 | alias uint GLenum; 6 | alias ubyte GLboolean; 7 | alias uint GLbitfield; 8 | alias void GLvoid; 9 | alias byte GLbyte; 10 | alias short GLshort; 11 | alias int GLint; 12 | alias ubyte GLubyte; 13 | alias ushort GLushort; 14 | alias uint GLuint; 15 | alias int GLsizei; 16 | alias float GLfloat; 17 | alias float GLclampf; 18 | alias double GLdouble; 19 | alias double GLclampd; 20 | alias char GLchar; 21 | alias ptrdiff_t GLintptr; 22 | alias ptrdiff_t GLsizeiptr; 23 | -------------------------------------------------------------------------------- /gmp/dsss.conf: -------------------------------------------------------------------------------- 1 | 2 | [gmptest.d] 3 | target=gmptest 4 | ebuildflags=-O -release -inline 5 | buildflags=-g -debug libgmp.lib gmp.d 6 | 7 | [squareroot.d] 8 | buildflags=-g -debug libgmp.lib gmp.d 9 | -------------------------------------------------------------------------------- /gmp/gmptest.d: -------------------------------------------------------------------------------- 1 | 2 | //import gmpheadertest; 3 | import gmp; 4 | import std.c.stdlib; 5 | import std.stdio; 6 | import std.string; 7 | void main() 8 | { 9 | mpf_t a; 10 | mpf_init(&a); 11 | mpf_init2 (&a, 32); 12 | mpf_set_ui (&a, 4444); 13 | mp_exp_t expptr; 14 | char * curres=cast(char*) malloc(40); 15 | if (mpf_cmp_ui (&a, 1)>0) 16 | { 17 | printf(">1 yes"); 18 | } 19 | if (mpf_cmp_ui (&a, 2)>0) 20 | { 21 | printf(">2 yes"); 22 | } 23 | if (mpf_cmp_ui (&a, 2)==0) 24 | { 25 | printf("==2 yes"); 26 | } 27 | writefln("xx"); 28 | mpf_get_str (curres, &expptr, 10, 0, &a); 29 | 30 | writefln(toString(curres)); 31 | } 32 | -------------------------------------------------------------------------------- /gmp/libgmp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/gmp/libgmp.lib -------------------------------------------------------------------------------- /gmp/readme.txt: -------------------------------------------------------------------------------- 1 | These are the bindings and the static library for GMP 4.2 on Windows(The GNU MP Bignum Library) 2 | See gmplib.org/ 3 | 4 | This is in alpha state. All functions that have been tried seem to work. (8 out of many) 5 | 6 | 7 | Files: 8 | gmp.h -original header file for gmp used for translation 9 | gmp.d -bindings/header for D , very similar to C interface 10 | gmpp.d - object oriented interface to mpf (floating point numbers) See examples inside gmpp.d 11 | libgmp.lib -static gmp lib made by gcc & objconv (http://agner.org/optimize/#objconv)(coff to omf library converter) 12 | squareroot.d - example calculates square root of 2 13 | gmptest.d - another example. 14 | dsss.conf - it is possible to build the whole thing throught dsss build 15 | 16 | 17 | State: 18 | No known errors at the moment. Many functions has not been tested. 19 | 20 | Header file gmp.d: 21 | It is not complete. It does not contain the low level positive-integer (i.e. N) routines and inlines. For most purposes, what is done should be enough. 22 | 23 | Object oriented interface to mpf (floating point numbers) gmpp.d 24 | 25 | It supports easier way to add/multiply/divide and other operations. 26 | e.g. c=((a+b)*e.sqrt).abs+4; 27 | writefln(c); 28 | Precision can be set by precision variable. 29 | E.g. precision=600; // bits 30 | a= new mpf(); 31 | a=a*2; 32 | -------------------------------------------------------------------------------- /graphicsmagick/example1/dsss.conf: -------------------------------------------------------------------------------- 1 | name = d_gmagick 2 | 3 | [main.d] 4 | target = program 5 | 6 | version(darwin) { 7 | buildflags = -version=Tango -version=Posix 8 | #buildflags += -L`GraphicsMagick-config --cppflags --ldflags --libs` 9 | buildflags += -I/opt/local/include/GraphicsMagick 10 | buildflags += -I../ 11 | buildflags += -L-L/opt/local/lib -L-lGraphicsMagick 12 | buildflags += -L-ltiff -L-lfreetype -L-ljpeg -L-lpng 13 | buildflags += -L-lbz2 -L-lxml2 -L-lz -L-lm -L-lpthread -L-lltdl 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /graphicsmagick/magick/globals.d: -------------------------------------------------------------------------------- 1 | module magick.globals; 2 | 3 | align(1): 4 | 5 | const MagickSignature = 0xabacadabU; 6 | //C #define MagickPassFail unsigned int 7 | alias uint MagickPassFail; 8 | //C #define MagickPass 1 9 | //C #define MagickFail 0 10 | const MagickPass = 1; 11 | 12 | const MagickFail = 0; 13 | //C #define MagickBool unsigned int 14 | alias uint MagickBool; 15 | //C #define MagickTrue 1 16 | //C #define MagickFalse 0 17 | const MagickTrue = 1; 18 | 19 | const MagickFalse = 0; 20 | 21 | 22 | const MaxTextExtent = 2053; 23 | 24 | -------------------------------------------------------------------------------- /graphicsmagick/magick/magick.d: -------------------------------------------------------------------------------- 1 | module magick.magick; 2 | 3 | align(1): 4 | 5 | extern (C) 6 | { 7 | void DestroyMagick(); 8 | void InitializeMagick(char* path); 9 | } 10 | 11 | public void InitializeMagick(char[][] args) 12 | { 13 | char** argv = (new char*[args.length]).ptr; 14 | int argc = 0; 15 | foreach (char[] p; args) 16 | { 17 | argv[argc++] = cast(char*)p; 18 | } 19 | 20 | //InitializeMagick(&argc,&argv); 21 | InitializeMagick(*argv);//GM only needs argv. 22 | } -------------------------------------------------------------------------------- /graphicsmagick/magick/pixel_cache.d: -------------------------------------------------------------------------------- 1 | module magick.pixel_cache; 2 | 3 | import magick.image; 4 | import magick.error; 5 | 6 | align(1): 7 | 8 | /* 9 | Enum declaractions. 10 | */ 11 | 12 | enum 13 | { 14 | UndefinedVirtualPixelMethod, 15 | ConstantVirtualPixelMethod, 16 | EdgeVirtualPixelMethod, 17 | MirrorVirtualPixelMethod, 18 | TileVirtualPixelMethod 19 | } 20 | alias int VirtualPixelMethod; 21 | 22 | extern (C) 23 | { 24 | /***** 25 | * 26 | * Default View interfaces 27 | * 28 | *****/ 29 | 30 | /* 31 | Read only access to a rectangular pixel region. 32 | */ 33 | PixelPacket* AcquireImagePixels(Image* image, int x, int y, 34 | uint columns, 35 | uint rows, ExceptionInfo* exception); 36 | } 37 | 38 | -------------------------------------------------------------------------------- /graphicsmagick/magick/resize.d: -------------------------------------------------------------------------------- 1 | module magick.resize; 2 | 3 | import magick.image; 4 | import magick.error; 5 | 6 | align(1): 7 | 8 | extern (C) 9 | { 10 | //alias LanczosFilter DefaultResizeFilter; 11 | 12 | Image* MagnifyImage(Image*, ExceptionInfo* ); 13 | Image* MinifyImage(Image*, ExceptionInfo* ); 14 | Image* ResizeImage(Image*, uint, uint, FilterTypes, double, ExceptionInfo* ); 15 | Image* SampleImage(Image*, uint, uint, ExceptionInfo* ); 16 | Image* ScaleImage(Image*, uint, uint, ExceptionInfo* ); 17 | Image* ThumbnailImage(Image*, uint, uint, ExceptionInfo * ); 18 | Image* ZoomImage(Image*, uint, uint, ExceptionInfo* ); 19 | 20 | } 21 | 22 | -------------------------------------------------------------------------------- /graphicsmagick/readme.txt: -------------------------------------------------------------------------------- 1 | These are the D bindings for GraphicsMagick. They are currently incomplete. 2 | http://www.graphicsmagick.org/ 3 | 4 | The bindings are in the public domain. 5 | GraphicsMagick licences can be seen in http://www.graphicsmagick.org/Copyright.html 6 | 7 | -------------------------------------------------------------------------------- /gsl/CHANGELOG: -------------------------------------------------------------------------------- 1 | 2007-06-16 truemped.dsource@hence22.org 2 | 3 | [1] First working version. Some Testing functions have been added and they 4 | run. Most of the functions still need to be tested though! 5 | -------------------------------------------------------------------------------- /gsl/dsss.conf: -------------------------------------------------------------------------------- 1 | name = gsl 2 | version = 0.1 3 | 4 | [*] 5 | buildflags = -g 6 | 7 | [gsl] 8 | type = library 9 | target = gsl 10 | 11 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_block.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_block.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_block; 5 | 6 | public import gsl.gsl_block_complex_long_double; 7 | 8 | public import gsl.gsl_block_complex_double; 9 | 10 | public import gsl.gsl_block_complex_float; 11 | 12 | public import gsl.gsl_block_long_double; 13 | 14 | public import gsl.gsl_block_double; 15 | 16 | public import gsl.gsl_block_float; 17 | 18 | public import gsl.gsl_block_ulong; 19 | 20 | public import gsl.gsl_block_long; 21 | 22 | public import gsl.gsl_block_uint; 23 | 24 | public import gsl.gsl_block_int; 25 | 26 | public import gsl.gsl_block_ushort; 27 | 28 | public import gsl.gsl_block_short; 29 | 30 | public import gsl.gsl_block_uchar; 31 | 32 | public import gsl.gsl_block_char; 33 | 34 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_check_range.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_check_range.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_check_range; 5 | /* vector/gsl_check_range.h 6 | * 7 | * Copyright (C) 2003, 2004 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_types; 27 | 28 | extern (C): 29 | extern int gsl_check_range; 30 | 31 | /* Turn range checking on by default, unless the user defines 32 | GSL_RANGE_CHECK_OFF, or defines GSL_RANGE_CHECK to 0 explicitly */ 33 | 34 | const GSL_RANGE_CHECK = 1; 35 | 36 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_const.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_const.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_const; 5 | /* const/gsl_const.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | public import gsl.gsl_const_num; 25 | 26 | public import gsl.gsl_const_cgs; 27 | 28 | public import gsl.gsl_const_mks; 29 | 30 | public import gsl.gsl_const_cgsm; 31 | 32 | public import gsl.gsl_const_mksa; 33 | 34 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_const_cgs.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_const_cgs.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_const_cgs; 5 | /* const/gsl_const_cgs.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 8 | * 2006 Brian Gough 9 | * 10 | * This program is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or (at 13 | * your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, but 16 | * WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with this program; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_const_cgsm.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_const_cgsm.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_const_cgsm; 5 | /* const/gsl_const_cgsm.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 8 | * 2006 Brian Gough 9 | * 10 | * This program is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or (at 13 | * your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, but 16 | * WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with this program; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_const_mks.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_const_mks.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_const_mks; 5 | /* const/gsl_const_mks.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 8 | * 2006 Brian Gough 9 | * 10 | * This program is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or (at 13 | * your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, but 16 | * WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with this program; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_const_mksa.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_const_mksa.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_const_mksa; 5 | /* const/gsl_const_mksa.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 8 | * 2006 Brian Gough 9 | * 10 | * This program is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or (at 13 | * your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, but 16 | * WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with this program; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_const_num.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_const_num.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_const_num; 5 | /* const/gsl_const_num.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 8 | * 2006 Brian Gough 9 | * 10 | * This program is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or (at 13 | * your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, but 16 | * WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with this program; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_deriv.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_deriv.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_deriv; 5 | /* deriv/gsl_deriv.h 6 | * 7 | * Copyright (C) 2000 David Morrison 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | public import gsl.gsl_math; 25 | 26 | extern (C): 27 | int gsl_deriv_central(gsl_function *f, double x, double h, double *result, double *abserr); 28 | 29 | int gsl_deriv_backward(gsl_function *f, double x, double h, double *result, double *abserr); 30 | 31 | int gsl_deriv_forward(gsl_function *f, double x, double h, double *result, double *abserr); 32 | 33 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_diff.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_diff.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_diff; 5 | /* diff/gsl_diff.h 6 | * 7 | * Copyright (C) 2000 David Morrison 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | public import gsl.gsl_math; 25 | 26 | extern (C): 27 | int gsl_diff_central(gsl_function *f, double x, double *result, double *abserr); 28 | 29 | int gsl_diff_backward(gsl_function *f, double x, double *result, double *abserr); 30 | 31 | int gsl_diff_forward(gsl_function *f, double x, double *result, double *abserr); 32 | 33 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_fft.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_fft.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_fft; 5 | /* fft/gsl_fft.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | public import gsl.gsl_complex; 25 | 26 | extern (C): 27 | enum 28 | { 29 | forward = -1, 30 | backward = 1, 31 | gsl_fft_forward = -1, 32 | gsl_fft_backward = 1, 33 | } 34 | alias int gsl_fft_direction; 35 | 36 | /* this gives the sign in the formula 37 | 38 | h(f) = \sum x(t) exp(+/- 2 pi i f t) 39 | 40 | where - is the forward transform direction and + the inverse direction */ 41 | 42 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_heapsort.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_heapsort.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_heapsort; 5 | /* sort/gsl_heapsort.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Thomas Walter, Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | public import gsl.gsl_permutation; 25 | 26 | extern (C): 27 | alias int function(void *, void *)gsl_comparison_fn_t; 28 | 29 | void gsl_heapsort(void *array, size_t count, size_t size, gsl_comparison_fn_t compare); 30 | 31 | int gsl_heapsort_index(size_t *p, void *array, size_t count, size_t size, gsl_comparison_fn_t compare); 32 | 33 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_matrix.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_matrix.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_matrix; 5 | 6 | public import gsl.gsl_matrix_complex_long_double; 7 | 8 | public import gsl.gsl_matrix_complex_double; 9 | 10 | public import gsl.gsl_matrix_complex_float; 11 | 12 | public import gsl.gsl_matrix_long_double; 13 | 14 | public import gsl.gsl_matrix_double; 15 | 16 | public import gsl.gsl_matrix_float; 17 | 18 | public import gsl.gsl_matrix_ulong; 19 | 20 | public import gsl.gsl_matrix_long; 21 | 22 | public import gsl.gsl_matrix_uint; 23 | 24 | public import gsl.gsl_matrix_int; 25 | 26 | public import gsl.gsl_matrix_ushort; 27 | 28 | public import gsl.gsl_matrix_short; 29 | 30 | public import gsl.gsl_matrix_uchar; 31 | 32 | public import gsl.gsl_matrix_char; 33 | 34 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_nan.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_nan.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_nan; 5 | /* gsl_nan.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman, Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute; 5 | 6 | public import gsl.gsl_permute_complex_long_double; 7 | 8 | public import gsl.gsl_permute_complex_double; 9 | 10 | public import gsl.gsl_permute_complex_float; 11 | 12 | public import gsl.gsl_permute_long_double; 13 | 14 | public import gsl.gsl_permute_double; 15 | 16 | public import gsl.gsl_permute_float; 17 | 18 | public import gsl.gsl_permute_ulong; 19 | 20 | public import gsl.gsl_permute_long; 21 | 22 | public import gsl.gsl_permute_uint; 23 | 24 | public import gsl.gsl_permute_int; 25 | 26 | public import gsl.gsl_permute_ushort; 27 | 28 | public import gsl.gsl_permute_short; 29 | 30 | public import gsl.gsl_permute_uchar; 31 | 32 | public import gsl.gsl_permute_char; 33 | 34 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_char.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_char.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_char; 5 | /* permutation/gsl_permute_char.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_char(size_t *p, char *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_char_inverse(size_t *p, char *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_complex_double.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_complex_double.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_complex_double; 5 | /* permutation/gsl_permute_complex_double.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_complex; 29 | 30 | public import gsl.gsl_permutation; 31 | 32 | extern (C): 33 | int gsl_permute_complex(size_t *p, double *data, size_t stride, size_t n); 34 | 35 | int gsl_permute_complex_inverse(size_t *p, double *data, size_t stride, size_t n); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_complex_float.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_complex_float.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_complex_float; 5 | /* permutation/gsl_permute_complex_float.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_complex; 29 | 30 | public import gsl.gsl_permutation; 31 | 32 | extern (C): 33 | int gsl_permute_complex_float(size_t *p, float *data, size_t stride, size_t n); 34 | 35 | int gsl_permute_complex_float_inverse(size_t *p, float *data, size_t stride, size_t n); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_complex_long_double.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_complex_long_double.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_complex_long_double; 5 | /* permutation/gsl_permute_complex_long_double.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_complex; 29 | 30 | public import gsl.gsl_permutation; 31 | 32 | extern (C): 33 | int gsl_permute_complex_long_double(size_t *p, real *data, size_t stride, size_t n); 34 | 35 | int gsl_permute_complex_long_double_inverse(size_t *p, real *data, size_t stride, size_t n); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_double.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_double.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_double; 5 | /* permutation/gsl_permute_double.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute(size_t *p, double *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_inverse(size_t *p, double *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_float.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_float.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_float; 5 | /* permutation/gsl_permute_float.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_float(size_t *p, float *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_float_inverse(size_t *p, float *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_int.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_int.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_int; 5 | /* permutation/gsl_permute_int.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_int(size_t *p, int *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_int_inverse(size_t *p, int *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_long.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_long.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_long; 5 | /* permutation/gsl_permute_long.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_long(size_t *p, int *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_long_inverse(size_t *p, int *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_long_double.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_long_double.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_long_double; 5 | /* permutation/gsl_permute_long_double.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_long_double(size_t *p, real *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_long_double_inverse(size_t *p, real *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_short.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_short.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_short; 5 | /* permutation/gsl_permute_short.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_short(size_t *p, short *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_short_inverse(size_t *p, short *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_uchar.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_uchar.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_uchar; 5 | /* permutation/gsl_permute_uchar.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_uchar(size_t *p, ubyte *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_uchar_inverse(size_t *p, ubyte *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_uint.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_uint.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_uint; 5 | /* permutation/gsl_permute_uint.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_uint(size_t *p, uint *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_uint_inverse(size_t *p, uint *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_ulong.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_ulong.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_ulong; 5 | /* permutation/gsl_permute_ulong.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_ulong(size_t *p, uint *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_ulong_inverse(size_t *p, uint *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_ushort.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_ushort.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_ushort; 5 | /* permutation/gsl_permute_ushort.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | extern (C): 31 | int gsl_permute_ushort(size_t *p, ushort *data, size_t stride, size_t n); 32 | 33 | int gsl_permute_ushort_inverse(size_t *p, ushort *data, size_t stride, size_t n); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector; 5 | 6 | public import gsl.gsl_permute_vector_complex_long_double; 7 | 8 | public import gsl.gsl_permute_vector_complex_double; 9 | 10 | public import gsl.gsl_permute_vector_complex_float; 11 | 12 | public import gsl.gsl_permute_vector_long_double; 13 | 14 | public import gsl.gsl_permute_vector_double; 15 | 16 | public import gsl.gsl_permute_vector_float; 17 | 18 | public import gsl.gsl_permute_vector_ulong; 19 | 20 | public import gsl.gsl_permute_vector_long; 21 | 22 | public import gsl.gsl_permute_vector_uint; 23 | 24 | public import gsl.gsl_permute_vector_int; 25 | 26 | public import gsl.gsl_permute_vector_ushort; 27 | 28 | public import gsl.gsl_permute_vector_short; 29 | 30 | public import gsl.gsl_permute_vector_uchar; 31 | 32 | public import gsl.gsl_permute_vector_char; 33 | 34 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_char.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_char.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_char; 5 | /* permutation/gsl_permute_vector_char.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_char; 31 | 32 | extern (C): 33 | int gsl_permute_vector_char(gsl_permutation *p, gsl_vector_char *v); 34 | 35 | int gsl_permute_vector_char_inverse(gsl_permutation *p, gsl_vector_char *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_complex_double.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_complex_double.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_complex_double; 5 | /* permutation/gsl_permute_vector_complex_double.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_complex_double; 31 | 32 | extern (C): 33 | int gsl_permute_vector_complex(gsl_permutation *p, gsl_vector_complex *v); 34 | 35 | int gsl_permute_vector_complex_inverse(gsl_permutation *p, gsl_vector_complex *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_double.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_double.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_double; 5 | /* permutation/gsl_permute_vector_double.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_double; 31 | 32 | extern (C): 33 | int gsl_permute_vector(gsl_permutation *p, gsl_vector *v); 34 | 35 | int gsl_permute_vector_inverse(gsl_permutation *p, gsl_vector *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_float.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_float.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_float; 5 | /* permutation/gsl_permute_vector_float.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_float; 31 | 32 | extern (C): 33 | int gsl_permute_vector_float(gsl_permutation *p, gsl_vector_float *v); 34 | 35 | int gsl_permute_vector_float_inverse(gsl_permutation *p, gsl_vector_float *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_int.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_int.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_int; 5 | /* permutation/gsl_permute_vector_int.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_int; 31 | 32 | extern (C): 33 | int gsl_permute_vector_int(gsl_permutation *p, gsl_vector_int *v); 34 | 35 | int gsl_permute_vector_int_inverse(gsl_permutation *p, gsl_vector_int *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_long.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_long.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_long; 5 | /* permutation/gsl_permute_vector_long.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_long; 31 | 32 | extern (C): 33 | int gsl_permute_vector_long(gsl_permutation *p, gsl_vector_long *v); 34 | 35 | int gsl_permute_vector_long_inverse(gsl_permutation *p, gsl_vector_long *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_long_double.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_long_double.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_long_double; 5 | /* permutation/gsl_permute_vector_long_double.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_long_double; 31 | 32 | extern (C): 33 | int gsl_permute_vector_long_double(gsl_permutation *p, gsl_vector_long_double *v); 34 | 35 | int gsl_permute_vector_long_double_inverse(gsl_permutation *p, gsl_vector_long_double *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_short.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_short.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_short; 5 | /* permutation/gsl_permute_vector_short.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_short; 31 | 32 | extern (C): 33 | int gsl_permute_vector_short(gsl_permutation *p, gsl_vector_short *v); 34 | 35 | int gsl_permute_vector_short_inverse(gsl_permutation *p, gsl_vector_short *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_uchar.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_uchar.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_uchar; 5 | /* permutation/gsl_permute_vector_uchar.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_uchar; 31 | 32 | extern (C): 33 | int gsl_permute_vector_uchar(gsl_permutation *p, gsl_vector_uchar *v); 34 | 35 | int gsl_permute_vector_uchar_inverse(gsl_permutation *p, gsl_vector_uchar *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_uint.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_uint.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_uint; 5 | /* permutation/gsl_permute_vector_uint.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_uint; 31 | 32 | extern (C): 33 | int gsl_permute_vector_uint(gsl_permutation *p, gsl_vector_uint *v); 34 | 35 | int gsl_permute_vector_uint_inverse(gsl_permutation *p, gsl_vector_uint *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_ulong.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_ulong.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_ulong; 5 | /* permutation/gsl_permute_vector_ulong.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_ulong; 31 | 32 | extern (C): 33 | int gsl_permute_vector_ulong(gsl_permutation *p, gsl_vector_ulong *v); 34 | 35 | int gsl_permute_vector_ulong_inverse(gsl_permutation *p, gsl_vector_ulong *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_permute_vector_ushort.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_permute_vector_ushort.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_permute_vector_ushort; 5 | /* permutation/gsl_permute_vector_ushort.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | import tango.stdc.stdlib; 25 | 26 | public import gsl.gsl_errno; 27 | 28 | public import gsl.gsl_permutation; 29 | 30 | public import gsl.gsl_vector_ushort; 31 | 32 | extern (C): 33 | int gsl_permute_vector_ushort(gsl_permutation *p, gsl_vector_ushort *v); 34 | 35 | int gsl_permute_vector_ushort_inverse(gsl_permutation *p, gsl_vector_ushort *v); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_pow_int.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_pow_int.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_pow_int; 5 | /* gsl_pow_int.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Gerard Jungman, Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | extern (C): 25 | double gsl_pow_2(double x); 26 | 27 | double gsl_pow_3(double x); 28 | 29 | double gsl_pow_4(double x); 30 | 31 | double gsl_pow_5(double x); 32 | 33 | double gsl_pow_6(double x); 34 | 35 | double gsl_pow_7(double x); 36 | 37 | double gsl_pow_8(double x); 38 | 39 | double gsl_pow_9(double x); 40 | 41 | double gsl_pow_int(double x, int n); 42 | 43 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_sf.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_sf.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_sf; 5 | /* Author: G. Jungman */ 6 | 7 | public import gsl.gsl_sf_result; 8 | 9 | public import gsl.gsl_sf_airy; 10 | 11 | public import gsl.gsl_sf_bessel; 12 | 13 | public import gsl.gsl_sf_clausen; 14 | 15 | public import gsl.gsl_sf_coupling; 16 | 17 | public import gsl.gsl_sf_coulomb; 18 | 19 | public import gsl.gsl_sf_dawson; 20 | 21 | public import gsl.gsl_sf_debye; 22 | 23 | public import gsl.gsl_sf_dilog; 24 | 25 | public import gsl.gsl_sf_elementary; 26 | 27 | public import gsl.gsl_sf_ellint; 28 | 29 | public import gsl.gsl_sf_elljac; 30 | 31 | public import gsl.gsl_sf_erf; 32 | 33 | public import gsl.gsl_sf_exp; 34 | 35 | public import gsl.gsl_sf_expint; 36 | 37 | public import gsl.gsl_sf_fermi_dirac; 38 | 39 | public import gsl.gsl_sf_gamma; 40 | 41 | public import gsl.gsl_sf_gegenbauer; 42 | 43 | public import gsl.gsl_sf_hyperg; 44 | 45 | public import gsl.gsl_sf_laguerre; 46 | 47 | public import gsl.gsl_sf_lambert; 48 | 49 | public import gsl.gsl_sf_legendre; 50 | 51 | public import gsl.gsl_sf_log; 52 | 53 | public import gsl.gsl_sf_pow_int; 54 | 55 | public import gsl.gsl_sf_psi; 56 | 57 | public import gsl.gsl_sf_synchrotron; 58 | 59 | public import gsl.gsl_sf_transport; 60 | 61 | public import gsl.gsl_sf_trig; 62 | 63 | public import gsl.gsl_sf_zeta; 64 | 65 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_sf_clausen.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_sf_clausen.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_sf_clausen; 5 | /* specfunc/gsl_sf_clausen.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | /* Author: G. Jungman */ 25 | 26 | public import gsl.gsl_sf_result; 27 | 28 | /* Calculate the Clausen integral: 29 | * Cl_2(x) := Integrate[-Log[2 Sin[t/2]], {t,0,x}] 30 | * 31 | * Relation to dilogarithm: 32 | * Cl_2(theta) = Im[ Li_2(e^(i theta)) ] 33 | */ 34 | 35 | extern (C): 36 | int gsl_sf_clausen_e(double x, gsl_sf_result *result); 37 | 38 | double gsl_sf_clausen(double x); 39 | 40 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_sf_dawson.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_sf_dawson.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_sf_dawson; 5 | /* specfunc/gsl_sf_dawson.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | /* Author: G. Jungman */ 25 | 26 | public import gsl.gsl_sf_result; 27 | 28 | /* Dawson's integral: 29 | * 30 | * Exp[-x^2] Integral[ Exp[t^2], {t,0,x}] 31 | * 32 | * exceptions: GSL_EUNDRFLW; 33 | */ 34 | 35 | extern (C): 36 | int gsl_sf_dawson_e(double x, gsl_sf_result *result); 37 | 38 | double gsl_sf_dawson(double x); 39 | 40 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_sf_elljac.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_sf_elljac.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_sf_elljac; 5 | /* specfunc/gsl_sf_elljac.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | /* Author: G. Jungman */ 25 | 26 | /* Jacobian elliptic functions sn, dn, cn, 27 | * by descending Landen transformations 28 | * 29 | * exceptions: GSL_EDOM 30 | */ 31 | 32 | extern (C): 33 | int gsl_sf_elljac_e(double u, double m, double *sn, double *cn, double *dn); 34 | 35 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_sf_pow_int.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_sf_pow_int.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_sf_pow_int; 5 | /* specfunc/gsl_sf_pow_int.h 6 | * 7 | * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | /* Author: G. Jungman */ 25 | 26 | public import gsl.gsl_sf_result; 27 | 28 | /* Calculate x^n. 29 | * Does not check for overflow/underflow. 30 | */ 31 | 32 | extern (C): 33 | int gsl_sf_pow_int_e(double x, int n, gsl_sf_result *result); 34 | 35 | double gsl_sf_pow_int(double x, int n); 36 | 37 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_sort.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_sort.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_sort; 5 | 6 | public import gsl.gsl_sort_long_double; 7 | 8 | public import gsl.gsl_sort_double; 9 | 10 | public import gsl.gsl_sort_float; 11 | 12 | public import gsl.gsl_sort_ulong; 13 | 14 | public import gsl.gsl_sort_long; 15 | 16 | public import gsl.gsl_sort_uint; 17 | 18 | public import gsl.gsl_sort_int; 19 | 20 | public import gsl.gsl_sort_ushort; 21 | 22 | public import gsl.gsl_sort_short; 23 | 24 | public import gsl.gsl_sort_uchar; 25 | 26 | public import gsl.gsl_sort_char; 27 | 28 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_sort_vector.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_sort_vector.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_sort_vector; 5 | 6 | public import gsl.gsl_sort_vector_long_double; 7 | 8 | public import gsl.gsl_sort_vector_double; 9 | 10 | public import gsl.gsl_sort_vector_float; 11 | 12 | public import gsl.gsl_sort_vector_ulong; 13 | 14 | public import gsl.gsl_sort_vector_long; 15 | 16 | public import gsl.gsl_sort_vector_uint; 17 | 18 | public import gsl.gsl_sort_vector_int; 19 | 20 | public import gsl.gsl_sort_vector_ushort; 21 | 22 | public import gsl.gsl_sort_vector_short; 23 | 24 | public import gsl.gsl_sort_vector_uchar; 25 | 26 | public import gsl.gsl_sort_vector_char; 27 | 28 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_specfunc.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_specfunc.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_specfunc; 5 | /* Author: G. Jungman */ 6 | 7 | 8 | /* Convenience header */ 9 | 10 | public import gsl.gsl_sf; 11 | 12 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_statistics.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_statistics.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_statistics; 5 | 6 | public import gsl.gsl_statistics_long_double; 7 | 8 | public import gsl.gsl_statistics_double; 9 | 10 | public import gsl.gsl_statistics_float; 11 | 12 | public import gsl.gsl_statistics_ulong; 13 | 14 | public import gsl.gsl_statistics_long; 15 | 16 | public import gsl.gsl_statistics_uint; 17 | 18 | public import gsl.gsl_statistics_int; 19 | 20 | public import gsl.gsl_statistics_ushort; 21 | 22 | public import gsl.gsl_statistics_short; 23 | 24 | public import gsl.gsl_statistics_uchar; 25 | 26 | public import gsl.gsl_statistics_char; 27 | 28 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_types.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_types.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_types; 5 | /* gsl_types.h 6 | * 7 | * Copyright (C) 2001 Brian Gough 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | //alias GSL_VAR extern; 25 | 26 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_vector.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_vector.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_vector; 5 | 6 | public import gsl.gsl_vector_complex_long_double; 7 | 8 | public import gsl.gsl_vector_complex_double; 9 | 10 | public import gsl.gsl_vector_complex_float; 11 | 12 | public import gsl.gsl_vector_long_double; 13 | 14 | public import gsl.gsl_vector_double; 15 | 16 | public import gsl.gsl_vector_float; 17 | 18 | public import gsl.gsl_vector_ulong; 19 | 20 | public import gsl.gsl_vector_long; 21 | 22 | public import gsl.gsl_vector_uint; 23 | 24 | public import gsl.gsl_vector_int; 25 | 26 | public import gsl.gsl_vector_ushort; 27 | 28 | public import gsl.gsl_vector_short; 29 | 30 | public import gsl.gsl_vector_uchar; 31 | 32 | public import gsl.gsl_vector_char; 33 | 34 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_vector_complex.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_vector_complex.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_vector_complex; 5 | 6 | -------------------------------------------------------------------------------- /gsl/gsl/gsl_version.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from gsl_version.h by htod 2 | * and edited by daniel truemper hence22.org> 3 | */ 4 | module gsl.gsl_version; 5 | 6 | public import gsl.gsl_types; 7 | 8 | extern (C): 9 | extern char *gsl_version; 10 | 11 | -------------------------------------------------------------------------------- /gsl/test/dsss.conf: -------------------------------------------------------------------------------- 1 | name = testgsl 2 | 3 | [test/main.d] 4 | target = testgsl 5 | buildflags = -L-lgsl -L-lblas 6 | -------------------------------------------------------------------------------- /gsl/test/test/linalg.d: -------------------------------------------------------------------------------- 1 | module test.linalg; 2 | 3 | import tango.stdc.stdio; 4 | 5 | import gsl.gsl_linalg; 6 | 7 | public 8 | { 9 | 10 | void test_linalg_ludecomp() 11 | { 12 | double a_data[] = [ 0.18, 0.60, 0.57, 0.96, 13 | 0.41, 0.24, 0.99, 0.58, 14 | 0.14, 0.30, 0.97, 0.66, 15 | 0.51, 0.13, 0.19, 0.85 ]; 16 | 17 | double b_data[] = [ 1.0, 2.0, 3.0, 4.0 ]; 18 | 19 | gsl_matrix_view m 20 | = gsl_matrix_view_array (cast(double*) a_data, cast(uint) 4, cast(uint) 4); 21 | 22 | gsl_vector_view b 23 | = gsl_vector_view_array (cast(double*) b_data, cast(uint) 4); 24 | 25 | gsl_vector *x = gsl_vector_alloc (4); 26 | 27 | int s; 28 | 29 | gsl_permutation * p = gsl_permutation_alloc (4); 30 | 31 | gsl_linalg_LU_decomp (&m.matrix, p, &s); 32 | 33 | gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x); 34 | 35 | printf ("x = \n"); 36 | gsl_vector_fprintf (stdout, x, "%g"); 37 | 38 | gsl_permutation_free (p); 39 | gsl_vector_free (x); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /gsl/test/test/main.d: -------------------------------------------------------------------------------- 1 | module test.main; 2 | 3 | import tango.stdc.stdio; 4 | import gsl.gsl_sf_bessel; 5 | 6 | import test.vector; 7 | import test.matrix; 8 | import test.linalg; 9 | 10 | public int main( char[][] args ) 11 | { 12 | // test_bessel(); 13 | // test_vector_error(); 14 | // test_vector_write(); 15 | // test_vector_read(); 16 | 17 | // test_matrix(); 18 | // test_matrix_read_write(); 19 | // test_matrix_vector_views(); 20 | 21 | test_linalg_ludecomp(); 22 | 23 | return 0; 24 | } 25 | 26 | void test_bessel() 27 | { 28 | double x = 5.0; 29 | double y = gsl_sf_bessel_J0( x ); 30 | printf("J0(%g) = %.18e\n", x, y); 31 | } 32 | 33 | 34 | -------------------------------------------------------------------------------- /gsl/test/test/vector.d: -------------------------------------------------------------------------------- 1 | module test.vector; 2 | 3 | import tango.stdc.stdio; 4 | 5 | import gsl.gsl_vector; 6 | 7 | public 8 | { 9 | 10 | void test_vector_error() 11 | { 12 | int i; 13 | gsl_vector * v = gsl_vector_alloc (3); 14 | 15 | for (i = 0; i < 3; i++) 16 | { 17 | gsl_vector_set (v, i, 1.23 + i); 18 | } 19 | 20 | for (i = 0; i < 100; i++) 21 | { 22 | printf ("v_%d = %g\n", i, gsl_vector_get (v, i)); 23 | } 24 | } 25 | 26 | void test_vector_write() 27 | { 28 | int i; 29 | gsl_vector * v = gsl_vector_alloc (100); 30 | 31 | for (i = 0; i < 100; i++) 32 | { 33 | gsl_vector_set (v, i, 1.23 + i); 34 | } 35 | 36 | { 37 | FILE * f = fopen ("test.dat", "w"); 38 | gsl_vector_fprintf (f, v, "%.5g"); 39 | fclose (f); 40 | } 41 | } 42 | 43 | void test_vector_read() 44 | { 45 | int i; 46 | gsl_vector * v = gsl_vector_alloc (10); 47 | 48 | { 49 | FILE * f = fopen ("test.dat", "r"); 50 | gsl_vector_fscanf (f, v); 51 | fclose (f); 52 | } 53 | 54 | for (i = 0; i < 10; i++) 55 | { 56 | printf ("%g\n", gsl_vector_get(v, i)); 57 | } 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /jack/dsss.conf: -------------------------------------------------------------------------------- 1 | name = metro_jack_example 2 | 3 | [metro.d] 4 | target = metro 5 | buildflags = -version=Tango -version=Posix 6 | buildflags += -I/usr/local/include/ 7 | buildflags += -L-ljack 8 | 9 | 10 | -------------------------------------------------------------------------------- /jack/readme.txt: -------------------------------------------------------------------------------- 1 | D bindings to Jack audio system. 2 | These are the quick and dirty D bindings to Jack. 3 | More info about Jack: http://jackaudio.org/ 4 | 5 | Created on 18th December 2010. 6 | 7 | It's a cross platform (Linux, Mac OS X, Windows, +others) audio server which is targeted at professional audio uses. It aims at the lowest latency possible, and has a "unique" system where you can hook up multiple Jack applications to each other through the main Jack server. But you can just use it to play simple audio too. For games OpenAL would propably be a better fit. 8 | 9 | I'm still not sure how the D garbage collector fits Jack's callbacks, and will it cause some latency issues and drop-outs. We'll see after it's tested in some real D application. 10 | 11 | I have only tested the basic functionality shown in the metro example. I don't even know if all the jack d modules will compile or not. They should, but might not. 12 | 13 | BINDINGS LICENCE 14 | The same as the Jack API: LGPL, or whatever the Jack API will be in the future. 15 | 16 | INSTALLING 17 | I've only tested this on Mac OS X. For OS X I installed the http://www.jackosx.com/ version 0.87 for 32 bit machines. It should contain and install everything needed. 18 | 19 | I used D1, GDC, tango 0.99.8 and DSSS. If you get a working setup you should just run: 20 | dsss build && ./metro 21 | to hear some low beeps. 22 | 23 | -------------------------------------------------------------------------------- /lib/glu32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/glu32.lib -------------------------------------------------------------------------------- /lib/odbc32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/odbc32.lib -------------------------------------------------------------------------------- /lib/opengl32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/opengl32.lib -------------------------------------------------------------------------------- /lib/rpcrt4.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/rpcrt4.lib -------------------------------------------------------------------------------- /lib/shell32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/shell32.lib -------------------------------------------------------------------------------- /lib/uuid.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/uuid.lib -------------------------------------------------------------------------------- /lib/version.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/version.lib -------------------------------------------------------------------------------- /lib/wininet.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/wininet.lib -------------------------------------------------------------------------------- /lib/winspool.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lib/winspool.lib -------------------------------------------------------------------------------- /libarchive-d/dsss.conf: -------------------------------------------------------------------------------- 1 | name=libarchive 2 | [libarchive] 3 | type=library 4 | -------------------------------------------------------------------------------- /libarchive-d/libarchive/all.d: -------------------------------------------------------------------------------- 1 | // 2 | // libarchive modules for D 3 | // Written by Anders Bergh 4 | // Released into the public domain 5 | // 6 | 7 | module libarchive.all; 8 | public import libarchive.libarchive, libarchive.entry; 9 | -------------------------------------------------------------------------------- /libarchive-d/libarchive/types.d: -------------------------------------------------------------------------------- 1 | // 2 | // libarchive modules for D 3 | // Written by Anders Bergh 4 | // Released into the public domain 5 | // 6 | 7 | module libarchive.types; 8 | 9 | // This is the only stuff that depends on Tango. If you want to use 10 | // libarchive together with Phobos, either A) alias the types yourself 11 | // or B) find the proper Phobos modules and import them here 12 | version (Tango) 13 | { 14 | version (Posix) 15 | { 16 | public import tango.stdc.posix.sys.types; 17 | public import tango.stdc.posix.sys.stat; 18 | } 19 | 20 | public import tango.stdc.stdint; 21 | } 22 | 23 | version (Posix) 24 | { 25 | } 26 | else version (Windows) 27 | { 28 | // TODO: Check these, I just did these for the ones that were missing... 29 | // I'm not really supporting Windows anyway 30 | alias int uid_t; 31 | alias int gid_t; 32 | alias int ssize_t; 33 | alias int dev_t; 34 | alias int off_t; 35 | alias int ino_t; 36 | alias int stat_t; 37 | alias int time_t; 38 | alias int mode_t; 39 | } 40 | else 41 | { 42 | static assert(0, `No support for this platform!`); 43 | } -------------------------------------------------------------------------------- /libquicktime/example/IVideoReader.d: -------------------------------------------------------------------------------- 1 | /* IVideoReader.d 2 | * 3 | * C++ version: 4 | * Copyright (C) 2005 Richard Spindler 5 | * 6 | * D version: 7 | * Copyright (C) 2008 Jonas Kivi 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 22 | */ 23 | 24 | module IVideoReader; 25 | 26 | import tango.io.Stdout; 27 | //import stringz = tango.stdc.stringz; 28 | 29 | import globals; 30 | import frame_struct; 31 | 32 | interface IVideoReader 33 | { 34 | public: 35 | //~this() {} 36 | frame_struct* getFrame( int64_t position ); 37 | frame_struct** getFrameStack( int64_t ); 38 | } 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /libquicktime/example/dsss.conf: -------------------------------------------------------------------------------- 1 | name = quicktest_d 2 | 3 | requires = gtkd gtkdgl 4 | 5 | [main.d] 6 | type = binary 7 | target = quick 8 | buildflags = -I../ -no-export-dynamic 9 | version(linux) { 10 | buildflags += -I../ 11 | buildflags += -L-lGL -L-lGLU -L-ldl 12 | buildflags += -L-lquicktime 13 | } 14 | version(Windows){ 15 | prebuild=warn Windows support is untested. 16 | buildflags+=-lladvapi32 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libquicktime/example/globals.d: -------------------------------------------------------------------------------- 1 | /* globals.d 2 | * 3 | * Copyright (C) 2008 Jonas Kivi 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | module globals; 21 | 22 | import tango.io.Stdout; 23 | 24 | const NLE_TIME_BASE = 35280000; 25 | 26 | //These might be better to define in lqt.d 27 | 28 | //Dtype : lqttype : //C type (guess) 29 | public alias long int64_t; //long long 30 | public alias ubyte uint8_t; //unsigned char 31 | public alias short int16_t; //short 32 | public alias ushort uint16_t; //unsigned short 33 | public alias int int32_t; //long 34 | public alias uint uint32_t; //unsigned long 35 | 36 | 37 | -------------------------------------------------------------------------------- /libquicktime/lqt/lqt_qvtr.d: -------------------------------------------------------------------------------- 1 | /* Converted to D from lqt_qvtr.h by htod */ 2 | module lqt_qvtr; 3 | -------------------------------------------------------------------------------- /libquicktime/readme.txt: -------------------------------------------------------------------------------- 1 | These are the D bindings for libquicktime. http://libquicktime.sourceforge.net/ 2 | It is a fast and simple, low level video decoding library that can decode many formats for Linux. It is licenced under the GPL. (You might also want to check it's "companion" libs in the Gmerlin site http://gmerlin.sourceforge.net/ especially gavl might be useful for some things. For video output you could use OpenGL and for audio output you could use portaudio which also has bindings for D.) 3 | 4 | There's an example program using Tango, dsss, gtkD and gtkDgl for making an OpenGL window. You could try to modify it for using it with derelict. (It should be pretty simple. All the things you have to change are in main.d). 5 | 6 | The following formats are used in libquicktime and I've made the aliases available in D too. The first is the new available D alias, the second is the D type which is corresponds to, and the comment is the C type that I'm quessing is the one used by the C code. 7 | 8 | alias int64_t long; //long long 9 | alias uint8_t ubyte; //unsigned char 10 | alias int16_t short; //short 11 | alias uint16_t ushort; //unsigned short 12 | alias int32_t int; //long 13 | alias uint32_t uint; //unsigned long 14 | 15 | I've no idea about this comment, but I'm keeping it here incase it means something. I quess I've removed that from somewhere: 16 | //removed: 17 | //lqt.h: 18 | //void *lqt_bufalloc(size_t size); 19 | 20 | -------------------------------------------------------------------------------- /llvm-2.6/dsss.conf: -------------------------------------------------------------------------------- 1 | defaulttargets= llvm 2 | 3 | [llvm] 4 | type= library 5 | prebuild= sh prebuild.sh 6 | postinstall= install libllvm-c-ext.a $PREFIX/lib 7 | 8 | [llvmsample1.d] 9 | buildflags = libllvm-c-ext.a -llstdc++ \ 10 | -llLLVMCore -llLLVMBitWriter -llLLVMBitReader -llLLVMAnalysis -llLLVMTarget \ 11 | -llLLVMTransformUtils -llLLVMScalarOpts -llLLVMipa -llLLVMipo \ 12 | -llLLVMInstrumentation -llLLVMSystem -llLLVMSupport -lldl 13 | 14 | [llvmsample2.d] 15 | buildflags = libllvm-c-ext.a -llstdc++ \ 16 | -llLLVMCore -llLLVMBitWriter -llLLVMBitReader -llLLVMAnalysis -llLLVMTarget \ 17 | -llLLVMTransformUtils -llLLVMScalarOpts -llLLVMipa -llLLVMipo \ 18 | -llLLVMInstrumentation -llLLVMSystem -llLLVMSupport -lldl 19 | 20 | [llvmsample3.d] 21 | buildflags = libllvm-c-ext.a -llstdc++ \ 22 | -llLLVMCore -llLLVMBitWriter -llLLVMBitReader -llLLVMAnalysis -llLLVMTarget \ 23 | -llLLVMTransformUtils -llLLVMScalarOpts -llLLVMipa -llLLVMipo \ 24 | -llLLVMInstrumentation -llLLVMSystem -llLLVMSupport -lldl 25 | 26 | [llvmsample4.d] 27 | buildflags = libllvm-c-ext.a -llstdc++ \ 28 | -llLLVMCore -llLLVMBitWriter -llLLVMBitReader -llLLVMAnalysis -llLLVMTarget \ 29 | -llLLVMTransformUtils -llLLVMScalarOpts -llLLVMipa -llLLVMipo \ 30 | -llLLVMInstrumentation -llLLVMSystem -llLLVMSupport -lldl 31 | -------------------------------------------------------------------------------- /llvm-2.6/llvm-typemonitor.cpp: -------------------------------------------------------------------------------- 1 | /// Support for callbacks when an abstract type becomes more concrete. 2 | 3 | #include "llvm/Support/Streams.h" 4 | #include "llvm/Type.h" 5 | #include "llvm-c/Core.h" 6 | 7 | using namespace llvm; 8 | 9 | extern "C" typedef int (*RefineCallback)(void *handle, LLVMTypeRef newT); 10 | 11 | class TypeMonitor : AbstractTypeUser { 12 | void *handle_; 13 | RefineCallback callback_; 14 | 15 | void onRefineType(const Type* oldT, const Type* newT) { 16 | callback_(handle_, wrap(newT)); 17 | oldT->removeAbstractTypeUser(this); 18 | delete this; 19 | } 20 | 21 | public: 22 | 23 | TypeMonitor(Type* T, void *handle, RefineCallback callback) 24 | : handle_(handle), callback_(callback) { 25 | T->addAbstractTypeUser(this); 26 | } 27 | 28 | virtual void refineAbstractType(const DerivedType *OldTy, const Type *NewTy) { 29 | onRefineType(OldTy, NewTy); 30 | } 31 | 32 | virtual void typeBecameConcrete(const DerivedType *AbsTy) { 33 | onRefineType(AbsTy, AbsTy); 34 | } 35 | 36 | virtual void dump() const { 37 | cerr << ""; 38 | } 39 | }; 40 | 41 | extern "C" void LLVMRegisterAbstractTypeCallback(LLVMTypeRef T, 42 | void *handle, 43 | RefineCallback callback) 44 | { 45 | new TypeMonitor(unwrap(T), handle, callback); 46 | } 47 | -------------------------------------------------------------------------------- /llvm-2.6/llvm/util.d: -------------------------------------------------------------------------------- 1 | // Written in the D programming language by Tomas Lindquist Olsen 2008 2 | // Binding of llvm.c.Core values for D. 3 | // 4 | // This file is distributed under the University of Illinois Open Source 5 | // License. See LICENSE.TXT for details. 6 | // 7 | module llvm.util; 8 | 9 | //we need 10 | version(Tango) { 11 | import tango.stdc.string; 12 | } 13 | else { 14 | import std.c.string; 15 | } 16 | 17 | /// 18 | char[] from_stringz(char* p) 19 | { 20 | if (p is null) 21 | return ""; 22 | return p[0..strlen(p)]; 23 | } 24 | 25 | /// 26 | char* to_stringz(char[] s) 27 | { 28 | return (s~\0).ptr; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /llvm-2.6/llvmsample1.d: -------------------------------------------------------------------------------- 1 | // simple hello world sample of D LLVM 2 | module llvmsample1; 3 | 4 | import llvm.llvm; 5 | 6 | void main() 7 | { 8 | // create module 9 | auto m = new Module("sample1"); 10 | scope(exit) m.dispose(); 11 | 12 | // declare string 13 | auto chello = ConstantArray.GetString("Hello World!\n", true); 14 | auto hello = m.addGlobal(chello.type, "hellostring"); 15 | hello.initializer = chello; 16 | hello.linkage = Linkage.Internal; 17 | hello.globalConstant = true; 18 | 19 | // declare printf 20 | auto printfType = FunctionType.Get(Type.Int32, [ PointerType.Get(Type.Int8) ], true); 21 | auto llprintf = m.addFunction(printfType, "printf"); 22 | 23 | // declare main 24 | auto mainType = FunctionType.Get(Type.Int32, null); 25 | auto llmain = m.addFunction(mainType, "main"); 26 | 27 | // create builder 28 | auto b = new Builder; 29 | scope(exit) b.dispose(); 30 | 31 | // create main body block 32 | auto bb = llmain.appendBasicBlock("entry"); 33 | b.positionAtEnd(bb); 34 | 35 | // call printf 36 | auto zero = ConstantInt.GetU(Type.Int32, 0); 37 | auto helloptr = b.buildGEP(hello, [ zero, zero ], "str"); 38 | helloptr.dump(); 39 | auto args = [ helloptr ]; 40 | auto call = b.buildCall(llprintf, args, ""); 41 | 42 | // return 0 43 | b.buildRet(ConstantInt.GetS(Type.Int32, 0)); 44 | 45 | // write bitcode 46 | m.writeBitcodeToFile("sample1.bc"); 47 | } 48 | -------------------------------------------------------------------------------- /llvm-2.6/llvmsample2.d: -------------------------------------------------------------------------------- 1 | // simple test of recursive types. 2 | module llvmsample2; 3 | 4 | import llvm.llvm; 5 | 6 | void main() 7 | { 8 | auto th = new TypeHandle(); 9 | auto s = StructType.Get([ PointerType.Get(th.resolve) ], false); 10 | th.refine(s); 11 | s.dump(); 12 | th.dispose(); 13 | 14 | auto t = getTypeOf(s.ll); 15 | t.dump(); 16 | 17 | assert(s is t); 18 | } 19 | -------------------------------------------------------------------------------- /llvm-2.6/llvmsample3.d: -------------------------------------------------------------------------------- 1 | // simple example that shows off getting D wrappers from C values. 2 | module llvmsample3; 3 | 4 | import llvm.c.Core; 5 | import llvm.llvm; 6 | 7 | void main() 8 | { 9 | auto m = new Module("sample3"); 10 | 11 | // global int32 12 | auto gi = m.addGlobal(Type.Int32, "myint"); 13 | gi.initializer = ConstantInt.GetU(Type.Int32, 42); 14 | 15 | // this is not a cached value, it's recreated dynamically 16 | auto _i = gi.initializer; 17 | auto ci = cast(ConstantInt)_i; 18 | assert(ci !is null); 19 | ci.dump; 20 | 21 | // global struct 22 | auto st = StructType.Get([Type.Double,Type.Double,Type.Double]); 23 | auto gs = m.addGlobal(st, "mystruct"); 24 | auto elems = new Constant[3]; 25 | foreach(i,ref e; elems) 26 | e = ConstantReal.Get(Type.Double, i+1); 27 | gs.initializer = ConstantStruct.Get(elems); 28 | 29 | // again this is not a cached value. 30 | auto s = gs.initializer; 31 | auto cs = cast(ConstantStruct)s; 32 | assert(cs !is null); 33 | 34 | cs.dump; 35 | } 36 | -------------------------------------------------------------------------------- /llvm-2.6/prebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | g++ llvm-ext.cpp -c `llvm-config --cxxflags` 4 | g++ llvm-opt.cpp -c `llvm-config --cxxflags` 5 | g++ llvm-typemonitor.cpp -c `llvm-config --cxxflags` 6 | 7 | rm -f libllvm-c-ext.a 8 | ar rc libllvm-c-ext.a llvm-ext.o llvm-opt.o llvm-typemonitor.o 9 | ranlib libllvm-c-ext.a 10 | -------------------------------------------------------------------------------- /llvm-2.7/README: -------------------------------------------------------------------------------- 1 | This file describes the installation and usage of the llvm bindings. 2 | 3 | Initial setup: 4 | ============== 5 | 6 | svn co http://svn.dsource.org/projects/bindings/trunk/llvm-2.7 7 | cd llvm-2.7 8 | ./prebuild.sh 9 | 10 | prebuild.sh builds Target.o and Ext.o which have to be passed 11 | to the linker. For convenience, these *.o files are also merged 12 | into a single library libllvm-c-ext.a. 13 | 14 | Target.o and Ext.o are usually not needed for the regular 15 | llvm c interface. But the D bindings add some extra bindings, 16 | because the official c interface just doesn't expose all 17 | functionality from the c++ interface. These are implemented as a 18 | "c++ to c to d" bridge (c++ to c is Target.cpp and Ext.cpp, c to 19 | d is Target.d and Ext.d). 20 | 21 | Building your application: 22 | ========================== 23 | 24 | To compile and link a file main.d, run 25 | 26 | LLVMD=/path/to/llvm-dbindings 27 | LLVM_LIBS=`llvm-config --libs | sed 's/-l/-L-l/g'` 28 | ldc -I=$LLVMD \ 29 | $LLVM_LIBS \ 30 | -L=$LLVMD/libllvm-c-ext.a \ 31 | -L-ldl -L-lstdc++ -relocation-model=pic \ 32 | main.d 33 | 34 | Parameters: 35 | LLVM_LIBS a list of all llvm libraries, formatted for ldc 36 | -L=$LLVMD/libllvm-c-ext.a only needed when you use Target.d or Ext.d 37 | -L-lstdc++ links in the c++ standard library (llvm at it's core is c++) 38 | -relocation-model=pic necessary for calling code in your app from inside of the llvm vm 39 | -------------------------------------------------------------------------------- /llvm-2.7/prebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | g++ llvm/Ext.cpp -c `llvm-config --cxxflags` 4 | g++ llvm/Target.cpp -c `llvm-config --cxxflags` 5 | 6 | rm -f libllvm-c-ext.a 7 | ar rc libllvm-c-ext.a Ext.o Target.o 8 | ranlib libllvm-c-ext.a 9 | -------------------------------------------------------------------------------- /llvm-2.8/README: -------------------------------------------------------------------------------- 1 | This file describes the installation and usage of the llvm bindings. 2 | 3 | Initial setup: 4 | ============== 5 | 6 | svn co http://svn.dsource.org/projects/bindings/trunk/llvm-2.8 7 | cd llvm-2.8 8 | ./prebuild.sh 9 | 10 | prebuild.sh builds Target.o and Ext.o which have to be passed 11 | to the linker. For convenience, these *.o files are also merged 12 | into a single library libllvm-c-ext.a. 13 | 14 | Target.o and Ext.o are usually not needed for the regular 15 | llvm c interface. But the D bindings add some extra bindings, 16 | because the official c interface just doesn't expose all 17 | functionality from the c++ interface. These are implemented as a 18 | "c++ to c to d" bridge (c++ to c is Target.cpp and Ext.cpp, c to 19 | d is Target.d and Ext.d). 20 | 21 | Building your application: 22 | ========================== 23 | 24 | To compile and link a file main.d, run 25 | 26 | LLVMD=/path/to/llvm-dbindings 27 | LLVM_LIBS=`llvm-config --libs | sed 's/-l/-L-l/g'` 28 | ldc -I=$LLVMD \ 29 | $LLVM_LIBS \ 30 | -L=$LLVMD/libllvm-c-ext.a \ 31 | -L-ldl -L-lstdc++ -relocation-model=pic \ 32 | main.d 33 | 34 | Parameters: 35 | LLVM_LIBS a list of all llvm libraries, formatted for ldc 36 | -L=$LLVMD/libllvm-c-ext.a only needed when you use Target.d or Ext.d 37 | -L-lstdc++ links in the c++ standard library (llvm at it's core is c++) 38 | -relocation-model=pic necessary for calling code in your app from inside of the llvm vm 39 | -------------------------------------------------------------------------------- /llvm-2.8/prebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | g++ llvm/Ext.cpp -c `llvm-config --cxxflags` 4 | g++ llvm/Target.cpp -c `llvm-config --cxxflags` 5 | 6 | rm -f libllvm-c-ext.a 7 | ar rc libllvm-c-ext.a Ext.o Target.o 8 | ranlib libllvm-c-ext.a 9 | -------------------------------------------------------------------------------- /llvm-2.9/README: -------------------------------------------------------------------------------- 1 | This file describes the installation and usage of the llvm bindings. 2 | 3 | Initial setup: 4 | ============== 5 | 6 | svn co http://svn.dsource.org/projects/bindings/trunk/llvm-2.9 7 | cd llvm-2.9 8 | ./prebuild.sh 9 | 10 | prebuild.sh builds Target.o and Ext.o which have to be passed 11 | to the linker. For convenience, these *.o files are also merged 12 | into a single library libllvm-c-ext.a. 13 | 14 | Target.o and Ext.o are usually not needed for the regular 15 | llvm c interface. But the D bindings add some extra bindings, 16 | because the official c interface just doesn't expose all 17 | functionality from the c++ interface. These are implemented as a 18 | "c++ to c to d" bridge (c++ to c is Target.cpp and Ext.cpp, c to 19 | d is Target.d and Ext.d). 20 | 21 | Building your application: 22 | ========================== 23 | 24 | To compile and link a file main.d, run 25 | 26 | LLVMD=/path/to/llvm-dbindings 27 | LLVM_LIBS=`llvm-config --libs | sed 's/-l/-L-l/g'` 28 | ldc -I=$LLVMD \ 29 | $LLVM_LIBS \ 30 | -L=$LLVMD/libllvm-c-ext.a \ 31 | -L-ldl -L-lstdc++ -relocation-model=pic \ 32 | main.d 33 | 34 | Parameters: 35 | LLVM_LIBS a list of all llvm libraries, formatted for ldc 36 | -L=$LLVMD/libllvm-c-ext.a only needed when you use Target.d or Ext.d 37 | -L-lstdc++ links in the c++ standard library (llvm at it's core is c++) 38 | -relocation-model=pic necessary for calling code in your app from inside of the llvm vm 39 | -------------------------------------------------------------------------------- /llvm-2.9/prebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | g++ llvm/Ext.cpp -c `llvm-config --cxxflags` 4 | g++ llvm/Target.cpp -c `llvm-config --cxxflags` 5 | 6 | rm -f libllvm-c-ext.a 7 | ar rc libllvm-c-ext.a Ext.o Target.o 8 | ranlib libllvm-c-ext.a 9 | -------------------------------------------------------------------------------- /llvm-3.0/Makefile: -------------------------------------------------------------------------------- 1 | 2 | FILES=\ 3 | main.d 4 | 5 | LLVM_LIBS=`llvm-config --libs | sed 's/-l/-L-l/g'` 6 | LLVM_OBJ=llvmExt.o llvmTarget.o 7 | 8 | main: llvmExt.o llvmTarget.o 9 | dmd2 -ofmain -L-ldl -L-lstdc++ $(FLAGS) -fPIC -gc $(FILES) $(LLVM_LIBS) $(LLVM_OBJ) 10 | 11 | llvmExt.o: 12 | g++ llvm/Ext.cpp -c -I$LLVM_DIR/include -o llvmExt.o -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS 13 | 14 | llvmTarget.o: 15 | g++ llvm/Target.cpp -c -I$LLVM_DIR/include -o llvmTarget.o -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS 16 | -------------------------------------------------------------------------------- /llvm-3.0/Readme: -------------------------------------------------------------------------------- 1 | This file describes the installation and usage of the llvm bindings. 2 | 3 | 4 | Initial setup: 5 | ============== 6 | 7 | svn co http://svn.dsource.org/projects/bindings/trunk/llvm-3.0 8 | cd llvm-3.0 9 | 10 | 11 | Building your application: 12 | ========================== 13 | 14 | LLVM c interface doesn't expose all required functionality, that's 15 | why some extra bindings have been implemented as a "c++ to c to d" 16 | bridge (c++ to c is Target.cpp and Ext.cpp, c to d is Target.d and Ext.d). 17 | 18 | make 19 | 20 | This command will compile object files llvmExt.o 21 | and llvmTarget.o which should be linked with your D code. 22 | It will also compile and link sample program main.d. 23 | 24 | Execute resulting application to check whether everything has been built 25 | successfully. It creates an emply LLVM module and dumps it to console. 26 | 27 | 28 | Known issues: 29 | ============= 30 | 31 | 1. On some systems, incluning Ubuntu 11.10, linking may fail with message 32 | that libLLVMSupport.a in function PrintStackTrace(void*) has undefined 33 | reference to dladdr. 34 | 35 | Workaround is to compile LLVM with cmake specifying the following variable: 36 | 37 | -DCMAKE_EXE_LINKER_FLAGS=-ldl 38 | 39 | 2. dmd2 is assumed to be the name of DMD compiler. If it is not the case, 40 | please update Makefile accordingly. 41 | -------------------------------------------------------------------------------- /llvm-3.0/main.d: -------------------------------------------------------------------------------- 1 | /* 2 | Example for using the llvm-d bindings. 3 | */ 4 | 5 | import llvm.c.Core; 6 | 7 | void main() 8 | { 9 | auto theModule = LLVMModuleCreateWithName("The main module"); 10 | LLVMDumpModule(theModule); 11 | } 12 | -------------------------------------------------------------------------------- /lua-5.0.2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lua-5.0.2.zip -------------------------------------------------------------------------------- /lua-5.1.3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lua-5.1.3.zip -------------------------------------------------------------------------------- /lua/README.txt: -------------------------------------------------------------------------------- 1 | Author: Matthias Walter 2 | 3 | * Lua bindings for the D programming language 4 | * Wrappers for states and buffers 5 | * Wrappers for all native lua datatypes 6 | * Exception safety 7 | * Mixins for registering D methods and classes to lua 8 | 9 | -------------------------------------------------------------------------------- /lua/all.d: -------------------------------------------------------------------------------- 1 | module lua.all; 2 | 3 | public import lua.lua, lua.lauxlib, lua.lualib; 4 | 5 | public import lua.state, lua.mixins, lua.error; 6 | 7 | 8 | -------------------------------------------------------------------------------- /lua/lua.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/lua/lua.lib -------------------------------------------------------------------------------- /lua/luaconf.d: -------------------------------------------------------------------------------- 1 | module lua.luaconf; 2 | 3 | extern (C): 4 | 5 | alias ptrdiff_t LUA_INTEGER; 6 | alias size_t LUAI_UMEM; 7 | alias ptrdiff_t LUAI_MEM; 8 | alias int LUAI_INT32; 9 | alias double LUA_NUMBER; 10 | alias double LUAI_UACNUMBER; 11 | alias long LUA_INTFRM_T; 12 | 13 | const LUAI_MAXCALLS = 20000; 14 | const LUA_IDSIZE = 60; 15 | const LUAI_GCPAUSE = 200; 16 | const LUAI_GCMUL = 200; 17 | const LUA_COMPAT_LSTR = 1; 18 | const LUAI_MAXCSTACK = 8000; 19 | const LUAI_BITSINT = 32; 20 | const LUA_MAXCAPTURES = 32; 21 | const LUAI_MAXCCALLS = 200; 22 | const LUAI_MAXVARS = 200; 23 | const LUAI_MAXUPVALUES = 60; 24 | const LUAL_BUFFERSIZE = 16384; 25 | const LUAI_EXTRASPACE = 0; 26 | const LUAI_MAXNUMBER2STR = 32; 27 | 28 | union luai_Cast 29 | { 30 | double l_d; 31 | int l_l; 32 | } -------------------------------------------------------------------------------- /lua/lualib.d: -------------------------------------------------------------------------------- 1 | module lua.lualib; 2 | 3 | private import lua.lua; 4 | 5 | extern (C): 6 | 7 | const LUA_FILEHANDLE = "FILE*"; 8 | const LUA_COLIBNAME = "coroutine"; 9 | int luaopen_base(lua_State *L); 10 | const LUA_TABLIBNAME = "table"; 11 | int luaopen_table(lua_State *L); 12 | const LUA_IOLIBNAME = "io"; 13 | int luaopen_io(lua_State *L); 14 | const LUA_OSLIBNAME = "os"; 15 | int luaopen_os(lua_State *L); 16 | const LUA_STRLIBNAME = "string"; 17 | int luaopen_string(lua_State *L); 18 | const LUA_MATHLIBNAME = "math"; 19 | int luaopen_math(lua_State *L); 20 | const LUA_DBLIBNAME = "debug"; 21 | int luaopen_debug(lua_State *L); 22 | const LUA_LOADLIBNAME = "package"; 23 | int luaopen_package(lua_State *L); 24 | 25 | void luaL_openlibs(lua_State *L); 26 | -------------------------------------------------------------------------------- /macfuse/dsss.conf: -------------------------------------------------------------------------------- 1 | [fuse] 2 | type=sourcelibrary 3 | 4 | -------------------------------------------------------------------------------- /phobos-0.110-nogc-binaries.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/phobos-0.110-nogc-binaries.zip -------------------------------------------------------------------------------- /phobos-0.110-nogc-src.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/phobos-0.110-nogc-src.zip -------------------------------------------------------------------------------- /phobos-0.110-nogc.patch.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/phobos-0.110-nogc.patch.bz2 -------------------------------------------------------------------------------- /portaudio/example/dsss.conf: -------------------------------------------------------------------------------- 1 | name = portaudio_test_sine_hello 2 | 3 | [patest_sine_hello.d] 4 | type = binary 5 | target = sine_hello 6 | buildflags = -I../ -no-export-dynamic 7 | version(linux) { 8 | buildflags += -L-lportaudio 9 | buildflags += -I../ 10 | #####buildflags += -version=nogc 11 | } 12 | version(Windows){ 13 | prebuild=warn Windows support is untested. 14 | buildflags+=-lladvapi32 15 | buildflags += -L-lportaudio 16 | } 17 | 18 | -------------------------------------------------------------------------------- /portaudio/readme.txt: -------------------------------------------------------------------------------- 1 | These are the D bindings for Portaudio. http://www.portaudio.com 2 | It's a cross platform audio API for audio input and output on 3 | atleast Linux, Windows and OS X. 4 | 5 | Portaudio is licenced with an MIT style licence. http://www.portaudio.com/license.html 6 | These bindings and the included sine wave example are also released under that same 7 | licence. 8 | 9 | This version of the bindings is tested and made using Portaudio v19. 10 | 11 | Tango was used for a couple of Stdouts and PI. 12 | You could easily change them to Phobos equivalents. 13 | 14 | -------------------------------------------------------------------------------- /raknet/Makefile.linux: -------------------------------------------------------------------------------- 1 | INCLUDE=-I"/usr/include/raknet" 2 | 3 | all: rakserverglue.o rakclientglue.o rakbitstreamglue.o 4 | ar crv librakglue.a rakserverglue.o rakclientglue.o rakbitstreamglue.o 5 | ranlib librakglue.a 6 | 7 | rakserverglue.o: rakglue/rakserver.h rakglue/rakserverglue.cpp 8 | g++ -c rakglue/rakserverglue.cpp $(INCLUDE) 9 | 10 | rakclientglue.o: rakglue/rakclient.h rakglue/rakclientglue.cpp 11 | g++ -c rakglue/rakclientglue.cpp $(INCLUDE) 12 | 13 | rakbitstreamglue.o: rakglue/rakbitstream.h rakglue/rakbitstreamglue.cpp 14 | g++ -c rakglue/rakbitstreamglue.cpp $(INCLUDE) 15 | 16 | 17 | clean: 18 | rm rakserverglue.o rakclientglue.o rakbitstreamglue.o 19 | 20 | -------------------------------------------------------------------------------- /raknet/Makefile.win: -------------------------------------------------------------------------------- 1 | INCLUDE=-IC:\dm\include -IC:\raknet\include 2 | 3 | all: rakserverglue.obj rakclientglue.obj rakbitstreamglue.obj 4 | 5 | 6 | rakserverglue.obj: rakglue\rakserver.h rakglue\rakserverglue.cpp 7 | dmc -c rakglue\rakserverglue.cpp $(INCLUDE) 8 | 9 | rakclientglue.obj: rakglue\rakclient.h rakglue\rakclientglue.cpp 10 | dmc -c rakglue\rakclientglue.cpp $(INCLUDE) 11 | 12 | rakbitstreamglue.obj: rakglue\rakbitstream.h rakglue\rakbitstreamglue.cpp 13 | dmc -c rakglue\rakbitstreamglue.cpp $(INCLUDE) 14 | 15 | 16 | clean: 17 | del rakserverglue.obj rakclientglue.obj rakbitstreamglue.obj 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /raknet/README.txt: -------------------------------------------------------------------------------- 1 | Original Author: Clay Smith (clayasaurus@gmail.com) 2 | 3 | This code works was tested both windows and linux and works. I've included the raknet source I based my code off of 4 | for both windows and linux. 5 | 6 | Allows use of bitstreams and RPC, comes with a chat sample and a networked opengl 7 | line drawing sample using my 2D game framework & derelict, based upon irrlicht's Raknet example. 8 | 9 | I started this 'binding' in order to get the C++ version of raknet to work with D. 10 | 11 | These should please both windows and linux users. 12 | 13 | Have a nice day, 14 | ~ Clay 15 | -------------------------------------------------------------------------------- /raknet/chat.bat: -------------------------------------------------------------------------------- 1 | CFPATH="-CFPATH/etc/" 2 | 3 | make -f Makefile.win 4 | build chat.d -g -Rn -full rakserverglue.obj rakclientglue.obj rakbitstreamglue.obj lib\raknet.lib C:\dm\lib\WSOCK32.lib 5 | 6 | -------------------------------------------------------------------------------- /raknet/compile.sh: -------------------------------------------------------------------------------- 1 | make -f Makefile.linux 2 | build lineserver.d -L-ldl -CFPATH/etc/ -g -Rn -full -cleanup -debug -Llibrakglue.a -Llibraknet.a -L-lstdc++ 3 | build line.d -L-ldl -CFPATH/etc/ -g -Rn -full -cleanup -debug -Llibrakglue.a -Llibraknet.a -L-lstdc++ 4 | 5 | 6 | -------------------------------------------------------------------------------- /raknet/cppSource/README.txt: -------------------------------------------------------------------------------- 1 | Checkout the warbots project for the modified Raknet windows sources. 2 | 3 | http://svn.dsource.org/projects/warbots/trunk/RaknetBinding/ 4 | 5 | Removed from here due to request. 6 | -------------------------------------------------------------------------------- /raknet/lib/rakglue.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/raknet/lib/rakglue.lib -------------------------------------------------------------------------------- /raknet/lib/raknet.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/raknet/lib/raknet.lib -------------------------------------------------------------------------------- /raknet/line.bat: -------------------------------------------------------------------------------- 1 | make -f Makefile.win 2 | build line.d -g -Rn -full rakbitstreamglue.obj rakclientglue.obj rakserverglue.obj lib\raknet.lib C:\dm\lib\WSOCK32.lib 3 | 4 | 5 | -------------------------------------------------------------------------------- /raknet/lineserver.bat: -------------------------------------------------------------------------------- 1 | CFPATH="-CFPATH/etc/" 2 | 3 | make -f Makefile.win 4 | build lineserver.d -g -Rn -full rakserverglue.obj rakclientglue.obj rakbitstreamglue.obj lib\raknet.lib C:\dm\lib\WSOCK32.lib 5 | 6 | -------------------------------------------------------------------------------- /raknet/otherfiles: -------------------------------------------------------------------------------- 1 | You need some more files to get the samples running, from... 2 | 3 | http://svn.dsource.org/projects/warbots/trunk/current/core 4 | http://svn.dsource.org/projects/warbots/trunk/current/derelict 5 | 6 | SDL.dll 7 | SDL_image.dll 8 | SDL_mixer.dll 9 | lua50.dll 10 | 11 | 12 | -------------------------------------------------------------------------------- /raknet/rakglue/rakclient.h: -------------------------------------------------------------------------------- 1 | 2 | #include // Printf and gets 3 | #include // strcpy 4 | #include "RakClientInterface.h" 5 | #include "RakNetworkFactory.h" 6 | #include "RakServerInterface.h" 7 | #include "PacketEnumerations.h" 8 | #include 9 | 10 | #ifndef _RAKCLIENT_ 11 | #define _RAKCLIENT_ 12 | 13 | 14 | extern "C" { 15 | 16 | bool isRakClientInterface(); 17 | 18 | void rakClientInterface_Initialize(); 19 | 20 | bool rakClientInterface_Connect(char *host, unsigned short serverPort, unsigned short clientPort, unsigned long connectionValidationInteger, int threadSleepTimer); 21 | 22 | bool rakClientInterface_RPC(char *uniqueID, char *data, unsigned long bitLength, PacketPriority priority, PacketReliability reliability, char orderingChannel, bool shiftTimestamp); 23 | 24 | void rakClientInterface_DeallocatePacket(Packet *); 25 | 26 | Packet* rakClientInterface_ReceivePacket(); 27 | 28 | void RakClientInterface_Destroy(); 29 | 30 | void rakClientInterface_REG_AS_RPC(char* uniqueID, void ( *functionName ) ( char *input, int numberOfBitsOfData, PlayerID sender )); 31 | 32 | void rakClientInterface_Disconnect (unsigned blockDuration); 33 | bool rakClientInterface_SendBitstream(PacketPriority priority, PacketReliability reliability, char orderingChannel); 34 | 35 | PlayerID rakClientInterface_GetPlayerID(); 36 | 37 | } 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /raknet/rakglue/rakserver.h: -------------------------------------------------------------------------------- 1 | 2 | #include // Printf and gets 3 | #include // strcpy 4 | #include "RakClientInterface.h" 5 | #include "RakNetworkFactory.h" 6 | #include "RakServerInterface.h" 7 | #include "PacketEnumerations.h" 8 | #include "NetworkTypes.h" 9 | #include 10 | 11 | #ifndef _RAKSERVER_ 12 | #define _RAKSERVER_ 13 | 14 | extern "C" { 15 | 16 | bool rakServerInterface_RPC(char *uniqueID, char *data, unsigned long bitLength, PacketPriority priority, PacketReliability reliability, char orderingChannel, PlayerID playerId, bool broadcast, bool shiftTimestamp); 17 | 18 | bool rakServerInterface_Start(unsigned short AllowedPlayers, unsigned long connectionValidationInteger, int threadSleepTimer, unsigned short port); 19 | 20 | void rakServerInterface_Initialize(); 21 | 22 | void rakServerInterface_REG_AS_RPC(char* uniqueID, void ( *functionName ) ( char *input, int numberOfBitsOfData, PlayerID sender )); 23 | 24 | // C interface to raknet 25 | bool isRakServerInterface(); 26 | 27 | Packet* rakServerInterface_ReceivePacket(); 28 | 29 | void rakServerInterface_DeallocatePacket(Packet *); 30 | 31 | 32 | void RakServerInterface_Destroy(); 33 | 34 | bool rakServerInterface_SendBitstream(PacketPriority priority, PacketReliability reliability, char orderingChannel, PlayerID playerId, bool broadcast); 35 | 36 | void rakServerInterface_Disconnect( unsigned blockDuration ); 37 | 38 | int rakServerInterface_GetIndexFromPlayerID(PlayerID pid); 39 | } 40 | 41 | #endif 42 | 43 | -------------------------------------------------------------------------------- /raknet/raknet/raknet.d: -------------------------------------------------------------------------------- 1 | 2 | module raknet.raknet; 3 | 4 | // publicly import all raknet 'headers' 5 | public import raknet.packetenumerations, 6 | raknet.packetpriority, 7 | raknet.networktypes; 8 | -------------------------------------------------------------------------------- /raknet/window.lua: -------------------------------------------------------------------------------- 1 | -- configureable user options 2 | function callConfig() 3 | 4 | -- window title, width, height, and fullscreen or not 5 | getConfig("Line Client", 540, 480, 0) 6 | 7 | end 8 | -------------------------------------------------------------------------------- /sdl_rotozoom/sample24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/sdl_rotozoom/sample24.bmp -------------------------------------------------------------------------------- /sdl_rotozoom/sample8.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smjgordon/bindings/8e315a2569693c5046e1f0f833322f9e142025c8/sdl_rotozoom/sample8.bmp -------------------------------------------------------------------------------- /sqlite3-d/dsss.conf: -------------------------------------------------------------------------------- 1 | name=sqlite3 2 | [sqlite3.d] 3 | type=library 4 | -------------------------------------------------------------------------------- /squirrel/c/include/sqstdaux.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQSTD_AUXLIB_H_ 3 | #define _SQSTD_AUXLIB_H_ 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | SQUIRREL_API void sqstd_seterrorhandlers(HSQUIRRELVM v); 10 | SQUIRREL_API void sqstd_printcallstack(HSQUIRRELVM v); 11 | 12 | #ifdef __cplusplus 13 | } /*extern "C"*/ 14 | #endif 15 | 16 | #endif /* _SQSTD_AUXLIB_H_ */ 17 | -------------------------------------------------------------------------------- /squirrel/c/include/sqstdblob.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQSTDBLOB_H_ 3 | #define _SQSTDBLOB_H_ 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | SQUIRREL_API SQUserPointer sqstd_createblob(HSQUIRRELVM v, SQInteger size); 10 | SQUIRREL_API SQRESULT sqstd_getblob(HSQUIRRELVM v,SQInteger idx,SQUserPointer *ptr); 11 | SQUIRREL_API SQInteger sqstd_getblobsize(HSQUIRRELVM v,SQInteger idx); 12 | 13 | SQUIRREL_API SQRESULT sqstd_register_bloblib(HSQUIRRELVM v); 14 | 15 | #ifdef __cplusplus 16 | } /*extern "C"*/ 17 | #endif 18 | 19 | #endif /*_SQSTDBLOB_H_*/ 20 | 21 | -------------------------------------------------------------------------------- /squirrel/c/include/sqstdmath.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQSTD_MATH_H_ 3 | #define _SQSTD_MATH_H_ 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | SQUIRREL_API SQRESULT sqstd_register_mathlib(HSQUIRRELVM v); 10 | 11 | #ifdef __cplusplus 12 | } /*extern "C"*/ 13 | #endif 14 | 15 | #endif /*_SQSTD_MATH_H_*/ 16 | -------------------------------------------------------------------------------- /squirrel/c/include/sqstdstring.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQSTD_STRING_H_ 3 | #define _SQSTD_STRING_H_ 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | //#define SQRex_True 1 10 | //#define SQRex_False 0 11 | 12 | typedef unsigned int SQRexBool; 13 | typedef struct SQRex SQRex; 14 | 15 | typedef struct { 16 | const SQChar *begin; 17 | SQInteger len; 18 | } SQRexMatch; 19 | 20 | SQUIRREL_API SQRex *sqstd_rex_compile(const SQChar *pattern,const SQChar **error); 21 | SQUIRREL_API void sqstd_rex_free(SQRex *exp); 22 | SQUIRREL_API SQBool sqstd_rex_match(SQRex* exp,const SQChar* text); 23 | SQUIRREL_API SQBool sqstd_rex_search(SQRex* exp,const SQChar* text, const SQChar** out_begin, const SQChar** out_end); 24 | SQUIRREL_API SQBool sqstd_rex_searchrange(SQRex* exp,const SQChar* text_begin,const SQChar* text_end,const SQChar** out_begin, const SQChar** out_end); 25 | SQUIRREL_API SQInteger sqstd_rex_getsubexpcount(SQRex* exp); 26 | SQUIRREL_API SQBool sqstd_rex_getsubexp(SQRex* exp, SQInteger n, SQRexMatch *subexp); 27 | 28 | SQUIRREL_API SQRESULT sqstd_register_stringlib(HSQUIRRELVM v); 29 | 30 | #ifdef __cplusplus 31 | } /*extern "C"*/ 32 | #endif 33 | 34 | #endif /*_SQSTD_STRING_H_*/ 35 | -------------------------------------------------------------------------------- /squirrel/c/include/sqstdsystem.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQSTD_SYSTEMLIB_H_ 3 | #define _SQSTD_SYSTEMLIB_H_ 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | SQUIRREL_API SQInteger sqstd_register_systemlib(HSQUIRRELVM v); 10 | 11 | #ifdef __cplusplus 12 | } /*extern "C"*/ 13 | #endif 14 | 15 | #endif /* _SQSTD_SYSTEMLIB_H_ */ 16 | -------------------------------------------------------------------------------- /squirrel/c/sqstdlib/sqstdstream.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQSTD_STREAM_H_ 3 | #define _SQSTD_STREAM_H_ 4 | 5 | SQInteger _stream_readblob(HSQUIRRELVM v); 6 | SQInteger _stream_readline(HSQUIRRELVM v); 7 | SQInteger _stream_readn(HSQUIRRELVM v); 8 | SQInteger _stream_writeblob(HSQUIRRELVM v); 9 | SQInteger _stream_writen(HSQUIRRELVM v); 10 | SQInteger _stream_seek(HSQUIRRELVM v); 11 | SQInteger _stream_tell(HSQUIRRELVM v); 12 | SQInteger _stream_len(HSQUIRRELVM v); 13 | SQInteger _stream_eos(HSQUIRRELVM v); 14 | SQInteger _stream_flush(HSQUIRRELVM v); 15 | 16 | #define _DECL_STREAM_FUNC(name,nparams,typecheck) {_SC(#name),_stream_##name,nparams,typecheck} 17 | SQRESULT declare_stream(HSQUIRRELVM v,SQChar* name,SQUserPointer typetag,SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals); 18 | #endif /*_SQSTD_STREAM_H_*/ 19 | -------------------------------------------------------------------------------- /squirrel/c/squirrel/sqlexer.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQLEXER_H_ 3 | #define _SQLEXER_H_ 4 | 5 | #ifdef _UNICODE 6 | typedef SQChar LexChar; 7 | #else 8 | typedef unsigned char LexChar; 9 | #endif 10 | 11 | struct SQLexer 12 | { 13 | SQLexer(); 14 | ~SQLexer(); 15 | void Init(SQSharedState *ss,SQLEXREADFUNC rg,SQUserPointer up,CompilerErrorFunc efunc,void *ed); 16 | void Error(const SQChar *err); 17 | SQInteger Lex(); 18 | const SQChar *Tok2Str(SQInteger tok); 19 | private: 20 | SQInteger GetIDType(SQChar *s); 21 | SQInteger ReadString(SQInteger ndelim,bool verbatim); 22 | SQInteger ReadNumber(); 23 | void LexBlockComment(); 24 | SQInteger ReadID(); 25 | void Next(); 26 | SQInteger _curtoken; 27 | SQTable *_keywords; 28 | public: 29 | SQInteger _prevtoken; 30 | SQInteger _currentline; 31 | SQInteger _lasttokenline; 32 | SQInteger _currentcolumn; 33 | const SQChar *_svalue; 34 | SQInteger _nvalue; 35 | SQFloat _fvalue; 36 | SQLEXREADFUNC _readf; 37 | SQUserPointer _up; 38 | LexChar _currdata; 39 | SQSharedState *_sharedstate; 40 | sqvector _longstr; 41 | CompilerErrorFunc _errfunc; 42 | void *_errtarget; 43 | }; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /squirrel/c/squirrel/sqmem.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | see copyright notice in squirrel.h 3 | */ 4 | #include "sqpcheader.h" 5 | void *sq_vm_malloc(SQUnsignedInteger size){ return malloc(size); } 6 | 7 | void *sq_vm_realloc(void *p, SQUnsignedInteger oldsize, SQUnsignedInteger size){ return realloc(p, size); } 8 | 9 | void sq_vm_free(void *p, SQUnsignedInteger size){ free(p); } 10 | -------------------------------------------------------------------------------- /squirrel/c/squirrel/sqpcheader.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQPCHEADER_H_ 3 | #define _SQPCHEADER_H_ 4 | 5 | #if defined(_MSC_VER) && defined(_DEBUG) 6 | #include 7 | #endif 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | //squirrel stuff 15 | #include 16 | #include "sqobject.h" 17 | #include "sqstate.h" 18 | 19 | #endif //_SQPCHEADER_H_ 20 | -------------------------------------------------------------------------------- /squirrel/c/squirrel/sqstring.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQSTRING_H_ 3 | #define _SQSTRING_H_ 4 | 5 | inline SQHash _hashstr (const SQChar *s, size_t l) 6 | { 7 | SQHash h = (SQHash)l; /* seed */ 8 | size_t step = (l>>5)|1; /* if string is too long, don't hash all its chars */ 9 | for (; l>=step; l-=step) 10 | h = h ^ ((h<<5)+(h>>2)+(unsigned short)*(s++)); 11 | return h; 12 | } 13 | 14 | struct SQString : public SQRefCounted 15 | { 16 | SQString(){} 17 | ~SQString(){} 18 | public: 19 | static SQString *Create(SQSharedState *ss, const SQChar *, SQInteger len = -1 ); 20 | SQInteger Next(const SQObjectPtr &refpos, SQObjectPtr &outkey, SQObjectPtr &outval); 21 | void Release(); 22 | SQSharedState *_sharedstate; 23 | SQString *_next; //chain for the string table 24 | SQInteger _len; 25 | SQHash _hash; 26 | SQChar _val[1]; 27 | }; 28 | 29 | 30 | 31 | #endif //_SQSTRING_H_ 32 | -------------------------------------------------------------------------------- /squirrel/c/squirrel/squserdata.h: -------------------------------------------------------------------------------- 1 | /* see copyright notice in squirrel.h */ 2 | #ifndef _SQUSERDATA_H_ 3 | #define _SQUSERDATA_H_ 4 | 5 | struct SQUserData : SQDelegable 6 | { 7 | SQUserData(SQSharedState *ss){ _delegate = 0; _hook = NULL; INIT_CHAIN(); ADD_TO_CHAIN(&_ss(this)->_gc_chain, this); } 8 | ~SQUserData() 9 | { 10 | REMOVE_FROM_CHAIN(&_ss(this)->_gc_chain, this); 11 | SetDelegate(NULL); 12 | } 13 | static SQUserData* Create(SQSharedState *ss, SQInteger size) 14 | { 15 | SQUserData* ud = (SQUserData*)SQ_MALLOC(sizeof(SQUserData)+(size-1)); 16 | new (ud) SQUserData(ss); 17 | ud->_size = size; 18 | ud->_typetag = 0; 19 | return ud; 20 | } 21 | #ifndef NO_GARBAGE_COLLECTOR 22 | void Mark(SQCollectable **chain); 23 | void Finalize(){SetDelegate(NULL);} 24 | #endif 25 | void Release() { 26 | if (_hook) _hook(_val,_size); 27 | SQInteger tsize = _size - 1; 28 | this->~SQUserData(); 29 | SQ_FREE(this, sizeof(SQUserData) + tsize); 30 | } 31 | 32 | SQInteger _size; 33 | SQRELEASEHOOK _hook; 34 | SQUserPointer _typetag; 35 | SQChar _val[1]; 36 | }; 37 | 38 | #endif //_SQUSERDATA_H_ 39 | -------------------------------------------------------------------------------- /squirrel/clean.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | del /q lib\*.lib 3 | del /q examples\*.exe 4 | -------------------------------------------------------------------------------- /squirrel/examples/example.d: -------------------------------------------------------------------------------- 1 | import std.stdio; 2 | 3 | import squirreld, squirrel, sqstdlib; 4 | import std.c.stdarg, std.c.stdio; 5 | 6 | int main(char[][] argv) { 7 | Squirrel s = new Squirrel; 8 | s.setdefaultprintfunc(); 9 | 10 | s.vmcall(&sqstd_register_bloblib); 11 | s.vmcall(&sqstd_register_iolib); 12 | s.vmcall(&sqstd_register_mathlib); 13 | s.vmcall(&sqstd_register_stringlib); 14 | s.vmcall(&sqstd_register_systemlib); 15 | 16 | s.executeFile("test.nut"); 17 | 18 | s.call("foo", 1, 2.5, "teststring"); 19 | delete s; 20 | 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /squirrel/examples/test.nut: -------------------------------------------------------------------------------- 1 | function foo(i, f, s) { 2 | print("Called foo(), i=" + i + ", f=" + f + ", s='" + s + "'\n"); 3 | } 4 | -------------------------------------------------------------------------------- /squirrel/make.bat: -------------------------------------------------------------------------------- 1 | @echo Creating squirrel library... 2 | @call make_lib.bat 3 | @echo Creating sqstdlib library... 4 | @call make_std.bat 5 | @echo Creating example library... 6 | @call make_ex.bat -------------------------------------------------------------------------------- /squirrel/make_ex.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | @\dmd\bin\dmd.exe examples\example.d import\sqstdlib.d import\squirrel.d import\squirreld.d lib\sqstdlib.lib lib\squirrel.lib -O -odexamples -ofexamples\example.exe 3 | @DEL /Q examples\*.obj 2>NUL >NUL 4 | @DEL /Q examples\example.map 2>NUL >NUL 5 | @DEL /Q example.map 2>NUL >NUL -------------------------------------------------------------------------------- /squirrel/make_lib.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | @DIR /b c\squirrel\*.cpp > list.txt 3 | @FOR /F %%i IN (list.txt) DO @\dm\bin\dmc.exe -i c\squirrel -i c\include -c c\squirrel\%%i >NUL 2> NUL 4 | @DEL lib\squirrel.lib 2>NUL >NUL 5 | @\dm\bin\lib.exe -c lib\squirrel.lib sqapi.obj sqbaselib.obj sqclass.obj sqcompiler.obj sqdebug.obj sqfuncstate.obj sqlexer.obj sqmem.obj sqobject.obj sqstate.obj sqtable.obj sqvm.obj > NUL 6 | @DEL list.txt 7 | @DEL /Q *.obj -------------------------------------------------------------------------------- /squirrel/make_std.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | @DIR /b c\sqstdlib\*.cpp > list.txt 3 | @FOR /F %%i IN (list.txt) DO @\dm\bin\dmc.exe -i c\sqstdlib -i c\include -c c\sqstdlib\%%i >NUL 2>NUL 4 | @DEL lib\sqstdlib.lib 2>NUL >NUL 5 | @\dm\bin\lib.exe -c lib\sqstdlib.lib sqstdaux.obj sqstdblob.obj sqstdio.obj sqstdmath.obj sqstdrex.obj sqstdstream.obj sqstdstring.obj sqstdsystem.obj > NUL 6 | @DEL list.txt 7 | @DEL /Q *.obj -------------------------------------------------------------------------------- /win32/basetyps.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * basetyps.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.basetyps; 11 | 12 | private import win32.windef, win32.basetsd; 13 | 14 | align(1) struct GUID { // size is 16 15 | DWORD Data1; 16 | WORD Data2; 17 | WORD Data3; 18 | BYTE[8] Data4; 19 | } 20 | alias GUID UUID, IID, CLSID, FMTID, uuid_t; 21 | alias GUID* LPGUID, LPCLSID, LPIID; 22 | alias const(GUID)* LPCGUID, REFGUID, REFIID, REFCLSID, REFFMTID; 23 | 24 | alias uint error_status_t, PROPID; 25 | -------------------------------------------------------------------------------- /win32/cguid.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * cguid.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.cguid; 11 | 12 | private import win32.basetyps; 13 | 14 | -------------------------------------------------------------------------------- /win32/core.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * core.d * 3 | * * 4 | * Helper module for the Windows API * 5 | * * 6 | * Placed into public domain * 7 | \***********************************************************************/ 8 | module win32.core; 9 | 10 | /** 11 | The core Windows API functions. 12 | 13 | Importing this file is equivalent to the C code: 14 | --- 15 | #define WIN32_LEAN_AND_MEAN 16 | #include "windows.h" 17 | --- 18 | 19 | */ 20 | 21 | public import win32.windef; 22 | public import win32.winnt; 23 | public import win32.wincon; 24 | public import win32.winbase; 25 | public import win32.wingdi; 26 | public import win32.winuser; 27 | public import win32.winnls; 28 | public import win32.winver; 29 | public import win32.winnetwk; 30 | public import win32.winsvc; 31 | -------------------------------------------------------------------------------- /win32/cplext.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * cplext.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * by Stewart Gordon * 8 | * * 9 | * Placed into public domain * 10 | \***********************************************************************/ 11 | module win32.cplext; 12 | 13 | enum : uint { 14 | CPLPAGE_MOUSE_BUTTONS = 1, 15 | CPLPAGE_MOUSE_PTRMOTION = 2, 16 | CPLPAGE_MOUSE_WHEEL = 3, 17 | CPLPAGE_KEYBOARD_SPEED = 1, 18 | CPLPAGE_DISPLAY_BACKGROUND = 1 19 | } 20 | -------------------------------------------------------------------------------- /win32/directx/d3d9.def: -------------------------------------------------------------------------------- 1 | IMPORTS 2 | _Direct3DCreate9@4 = d3d9.Direct3DCreate9 -------------------------------------------------------------------------------- /win32/directx/dinput8.def: -------------------------------------------------------------------------------- 1 | IMPORTS 2 | _DirectInput8Create@20 = dinput8.DirectInput8Create -------------------------------------------------------------------------------- /win32/directx/dsound8.def: -------------------------------------------------------------------------------- 1 | IMPORTS 2 | _DirectSoundCreate8@12 = dsound.DirectSoundCreate8 -------------------------------------------------------------------------------- /win32/exdispid.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * exdispid.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * by Stewart Gordon * 8 | * * 9 | * Placed into public domain * 10 | \***********************************************************************/ 11 | module win32.exdispid; 12 | 13 | enum : int { 14 | DISPID_STATUSTEXTCHANGE = 102, 15 | DISPID_PROGRESSCHANGE = 108, 16 | DISPID_TITLECHANGE = 113, 17 | DISPID_BEFORENAVIGATE2 = 250, 18 | DISPID_NEWWINDOW2 = 251, 19 | DISPID_DOCUMENTCOMPLETE = 259 20 | } 21 | -------------------------------------------------------------------------------- /win32/idispids.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * idispids.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * by Stewart Gordon * 8 | * * 9 | * Placed into public domain * 10 | \***********************************************************************/ 11 | module win32.idispids; 12 | 13 | enum : int { 14 | DISPID_AMBIENT_OFFLINEIFNOTCONNECTED = -5501, 15 | DISPID_AMBIENT_SILENT = -5502 16 | } 17 | -------------------------------------------------------------------------------- /win32/isguids.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * isguids.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * by Stewart Gordon * 8 | * * 9 | * Placed into public domain * 10 | \***********************************************************************/ 11 | module win32.isguids; 12 | 13 | private import win32.basetyps; 14 | 15 | extern (C) extern const GUID 16 | CLSID_InternetShortcut, 17 | IID_IUniformResourceLocator; 18 | -------------------------------------------------------------------------------- /win32/lmapibuf.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * lmapibuf.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.lmapibuf; 11 | pragma(lib, "netapi32"); 12 | 13 | private import win32.lmcons, win32.windef; 14 | 15 | extern (Windows) { 16 | NET_API_STATUS NetApiBufferAllocate(DWORD, PVOID*); 17 | NET_API_STATUS NetApiBufferFree(PVOID); 18 | NET_API_STATUS NetApiBufferReallocate(PVOID, DWORD, PVOID*); 19 | NET_API_STATUS NetApiBufferSize(PVOID, PDWORD); 20 | NET_API_STATUS NetapipBufferAllocate(DWORD, PVOID*); 21 | } 22 | -------------------------------------------------------------------------------- /win32/lmconfig.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * lmconfig.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.lmconfig; 11 | 12 | // All functions in this file are deprecated! 13 | 14 | private import win32.lmcons, win32.windef; 15 | 16 | deprecated { 17 | struct CONFIG_INFO_0 { 18 | LPWSTR cfgi0_key; 19 | LPWSTR cfgi0_data; 20 | } 21 | 22 | alias CONFIG_INFO_0* PCONFIG_INFO_0, LPCONFIG_INFO_0; 23 | 24 | extern (Windows) { 25 | NET_API_STATUS NetConfigGet(LPCWSTR, LPCWSTR, LPCWSTR, PBYTE*); 26 | NET_API_STATUS NetConfigGetAll(LPCWSTR, LPCWSTR, PBYTE*); 27 | NET_API_STATUS NetConfigSet(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, DWORD, 28 | PBYTE, DWORD); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /win32/lmuseflg.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * lmuseflg.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.lmuseflg; 11 | 12 | enum : uint { 13 | USE_NOFORCE = 0, 14 | USE_FORCE, 15 | USE_LOTS_OF_FORCE // = 2 16 | } 17 | -------------------------------------------------------------------------------- /win32/makefile: -------------------------------------------------------------------------------- 1 | # Makefile for the Windows API project 2 | # Uses GNU Make-specific extensions 3 | 4 | DC := dmd.exe 5 | 6 | DFLAGS := -inline -O -release -w 7 | #DFLAGS := -debug -gc -unittest -w 8 | 9 | DFLAGS += -version=Unicode -version=WindowsVista 10 | 11 | ######################################## 12 | 13 | SUBDIRS := directx 14 | 15 | EXCLUSIONS := winsock.d 16 | 17 | ######################################## 18 | 19 | SOURCES := $(wildcard *.d $(addsuffix /*.d, $(SUBDIRS))) 20 | SOURCES := $(filter-out $(EXCLUSIONS), $(SOURCES)) 21 | 22 | ######################################## 23 | 24 | win32.lib : $(SOURCES) 25 | $(DC) $^ -lib -of$@ $(DFLAGS) 26 | 27 | win64.lib : $(SOURCES) 28 | $(DC) $^ -lib -m64 -of$@ $(DFLAGS) 29 | 30 | clean : 31 | -del win32.lib 32 | -del win64.lib 33 | 34 | .PHONY : clean 35 | -------------------------------------------------------------------------------- /win32/ntdll.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * ntdll.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * by Stewart Gordon * 8 | * * 9 | * Placed into public domain * 10 | \***********************************************************************/ 11 | module win32.ntdll; 12 | 13 | private import win32.w32api; 14 | 15 | 16 | enum SHUTDOWN_ACTION { 17 | ShutdownNoReboot, 18 | ShutdownReboot, 19 | ShutdownPowerOff 20 | } 21 | 22 | extern (Windows) uint NtShutdownSystem(SHUTDOWN_ACTION Action); 23 | -------------------------------------------------------------------------------- /win32/objsafe.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * objsafe.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * by Stewart Gordon * 8 | * * 9 | * Placed into public domain * 10 | \***********************************************************************/ 11 | module win32.objsafe; 12 | 13 | private import win32.basetyps, win32.unknwn, win32.windef; 14 | 15 | enum { 16 | INTERFACESAFE_FOR_UNTRUSTED_CALLER = 1, 17 | INTERFACESAFE_FOR_UNTRUSTED_DATA 18 | } 19 | 20 | interface IObjectSafety : IUnknown { 21 | HRESULT GetInterfaceSafetyOptions(REFIID, DWORD*, DWORD*); 22 | HRESULT SetInterfaceSafetyOptions(REFIID, DWORD, DWORD); 23 | } 24 | -------------------------------------------------------------------------------- /win32/ole2ver.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * ole2ver.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.ole2ver; 11 | 12 | // These are apparently not documented on the MSDN site 13 | const rmm = 23; 14 | const rup = 639; 15 | -------------------------------------------------------------------------------- /win32/olectlid.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * olectlid.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.olectlid; 11 | 12 | private import win32.basetyps; 13 | 14 | -------------------------------------------------------------------------------- /win32/pbt.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * pbt.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * by Stewart Gordon * 8 | * * 9 | * Placed into public domain * 10 | \***********************************************************************/ 11 | module win32.pbt; 12 | 13 | private import win32.windef; 14 | 15 | enum : WPARAM { 16 | PBT_APMQUERYSUSPEND, 17 | PBT_APMQUERYSTANDBY, 18 | PBT_APMQUERYSUSPENDFAILED, 19 | PBT_APMQUERYSTANDBYFAILED, 20 | PBT_APMSUSPEND, 21 | PBT_APMSTANDBY, 22 | PBT_APMRESUMECRITICAL, 23 | PBT_APMRESUMESUSPEND, 24 | PBT_APMRESUMESTANDBY, 25 | PBT_APMBATTERYLOW, 26 | PBT_APMPOWERSTATUSCHANGE, 27 | PBT_APMOEMEVENT // = 11 28 | } 29 | 30 | const LPARAM PBTF_APMRESUMEFROMFAILURE = 1; 31 | -------------------------------------------------------------------------------- /win32/readme.txt: -------------------------------------------------------------------------------- 1 | +--------------------------------------+ 2 | | Translation of the Win32 API headers | 3 | +--------------------------------------+ 4 | 5 | This is a project to create a well-crafted translation of the Windows 32-bit API headers in the D programming language. 6 | 7 | The project started off as an improvement of Y. Tomino's translation, but is now a derivative of the public domain MinGW Windows headers. 8 | 9 | The official project page is at 10 | 11 | http://www.dsource.org/projects/bindings/wiki/WindowsApi 12 | 13 | If you wish to contribute to this project, please assign modules to yourself at that site, and refer to the translation instructions. 14 | 15 | Email me with comments/suggestions/bug reports: smjg@iname.com 16 | -------------------------------------------------------------------------------- /win32/rpc.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * rpc.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.rpc; 11 | 12 | /* Moved to rpcdecp (duplicate definition). 13 | typedef void *I_RPC_HANDLE; 14 | alias long RPC_STATUS; 15 | // Moved to rpcdce: 16 | RpcImpersonateClient 17 | RpcRevertToSelf 18 | */ 19 | 20 | public import win32.unknwn; 21 | public import win32.rpcdce; // also pulls in rpcdcep 22 | public import win32.rpcnsi; 23 | public import win32.rpcnterr; 24 | public import win32.winerror; 25 | 26 | alias MIDL_user_allocate midl_user_allocate; 27 | alias MIDL_user_free midl_user_free; 28 | 29 | extern (Windows) { 30 | int I_RpcMapWin32Status(RPC_STATUS); 31 | } 32 | -------------------------------------------------------------------------------- /win32/rpcnsip.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * rpcnsip.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.rpcnsip; 11 | 12 | private import win32.rpcdce, win32.rpcdcep, win32.rpcnsi; 13 | 14 | struct RPC_IMPORT_CONTEXT_P { 15 | RPC_NS_HANDLE LookupContext; 16 | RPC_BINDING_HANDLE ProposedHandle; 17 | RPC_BINDING_VECTOR* Bindings; 18 | } 19 | alias RPC_IMPORT_CONTEXT_P* PRPC_IMPORT_CONTEXT_P; 20 | 21 | extern(Windows) { 22 | RPC_STATUS I_RpcNsGetBuffer(PRPC_MESSAGE); 23 | RPC_STATUS I_RpcNsSendReceive(PRPC_MESSAGE, RPC_BINDING_HANDLE*); 24 | void I_RpcNsRaiseException(PRPC_MESSAGE, RPC_STATUS); 25 | RPC_STATUS I_RpcReBindBuffer(PRPC_MESSAGE); 26 | RPC_STATUS I_NsServerBindSearch(); 27 | RPC_STATUS I_NsClientBindSearch(); 28 | void I_NsClientBindDone(); 29 | } 30 | -------------------------------------------------------------------------------- /win32/servprov.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * servprov.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW API for MS-Windows 3.10 * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.servprov; 11 | 12 | private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; 13 | 14 | interface IServiceProvider : IUnknown { 15 | HRESULT QueryService(REFGUID, REFIID, void**); 16 | } 17 | -------------------------------------------------------------------------------- /win32/shldisp.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * shldisp.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.shldisp; 11 | 12 | private import win32.unknwn, win32.windef, win32.wtypes; 13 | 14 | // options for IAutoComplete2 15 | const DWORD ACO_AUTOSUGGEST = 0x01; 16 | 17 | interface IAutoComplete : IUnknown { 18 | HRESULT Init(HWND, IUnknown, LPCOLESTR, LPCOLESTR); 19 | HRESULT Enable(BOOL); 20 | } 21 | alias IAutoComplete LPAUTOCOMPLETE; 22 | 23 | interface IAutoComplete2 : IAutoComplete { 24 | HRESULT SetOptions(DWORD); 25 | HRESULT GetOptions(DWORD*); 26 | } 27 | alias IAutoComplete2 LPAUTOCOMPLETE2; 28 | -------------------------------------------------------------------------------- /win32/shlguid.d: -------------------------------------------------------------------------------- 1 | /***********************************************************************\ 2 | * shlguid.d * 3 | * * 4 | * Windows API header module * 5 | * * 6 | * Translated from MinGW Windows headers * 7 | * * 8 | * Placed into public domain * 9 | \***********************************************************************/ 10 | module win32.shlguid; 11 | 12 | private import win32.basetyps, win32.w32api; 13 | 14 | // FIXME: clean up Windows version support 15 | 16 | // I think this is just a helper macro for other win32 headers? 17 | //MACRO #define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) 18 | 19 | -------------------------------------------------------------------------------- /win32/testcompile.bat: -------------------------------------------------------------------------------- 1 | @call :testuni 2 | @call :testuni -version=Unicode 3 | @goto :eof 4 | 5 | :testuni 6 | @call :testversion %* 7 | @call :testversion %* -version=Windows2000 8 | @call :testversion %* -version=WindowsXP 9 | @call :testversion %* -version=Windows2003 10 | @call :testversion %* -version=WindowsVista 11 | @call :testversion %* -version=Win32_Winsock1 12 | @call :testversion %* -version=IE7 13 | @goto :eof 14 | 15 | :testversion 16 | @call :testone -m32 %* 17 | @call :testone -m64 %* 18 | @goto :eof 19 | 20 | :testone 21 | dmd -I.. -c %* testall.d 22 | @if errorlevel 1 exit /b 1 23 | @goto :eof 24 | --------------------------------------------------------------------------------