Support for [animated png|https://wiki.mozilla.org/APNG_Specification] files.
My minimal interface to https://github.com/p-h-c/phc-winner-argon2
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
Helper functions for generating database stuff.
A module mostly copied from https://github.com/trishume/ddbus
This is an html DOM implementation, started with cloning what the browser offers in Javascript, but going well beyond it in convenience.
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
This is version 2 of my http/1.1 client implementation.
this file imports all available image decoders, and provides convenient functions to load image regardless of it's format.
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.
jsvar provides a D type called var that works similarly to the same in Javascript.
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, though you can customize that.
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.
PNG file handling for color.d's Image interfaces
minimal libpq wrapper
Create SQL queries from string containing D expressions.
RSS/Atom feed reading
This provides a kind of real time updates that can be consumed by javascript (and probably other things eventually).
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.
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
This provides a kind of web template support, built on top of arsd.dom and arsd.script, in support of arsd.cgi.
A thin wrapper around common system webviews. Based on: https://github.com/zserge/webview
Cross platform window manager utilities for interacting with other unknown windows on the OS.
This module is obsolete. Its functionality has been merged into simpledisplay.d. You can use it instead and abandon this.
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.