Impl API

API required for extending Blend2D functionality.

Everything that is part of this group requires <blend2d-impl.h> to be included before the use as this API is only for users that extend Blend2D.

Classes

Atomic Operations

Impl Memory Management

These are additional functions that are exported and used by various object implementations inside Blend2D itself. Since Blend2D 'Impl' can use memory pools it's required that any third party code that extends Blend2D must also use these functions to allocate and free Blend2D 'Impl' objects.

Impl Reference Counting

Impl Initialization and Destruction

Miscellaneous

Function Documentation

template<typename T>
std::remove_volatile<T>::type blAtomicFetchAdd(T* x, typename std::remove_volatile<T>::type n = 1)static

Atomically increments n to value x. The old value is returned.

template<typename T>
std::remove_volatile<T>::type blAtomicFetchSub(T* x, typename std::remove_volatile<T>::type n = 1)static

Atomically decrements n from value x. The old value is returned.