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, so it is easy to use raw, or you can use dub packages as well.
Revision 6 (2014-09-21)
bmp impl for MemoryImage
Provides a uniform server-side API for CGI, FastCGI, SCGI, and HTTP web applications.
This is meant to help get data from the wild into utf8 strings so you can work with them easily inside D.
curl wrapper, it sux
A module mostly copied from https://github.com/trishume/ddbus
The base class from which a game engine should inherit.
crappy event loop for linux
A draft of a better way to do exceptions
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.
This module includes functions to work with HTML and CSS.
This module has a lot of dependencies
Old version of my http implementation.
This is version 2 of my http/1.1 client implementation.
This provides two image classes and a bunch of functions that work on them.
FIXME: a simple function to integrate with sdpy event loop. templated function
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.
Small wrapper for libssh2 just link with it on Linux it'll need a couple dlls and a lib on windows.
This file is a port of some old C code I had.
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.
This package consists of additional widgets for arsd.minigui.
A small extension module to arsd.minigui that adds functions for creating widgets and windows from short XML descriptions.
Implementation of the arsd.database.Database|database interface for accessing MySQL (and MariaDB) databases. Uses the official MySQL client library, and thus needs that installed to compile and run.
The NanoVega API is modeled loosely on HTML5 canvas API. If you know canvas, you're up to speed with NanoVega in no time.
minimal libpq wrapper
Create SQL queries from string containing D expressions.
homemade sha 1 and sha2 impls. beware of bugs.
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.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.
Compile with version=sqlite_extended_metadata_available if your sqlite is compiled with the SQLITE_ENABLE_COLUMN_METADATA C-preprocessor symbol.
NanoVega.SVG is a simple stupid SVG parser. The output of the parser is a list of drawing commands.
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.
TrueType Font rendering.
magic web wrapper
Web.d version 2.0
This module is obsolete. Its functionality has been merged into simpledisplay.d. You can use it instead and abandon this.
Compress/decompress data using the zlib library.