Expand to a built-in numeric type of the same kind (signed integer / unsigned integer / floating-point) with at least additionalBits more bits of precision.
Blend two colors, where fg is a premultiplied color by its own alpha. We consider fg to be already scaled by (alpha/255) Return: (255-alpha)
Like std.typecons.Tuple, but a template mixin. Unlike std.typecons.Tuple, names may not be omitted - but repeating types may be.
Evaluates to array of strings with name for each field.
Instantiates to a color type. FieldTuple is the color specifier, as parsed by the FieldList template from ae.utils.meta. By convention, each field's name indicates its purpose: - x: padding - a: alpha - l: lightness (or grey, for monochrome images) - others (r, g, b, etc.): color information
Resolves to a Color instance with a different ChannelType.
Obtains the type of each channel for homogenous colors.
Wrapper around ExpandNumericType to only expand numeric types.
Expand to a built-in numeric type of the same kind (signed integer / unsigned integer / floating-point) with at least the indicated number of bits of precision.
Unsigned integer type big enough to fit N bits of precision.
Return the number of bits used to store the value part, i.e. T.sizeof*8 for integer parts and the mantissa size for floating-point types.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Vladimir Panteleev <vladimir@thecybershadow.net> Guillaume Piolat <contact@auburnsounds.com>
Color type and operations. Port of ae.utils.graphics.