At present there are around 300+ exported routines which give you a solid low-level foundation for making any type of 2D game. You can build on top of this layer to any level of complexity that is required for your project. The API includes support for surfaces, textures, sprites, audio, streams, archives, databases, INI files, configuration variables, render targets, swap chains and much more. There is also support for event callbacks to you application. You can setup events to standard routines and/or class methods. It supports all the standard calling conventions so most any language can be use if there is a binding that exists for it.
In addition to the low-level, to the metal access, there exist a thin high level framework unit (Delphi only at the present time) p2dFramework that exports some classes that will give you enough high level support over the API to make it easy to get started with your projects in an object oriented way.
* Default language bindings for Delphi/Win32 (c/c++ bindings coming soon).
* Works with any language that supports standard Win32 DLLs.
* Events can be bound (to routines and methods) to any supported language using any standard calling convention (STDCALL, CDECL, REGISTER, PASCAL, MSFASTCALL).
* Uses Direct3D 9 for hardware 2D rendering.
* 32 bit surfaces and textures.
* Free scaling, rotation, alpha blending and other special effects.
* Windowed and full screen modes.
* Frame based timing support.
* INI file configuration support with config file variables.
* Configuration file variable support.
* Unified Streaming system (memory, file, EXE resources, zip archive).
* Can render to default application window or to a specified window handle.
* Advanced render target and swap chain support.
* Textured fonts (includes a font editor tool and support for custom fonts).
* Graphics primitives (lines, circles, rects, points).
* Advanced polygon rendering (scale, rotate, control line segment visibility).
* Support for rendering large images (640x480, 800x600, 1024x768 for example).
* Advanced sprite management.
* Polypoint collision system for fast precise collision detection.
* Mouse and keyboard input management.
* Unified audio system with support for WAV, MP3, MID, OGG, MOD, IT, S3M, XM streaming music and WAV samples.
* Comprehensive math routines (vectors, angles, line intersection, clipping).
* Log file support.
* Low-level access for raw nut & bolts power.
* Thin high-level framework (Delphi sources) for fast start using OOP.
* Robust and feature rich.