| ThorVG v0.9

Static Public Member Functions | List of all members
Initializerfinal
ThorVG

A class that enables initialization and termination of the TVG engines. More...

## Static Public Member Functions
static Result | init (CanvasEngine engine, uint32_t threads) noexcept
| Initializes TVG engines. More...
static Result | term (CanvasEngine engine) noexcept
| Terminates TVG engines. More...

## Detailed Description

A class that enables initialization and termination of the TVG engines.

## Member Function Documentation

## ◆ init()

static Result init | ( | CanvasEngine | engine,
|  | uint32_t | threads
| ) |  |
| static noexcept

Initializes TVG engines.

TVG requires the running-engine environment. TVG runs its own task-scheduler for parallelizing rendering tasks efficiently. You can indicate the number of threads, the count of which is designated `threads`. In the initialization step, TVG will generate/spawn the threads as set by `threads` count.

Parameters

  [in] | engine | The engine types to initialize. This is relative to the Canvas types, in which it will be used. For multiple backends bitwise operation is allowed.
  [in] | threads | The number of additional threads. Zero indicates only the main thread is to be used.

Return values

  Result::Success | When succeed.
  Result::FailedAllocation | An internal error possibly with memory allocation.
  Result::InvalidArguments | If unknown engine type chosen.
  Result::NonSupport | In case the engine type is not supported on the system.
  Result::Unknown | Others.

Note
  The Initializer keeps track of the number of times it was called. Threads count is fixed at the first init() call.

See also
  Initializer::term()

## ◆ term()

static Result term | ( | CanvasEngine | engine | ) |
| static noexcept

Terminates TVG engines.

Parameters

  [in] | engine | The engine types to terminate. This is relative to the Canvas types, in which it will be used. For multiple backends bitwise operation is allowed

Return values

  Result::Success | When succeed.
  Result::InsufficientCondition | In case there is nothing to be terminated.
  Result::InvalidArguments | If unknown engine type chosen.
  Result::NonSupport | In case the engine type is not supported on the system.
  Result::Unknown | Others.

Note
  Initializer does own reference counting for multiple calls.

See also
  Initializer::init()