arsd

This package contains a variety of independent modules that I have written over my years of using D.

You can usually use them independently, with few or no dependencies.

Modules

bmp
module arsd.bmp

bmp impl for MemoryImage

characterencodings
module arsd.characterencodings

This is meant to help get data from the wild into utf8 strings so you can work with them easily inside D.

color
module arsd.color
csv
module arsd.csv
curl
module arsd.curl

curl wrapper, it sux

database
module arsd.database
docs
module arsd.docs
domconvenience
module arsd.domconvenience
email
module arsd.email
engine
module arsd.engine

The base class from which a game engine should inherit.

english
module arsd.english
eventloop
module arsd.eventloop

crappy event loop for linux

exception
module arsd.exception

A draft of a better way to do exceptions

gamehelpers
module arsd.gamehelpers

An add-on for simpledisplay.d, joystick.d, and simpleaudio.d that includes helper functions for writing games (and perhaps other multimedia programs). Whereas simpledisplay works with an event-driven framework, gamehelpers always uses a consistent timer for updates.

hmac
module arsd.hmac
html
module arsd.html

This module includes functions to work with HTML and CSS.

htmltotext
module arsd.htmltotext
htmlwidget
module arsd.htmlwidget

This module has a lot of dependencies

http
module arsd.http

Old version of my http implementation.

http2
module arsd.http2

This is version 2 of my http/1.1 client implementation.

image_tools
module arsd.image_tools
joystick
module arsd.joystick

HIGH LEVEL NOTES

jpeg
module arsd.jpeg

Loads a JPEG image from a memory buffer or a file. req_comps can be 1 (grayscale), 3 (RGB), or 4 (RGBA). On return, width/height will be set to the image's dimensions, and actual_comps will be set to the either 1 (grayscale) or 3 (RGB). Requesting a 8 or 32bpp image is currently a little faster than 24bpp because the jpeg_decoder class itself currently always unpacks to either 8 or 32bpp.

jpg
module arsd.jpg
jsvar
module arsd.jsvar

jsvar provides a D type called var that works similarly to the same in Javascript.

libssh2
module arsd.libssh2

Small wrapper for libssh2 just link with it on Linux it'll need a couple dlls and a lib on windows.

minigui
module arsd.minigui

minigui is a smallish GUI widget library, aiming to be on par with at least HTML4 forms and a few other expected gui components. It uses native controls on Windows and does its own thing on Linux (Mac is not currently supported but may be later, and should use native controls) to keep size down. The Linux appearance is similar to Windows 95 and avoids using images to maintain network efficiency on remote X connections.

minigui_addons
module arsd.minigui_addons

This package consists of additional widgets for arsd.minigui.

minigui_xml
module arsd.minigui_xml

A small extension module to arsd.minigu that adds functions for creating widgets and windows from short XML descriptions.

mssql
module arsd.mssql
mysql
module arsd.mysql

NOTE: If you're using MySQL client library v5.1 or greater, you must pass this to dmd: -version=MySQL_51 This is important - otherwise you will see bizarre segfaults!

oauth
module arsd.oauth
postgres
module arsd.postgres

minimal libpq wrapper

querygenerator
module arsd.querygenerator

Create SQL queries from string containing D expressions.

rtud
module arsd.rtud

This provides a kind of real time updates that can be consumed by javascript (and probably other things eventually).

script
module arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have has easy two-way interop with the host D program. The script language it implements is based on a hybrid of D and Javascript. The type the language uses is based directly on var from arsd.jsvar.

sha
module arsd.sha

homemade sha 1 and sha2 impls. beware of bugs.

simpleaudio
module arsd.simpleaudio

The purpose of this module is to provide audio functions for things like playback, capture, and volume on both Windows (via the mmsystem calls)and Linux (through ALSA).

simpledisplay
module arsd.simpledisplay

simpledisplay.d provides basic cross-platform GUI-related functionality, including creating windows, drawing on them, working with the clipboard, timers, OpenGL, and more. However, it does NOT provide high level GUI widgets. See my minigui.d, an extension to this module, for that functionality.

sqlite
module arsd.sqlite

Compile with version=sqlite_extended_metadata_available if your sqlite is compiled with the SQLITE_ENABLE_COLUMN_METADATA C-preprocessor symbol.

terminal
module arsd.terminal

Module for interacting with the user's terminal, including color output, cursor manipulation, and full-featured real-time mouse and keyboard input. Also includes high-level convenience methods, like Terminal.getline, which gives the user a line editor with history, completion, etc. See the examples.

time
module arsd.time
ttf
module arsd.ttf

TrueType Font rendering.

web
module arsd.web

magic web wrapper

web2
module arsd.web2

Web.d version 2.0

xwindows
module arsd.xwindows

This module is obsolete. Its functionality has been merged into simpledisplay.d. You can use it instead and abandon this.

zlib
module arsd.zlib

Compress/decompress data using the zlib library.

Suggestion Box / Bug Report