├── 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 |
--------------------------------------------------------------------------------